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

Nguyễn Phương Quang

Thành viên
  • 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


  1. 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))

    • Vote tăng 1

  2. 1 giờ} trướ}c, Duong Nhat Duy đã nói:

    Sao phải phức tạp vậy bạn ??? Có cả 1 cái bảng thiết lập cho bạn tha hồ sửa luôn mà !

    Screenshot_1.png.f77ac3170b41c4edfdfb6d4070c5d2a2.png

    À! Đó 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 ạ!


  3. 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

    2023-05-12_012706.png


  4. 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!


  5. 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 ạ.

    RSV.rar

    Thay doi thuoc tinh cua hatch - hma_hmna.lsp

    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!

    Auto Reset OSNAP (Pro) v2.rar


  6. 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!

     

    od_oc_oca.lsp

    Screenshot 2018-06-15 23.33.26.png


  7. 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

×