-
Số lượng nội dung
23 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
2
Bài đăng được đăng bởi Nguyễn Phương Quang
-
-
Vào lúc 6/10/2022 tại 14:48, vietduc147258 đã nói:Em có lisp chuyển layer khi Dim. Nhưng khi Dim góc thì có 2 trường hợp chọn đối tượng line với trường hợp là chọn point. Với 2 lệnh tương ứng là DAN và DAN2.
Các bác giúp em gộp 2 lệnh đó thành một với. Cảm ơn các bác đã quan tâm.
(defun c:DLI ()(Command ".DIMLINEAR" pause pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DAl ()(Command ".DIMALIGNED" pause pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DDI ()(Command ".DIMDIAMETER" pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DRA ()(Command ".DIMRADIUS" pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DAR ()(Command ".DIMARC" pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DAN ()(Command ".DIMANGULAR" pause pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DAN2()(Command ".DIMANGULAR" "" pause pause pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) ; Dim goc lon hon 180 do (Defun c:QD ()(Setvar "clayer" "DIM")(Prompt "\nChon doi tuong can Dim")(Setq ch (Ssget))(command "QDIM" ch "" Pause)(command "_LayerP")(Princ))
Bác dùng Lisp này thử xem!
;;;******************TU DONG CHUYEN LAYER THEO NET VE CAN DUNG********************
(vl-load-com)
(defun StartCommand (CALL CALLBACK / COMLAYLST)
(setq COMLAYLST (list
(list "DIMANGULAR" "DIM STYLE")
(list "DIMARC" "DIM STYLE")
(list "DIMALIGNED" "DIM STYLE")
(list "DIMBASELINE" "DIM STYLE")
(list "DIMCENTER" "DIM STYLE")
(list "DIMCONTINUE" "DIM STYLE")
(list "DIMDIAMETER" "DIM STYLE")
(list "DIMLINEAR" "DIM STYLE")
(list "DIMRADIUS" "DIM STYLE")
(list "QDIM" "DIM STYLE")
(list "LEADER" "DIM STYLE")
(list "MLEADER" "DIM STYLE")
(list "QLEADER" "DIM STYLE")
(list "HATCH" "VAT LIEU")
(list "MVIEW" "Defpoints")))
(if (setq N (assoc (strcase (car CALLBACK)) COMLAYLST))
(progn (setq *Currentlayers* (cons (getvar "CLAYER") *Currentlayers*))
(if (setq objLay(make_layers (cadr N)))
(vla-put-activelayer *DOC* objLay)))
(setq *Currentlayers* (cons nil *Currentlayers*)))
(princ))
(defun MAKE_LAYERS (LAY_NAM / LAYOBJ LAYSOBJ) (or *DOC* (setq *DOC* (vla-get-activedocument (vlax-get-acad-object))))
(setq LAYSOBJ (vla-get-layers *DOC*))
(if (tblobjname "layer" LAY_NAM) (setq LAYOBJ (vla-item LAYSOBJ LAY_NAM))
(setq LAYOBJ (vl-catch-all-apply 'vla-add (list LAYSOBJ LAY_NAM))))
(if (vl-catch-all-error-p LAYOBJ) (not (print (vl-catch-all-error-message LAYOBJ)))
(progn (if (= (strcase (vla-get-name LAYOBJ)) (strcase (getvar "clayer")))
(setvar "clayer" "0"))
(vla-put-lock LAYOBJ :vlax-false) (vla-put-layeron LAYOBJ :vlax-true) (vla-put-freeze LAYOBJ :vlax-false) LAYOBJ)))
(defun endCommand (CALL CALLBACK) (if *Currentlayers* (if (car *Currentlayers*)
(progn (vla-put-lock (vla-item (vla-get-layers *DOC*) (car *Currentlayers*)) :vlax-false) (setvar "CLAYER" (car *Currentlayers*)))))
(setq *Currentlayers* (cdr *Currentlayers*)))
(defun cancelCommand (CALL CALLBACK) (if *Currentlayers* (if (car *Currentlayers*)
(progn (vla-put-lock (vla-item (vla-get-layers *DOC*) (car *Currentlayers*)) :vlax-false) (setvar "CLAYER" (car *Currentlayers*)))))
(setq *Currentlayers* (cdr *Currentlayers*)))
(defun C:LAYER_ON ()
(and *vlr-CWS (not (vlr-added-p *vlr-CWS)) (vlr-add *vlr-CWS))
(and *vlr-CE (not (vlr-added-p *vlr-CE)) (vlr-add *vlr-CE))
(and *vlr-CC (not (vlr-added-p *vlr-CC)) (vlr-add *vlr-CC))
(or *vlr-CWS (setq *vlr-CWS (vlr-command-reactor nil '((:vlr-commandwillstart . StartCommand)))))
(or *vlr-CE (setq *vlr-CE (vlr-command-reactor nil '((:vlr-commandEnded . endCommand)))))
(or *vlr-CC (setq *vlr-CC (vlr-command-reactor nil '((:vlr-commandCancelled . cancelCommand)))))
(princ "\nLayer Reactor ON")
(princ))
(C:LAYER_ON)
(defun C:LAYER_OFF ()
(and *vlr-CWS (vlr-added-p *vlr-CWS) (vlr-remove *vlr-CWS))
(and *vlr-CE (vlr-added-p *vlr-CE) (vlr-remove *vlr-CE))
(and *vlr-CC (vlr-added-p *vlr-CC) (vlr-remove *vlr-CC))
(princ "\nLayer Reactor OFF")
(princ))- 1
-
2 phút trước, Duong Nhat Duy đã nói:Là lệnh TL đó bạn, mình nói trên phần hướng dẫn r mà.
Zalo mình: 0922161194
E biết là có lệnh TL! Nhưng ý em là khi load lisp xong thì thực hiện luôn lệnh DT... thì nó sẽ ghi ra kết quả như vậy! Ko phải vào lệnh TL để thiết lập!
- 1
-
1 giờ} trướ}c, Duong Nhat Duy đã nói:À! Đó là setup mặc định của Lisp! Nghĩa là khi load Lisp xong thì có thể sử dụng luôn! Ko phải vào để thiết lập bác ạ!
Mà bác có thể cho em xin số Zalo của bác ko ạ? E có một số vấn đề cần trao đổi với bác về Lisp này ạ!
-
Vào lúc 4/1/2023 tại 09:51, Nguyễn Hà Huy đã nói:cho mk hỏi giờ muốn lisp ra số mà nó tự chia cho 1000 hoặc 1000000 thì sửa như nào vậy, vd: lisp ra 2344750003.626 muốn nó về 2344.75 thôi ấy
Bác tìm dòng (setq 3DUY-TDT-UNIT 1) và sửa số 1 thành 0.000001 (tương đương với mm)
Tiền tố: Dòng (3DUY-TDT-PREFIX . "") sửa thành (3DUY-TDT-PREFIX . "S = ")
Hậu tố: Dòng (3DUY-TDT-SUFFIX . "") sửa thành (3DUY-TDT-SUFFIX . " (M2)")
Kết quả ghi diện tích sẽ như trong hình
-
10 phút trước, 7o7 đã nói:Thay đổi snap bằng cách nào? Trước khi load lisp của bạn tôi chỉ bật vài ónap, load lisp xong chưa chạy líp của mình nó đã ra như vậy rồi thì chỉnh cách nào? Bạn đưa vlx lên thì muốn sửa code cung chẳng được .
Mình code lại rồi! Bạn load lại thử xem?
-
2 phút trước, 7o7 đã nói:Thay đổi snap bằng cách nào? Trước khi load lisp của bạn tôi chỉ bật vài ónap, load lisp xong chưa chạy líp của mình nó đã ra như vậy rồi thì chỉnh cách nào?
Ý mình là! Nếu như bạn muốn bật những Snap nào thì có thể sửa code trong lisp! Để khi bạn load lisp nó cũng chỉ reset những snap như lúc bạn chưa load lisp thôi!
-
-
Vào lúc 11/9/2022 tại 09:24, HVQ01 đã nói:Các a cho em hỏi, em tìm trên diễn đàn và tải lisp thay đổi thuộc tính của hatch tuy nhiên mỗi lần dùng xong toàn bộ osnap bị tắt hết, em có khắc phục bằng cách sử dụng lisp reset osnap (RSV) của anh ketxu nhưng vẫn không được và không hiểu nguyên nhân do đâu. Nhờ các a xem và sửa giúp em lỗi này được không ạ.
Tặng bác Lisp Auto Reset OSNAP (Pro) v2.VLX này! Đảm bảo với bác nó sẽ tự bật lại Osnap sau khi bác thực hiện xong Lisp hoặc bỏ dở thực hiện Lisp giữa chừng! Lisp này chỉ khi sử dụng Lisp nó mới phát huy tác dụng!
-
2 giờ trước, ketxu đã nói:Hình như cái này hơi quá, command thủ công cũng reset lun òi
Mình đã sửa lại rồi! Nó chỉ Reser Osnap khi dùng Lisp thôi!
-
Vào lúc 1/4/2018 tại 23:30, khongban231 đã nói:ai có lisp cắt các đường line, pline giao với nhiều hình khác nhau cho mình với, không bạn nào viết giúp mình đc không?
Hi vọng nó đúng với yêu cầu của bác! Bác có thể tham khảo Video bên dưới!
-
6 phút trước, dinhvantrang đã nói:Bạn vào trang của Lee Mac tải về và xem cách dùng lisp đó nhé. Cái của bạn chỉ là nhỏ trong đó thôi
Cảm ơn bạn rất nhiều ạ!
-
Vừa xong, dinhvantrang đã nói:http://www.lee-mac.com/numinc.html
tham khảo cái này dc không
Cái này là cái gì vậy bác!
-
Hiện tại em đang sử dụng Lips sao chép theo số thứ tự tăng dần trong Block thuộc tính của bác SSG. Nhưng khi sao chép thì chỉ có phần số là tăng dần từ 1 2 3 ..., còn đến phần chữ. Ví dụ như em muốn sao chép A B C D ... thì nó lại ra A1 A2 A3 ...! Bác nào giỏi về Lisp sửa giúp em với!
-
Video hướng dẫn sử dụng:
Ghi chú: Tất cả các Lisp mình đều sưu tầm trên https://www.cadviet.com. Và có một số chỉnh sửa!
01. Cân bằng chân Dim (Lệnh: CD): http://vnlink.top/ILSSJO
02. Căn bằng đầu Dim (Lệnh: BD): http://vnlink.top/elC02k
03. Vẽ nét cắt 1 (Lệnh: NC): http://vnlink.top/XHBKFy
04. Vẽ nét cắt 2 (Lệnh: NNC): http://vnlink.top/1trXco
05. Vẽ nét cắt cột tròn (Lệnh: NCC): http://vnlink.top/2hzvOa
06. Nối nhiều đối tượng với nhau thành 1 đối tượng (Lệnh: N): http://vnlink.top/eetUfe
07. Chia đối tượng thành các phần bằng nhau (Lệnh: CL): http://vnlink.top/Am0PvX
08. Chuyển từ Model sang Layout và ngược lại (Lệnh: C): http://vnlink.top/kkC0hL
09. Sao chép Text theo số thứ tự tăng dần (Lệnh: CS): http://vnlink.top/itQQ3p
10. Sao chép Text Block Attribute theo số thứ tự tăng dần (Lệnh: CSS): http://vnlink.top/uf2APM
11. Vẽ cửa đi 1 cánh (Lệnh: C1): http://vnlink.top/S2cQ1a
12. Vẽ cửa đi 2 cánh (Lệnh: C2): http://vnlink.top/onbQK8
13. Đặt tỉ lệ Viewport trong Layout (Lệnh: TL): http://vnlink.top/djE3j3
14. Khóa mở Viewport trong Layout (Lệnh: K): http://vnlink.top/cNBuoK
15. Mở khóa tất cả các Layer (Lệnh: MKA): http://vnlink.top/kFI7vQ
16. Offset đối tượng sang hai bên với 1 khoảng cách cho trước (Lệnh: 46): http://vnlink.top/bkpaZV
17. Cộng các Dim (Lệnh: CDS): http://vnlink.top/ds3gaB
18. Vẽ cầu thang (Lệnh: VCT): http://vnlink.top/r1OaKz
19. Break đối tượng (Lệnh: BF): http://vnlink.top/xji9Y5
20. Vẽ đường hàn (Lệnh: HX - HH): http://vnlink.top/mpWc5h
21. Vẽ Taluy (Lệnh: VLT0 - VTL1 - VTL2): http://vnlink.top/QdQSKy
22. Vẽ tường bao từ tim hoặc trục (Lệnh: VTT): http://vnlink.top/h0espf
23. Kéo dài 2 đầu đoạn thẳng với 1 kích thước cho trước (Lệnh: KK): http://vnlink.top/RJSIRF
24. Vẽ thép âm (Lệnh: SA): http://vnlink.top/8xem9q
25. Vẽ thép trên (Lệnh: SD): http://vnlink.top/1mxuM6
26. Cắt chân Dim cách 1 đường thẳng có giá trị cho trước (Lệnh: KN): http://vnlink.top/eKBqqg
27. Thay đổi góc của Hatch (Lệnh: HA): http://vnlink.top/fSBndr
28. Thay đổi tỉ lệ Hatch (Lệnh: HS): http://vnlink.top/oi2x09
29. Cộng tổng chiều dài các đối tượng (Lệnh: TC): http://vnlink.top/mjwMYz
30. Hiện mã màu của Layer (Lệnh: HM): http://vnlink.top/YB8pWW
31. Ẩn - Hiện từng đối tượng (Lệnh: A1 - A2): http://vnlink.top/sGgeKx
32. Quét rác Purge (Lệnh: QQ): http://vnlink.top/ylOLfj
33. Sao chép 1 đối tượng ra nhiều đối tượng có khoảng cách bằng nhau (Lệnh: CA): http://vnlink.top/AAjGgs
34. Tính diện tích vùng Hatch (Lệnh: TDT): http://vnlink.top/CTIN5f
35. Đóng tất cả bản vẽ (Lệnh: CSN - CSY): http://vnlink.top/J82Wov
-
.VLX là dạng 1 file Lisp đã được mã hóa! Không có chương trình dịch ngược .VlX to .LSP!
MPL-MultiPlot _ in nhiều bản vẽ trong file DWG (Layout + Model)
trong AutoLisp
Đã đăng · Trả lời báo cáo
Mình dùng Cad 2024! Mỗi lần chỉ in được một file cad! Muốn in file cad tiếp theo lại phải tắt hoàn toàn cad đi sau đó mở lại mới in tiếp được!