Chuyển đến nội dung
Diễn đàn CADViet
pappap

Lisp ve taluy

Các bài được khuyến nghị

Chào các bạn

cho tôi hỏi có bạn nào có lisp vẽ taluy ko. tôi thường phải vẽ mô tả taluy nhưng vẽ thủ công mệt quá

cảm ơn các bạn!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chào các bạn

cho tôi hỏi có bạn nào có lisp vẽ taluy ko. tôi thường phải vẽ mô tả taluy nhưng vẽ thủ công mệt quá

cảm ơn các bạn!

Bạn hãy nói rõ hơn, tốt nhất là upload file DWG mẫu.

Mọi người sẽ có cơ hội giúp bạn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chào các bạn

cho tôi hỏi có bạn nào có lisp vẽ taluy ko. tôi thường phải vẽ mô tả taluy nhưng vẽ thủ công mệt quá

cảm ơn các bạn!

 

Hàng về rồi...hihi

 

http://www.cadviet.com/upfiles/VTLW1.lsp

 

Thử nghiên cứu cái này đi.

 

1. Load vào CAD

2. Lệnh TL0 để khai báo tham số

3. Lệnh TL1 để vẽ đường taluy đơn

4. Lệnh TL2 để vẽ đường taluy đôi

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cảm ơn bác nhé, em toàn chơi lệnh rải taluy trong Nova, nhưng cái này cũng phải tốn công sức sửa lại rất nhiều. Thử cái của bác chắc tiết kiệm thời gian hơn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cái lisp này hay nhưng em mở file ra thấy toàn ký tự lằng nhằng(em thấy có chữ AutoCAD PROTECTED LISP file), các bác cho em hỏi làm thế nào để mã hoá như vậy được ạ, để em đỡ phải tạo ra cái file *.vlx cho mệt! thanks?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cái lisp này hay nhưng em mở file ra thấy toàn ký tự lằng nhằng(em thấy có chữ AutoCAD PROTECTED LISP file), các bác cho em hỏi làm thế nào để mã hoá như vậy được ạ, để em đỡ phải tạo ra cái file *.vlx cho mệt! thanks?

Chưa biết cách tạo file Protected lisp sao Xaydung đã biết nó đỡ mệt hơn vlx?

Cách này không an toàn đâu, dịch ngược trở lại là được 100% code luôn.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

bạn dùng thử cái này xem sao, sau khi AP

lệnh là :

vtl0 : thiết lập thông số

vtl1 : vẽ ngay lập tức

chắc là ổn đấy

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
bạn dùng thử cái này xem sao, sau khi AP

lệnh là :

vtl0 : thiết lập thông số

vtl1 : vẽ ngay lập tức

chắc là ổn đấy

 

Cái này là cái nào :) ???

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Đây là file lisp vẽ ta luy VTL.LSP không mã hoá ,các lệnh vẫn giống file VTLW1.lsp của elleHCSC ( Không biết chừng nó là 1 cũng nên)

Nghĩa là :

1. Lệnh TL0 để khai báo tham số

2. Lệnh TL1 để vẽ đường taluy đơn

3. Lệnh TL2 để vẽ đường taluy đôi

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;vtl;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(setq ktdoantaluy1 0.2 ktdoantaluy2 0.4 khoangcachtl 0.2 chieutaluy 1

sodoan 0 sodoanngan 4)

;Ve taluy tren 1 doan

(defun ve1doantaluy ( p1 p2 / pvt diemcu ktdoantaluy ketthuc )

(setq pvt (+ (angle p1 p2) (* (/ pi 2) chieutaluy)))

(setq ketthuc 1)

(if (< sodoan sodoanngan)

(progn

(setq ktdoantaluy ktdoantaluy1)

(setq sodoan (1+ sodoan))

)

(progn

(setq ktdoantaluy ktdoantaluy2)

(setq sodoan 0)

)

)

(setq p2 (polar p1 pvt ktdoantaluy))

(command "_.Line" p1 p2 "")

(setq dem (1+ dem))

)

 

(Defun xddsd ( com epl kc / e0 e p dsd )

(setq e0 (entlast))

(while e0

(setq e e0)

(setq e0 (entnext e0))

)

(command com epl kc)

(setq e (entnext e))

(while e

(setq p (cdr (assoc 10 (entget e))))

(if p

(setq dsd (cons p dsd))

)

(setq e (entnext e))

)

(command "_.Undo" 1)

(setq dsd dsd)

)

; ve ta luy cho 1 doi tuong

(Defun vetaluy ( ep / le e ketthuc them dsd thutu)

(setq dem 0)

(setq e (entget (car ep)))

; (if (or (= (cdr (assoc 0 e)) "POLYLINE")

; (= (cdr (assoc 0 e)) "LINE")

; (= (cdr (assoc 0 e)) "ARC")

; (= (cdr (assoc 0 e)) "CIRCLE"))

(if (or (= (cdr (assoc 0 e)) "LWPOLYLINE") (= (cdr (assoc 0 e)) "POLYLINE"))

(setq ketthuc 1)

(prompt "Doi tuong duoc chon khong hop le")

)

(if ketthuc

(progn

(setq thutu 0)

(setq dsd (xddsd "_.Measure" ep khoangcachtl))

(setq p1 (car dsd))

(repeat (1- (length dsd))

(setq thutu (1+ thutu))

(setq p2 (nth thutu dsd))

(ve1doantaluy p1 p2)

(setq p1 p2)

)

)

)

(setq dem dem)

)

(Defun C:vtl1 ( / il ill ep chon lai solan )

(setq il (getvar "cecolor"))

(setq ill (getvar "osmode"))

(setvar "osmode" 0)

(setvar "cecolor" "9")

(setvar "cmdecho" 0)

(setvar "blipmode" 0)

(command "undo" "g")

(setq ep 1)

(while ep

(setq solan 0 chieutaluy 1)

(setq ep (entsel))

(if ep

(progn

(setq solan (vetaluy ep))

(setq chon (getstring "u-UNDO/c-Change side"))

)

)

(if chon (setq chon (strcase chon nil)))

(if (= chon "U")

(command "_.Undo" solan)

)

(if (= chon "C")

(progn

(setq chieutaluy -1)

(command "_.Undo" solan)

(setq solan (vetaluy ep))

)

)

(setq chon nil)

)

(setvar "cecolor" il)

(setvar "osmode" ill)

(command "undo" "e")

)

(Defun C:vtl0 ( / tg )

(setq tg (getreal (strcat "Chieu dai doan ngan<" (rtos ktdoantaluy1 2 2) ">:")))

(if tg (setq ktdoantaluy1 tg))

(setq tg (getreal (strcat "Chieu dai doan dai<" (rtos ktdoantaluy2 2 2) ">:")))

(if tg (setq ktdoantaluy2 tg))

(setq tg (getreal (strcat "Khoang cach giua cac doan<" (rtos khoangcachtl 2 2) ">:")))

(if tg (setq khoangcachtl tg))

(setq tg (getint (strcat "So doan ngan trong 1 doan dai<" (rtos sodoanngan 2 0) ">:")))

(if tg (setq sodoanngan tg))

)

 

(Defun ve1doantaluy1 ( p1 p2 / d pv diemcu ktdoantaluy ketthuc )

(if (and p1 p2)

(progn

(setq ketthuc 1)

(setq pv (angle p1 p2))

(setq d (distance p1 p2))

(setq d (* d (/ ktdoantaluy1 ktdoantaluy2)))

(setq pv (polar p1 pv d))

(if (< sodoan sodoanngan)

(progn

(setq p2 pv)

(setq sodoan (1+ sodoan))

)

(progn

(setq p2 p2)

(setq sodoan 0)

)

)

(command "_.Line" p1 p2 "")

(setq dem (1+ dem))

)

)

(setq dem dem)

)

(Defun vetaluy1 ( ep1 ep2 dao / le e1 e2 ketthuc them thutu )

(setq dem 0)

(setq e1 (entget (car ep1)))

(setq e2 (entget (car ep2)))

; (if (and (or (= (cdr (assoc 0 e1)) "POLYLINE")

; (= (cdr (assoc 0 e1)) "LINE")

; (= (cdr (assoc 0 e1)) "ARC")

; (= (cdr (assoc 0 e1)) "CIRCLE"))

; (or (= (cdr (assoc 0 e2)) "POLYLINE")

; (= (cdr (assoc 0 e2)) "LINE")

; (= (cdr (assoc 0 e2)) "ARC")

; (= (cdr (assoc 0 e2)) "CIRCLE"))

; )

(if (and (= (cdr (assoc 0 e1)) "POLYLINE") (= (cdr (assoc 0 e)) "LWPOLYLINE"))

(setq ketthuc 1)

(prompt "Doi tuong duoc chon khong hop le")

)

(if ketthuc

(progn

(setq thutu 0)

(setq dsd1 (xddsd "_.Measure" ep1 khoangcachtl))

(setq dsd2 (xddsd "_.Divide" ep2 (length dsd1)))

(if dao

(setq dsd2 (reverse dsd2))

)

(repeat (length dsd1)

(setq p1 (nth thutu dsd1))

(setq p2 (nth thutu dsd2))

(setq thutu (1+ thutu))

(ve1doantaluy1 p1 p2)

)

)

)

(setq dem dem)

)

 

(Defun C:vtl2 ( / ep1 ep2 chon lai solan dsd1 dsd2 )

(setvar "blipmode" 0)

(command "undo" "g")

(setq solan 0 ep1 1 ep2 1)

(while (and ep1 ep2)

(setq chieutaluy 1)

(setq ep1 (entsel "\nDoi tuong thu nhat:"))

(setq ep2 (entsel "\nDoi tuong thu hai:"))

(if (and ep1 ep2)

(progn

(setq solan (vetaluy1 ep1 ep2 nil))

(setq chon (getstring "u-UNDO/c-Change side"))

)

)

(if chon (setq chon (strcase chon nil)))

(if (= chon "U")

(command "_.Undo" solan)

)

(if (= chon "C")

(progn

(setq chieutaluy -1)

(command "_.Undo" solan)

(setq solan (vetaluy1 ep2 ep1 nil))

)

)

(setq chon nil)

)

(command "undo" "g")

)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

lisp của bạn lamtecco2 không dùng được.Khi gõ lệnh tl0,tl1,tl2 thì báo unknow commend!

lisp elleHCSC dùng tốt nhưng chỉ dải được taluy trên đường poliline.Có lisp nào dải trên đường spl không nhỉ?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chào các bạn

cho tôi hỏi có bạn nào có lisp vẽ taluy ko. tôi thường phải vẽ mô tả taluy nhưng vẽ thủ công mệt quá

cảm ơn các bạn!

-Cái này thì ko cần phải Lisp , bạn học cách tạo các đường linetype sẽ được thôi. Theo như lisp ta luy trên thì các taluy sau khi được tạo sẽ rời rạc, nên nếu bạn cần hiệu chỉnh thì nó ko cơ động cho lắm

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Có lisp nào dải trên đường spl không nhỉ?

Lisp này vẽ taluy giới hạn bởi 2 đường, vẽ kiểu gì cũng được, đã thử qua, mình cũng tìm thấy trên mạng, anh em dùng thử.

http://www.cadviet.com/upfiles/2/taluy.rar

HD :

1-Bạn load 2 file (kèm theo)

2- Command: bat1

3-[C]ut or [F]ill batter: Bạn chọn đường line 1

4- Interval <2.00>: ( khoảng cách giữa 2 đường taluy) mặc định là 2

5- [C]ut or [F]ill batter: F

6- enter

 

PS: nguồn : thanhgia.tk :cheers:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×