Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
ginger

Lisp Chuyển Tất Cả Các Layer Leader Về Cùng Một Layer!

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

Như tiêu để em nhờ các anh chị em viết giúp em lisp chuyển tất cả các layer leader về cùng một layer ạ . Em xin chân thành cảm ơ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

Vậy lâu bác ạ ! Em tìm ở cad viet có lisp làm được điều đó cho text dim block nhưng chưa có cho leader

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

Vậy lâu bác ạ ! Em tìm ở cad viet có lisp làm được điều đó cho text dim block nhưng chưa có cho leader

 

Thử viết 1 ít xem thế nào.    :D  :D  :D

Lệnh "FINDL" bác nhé, xem có đúng yêu cầu ko !

 

(defun c:findl ()
  (command "cmdecho" 0)
  (setq sleader (ssget "X" '((0 . "LEADER"))))
  (setq slayer (getstring "Moi Dai Ca nhap ten New Layer : \n"))
  (command "-layer" "n" slayer "c" "1" slayer "" )
  (command ".change" sleader "" "p" "la" slayer "" )
  (princ)
  )
 
Số "1" là màu layer, bác có thể thay đổi cho phù hợp.

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

Gửi bạn

 

(defun c:fl (/)

(print "\nChon LEADER de chuyen layer ")

(setq ss (ssget '((-4 . "<AND") (0 . "LEADER") (-4 . "AND>"))) ;_ ssget

) ;_ setq

(setq ent (entget (car (entsel "\nChon 1 Layer de Set Current: "))) ;_ entget

) ;_ setq

(if ent

(progn (setq lay (cdr (assoc 8 ent)))

(command "change" ss "" "p" "LA" lay "")

(print (strcat "\nDa chuyen "

(itoa (sslength ss))

" doi tuong LEADRER ve layer : "

lay

) ;_ strcat

) ;_ print

) ;_ progn

) ;_ if

)

  • 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

Gửi bạn

 

(defun c:fl (/)

(print "\nChon LEADER de chuyen layer ")

(setq ss (ssget '((-4 . "<AND") (0 . "LEADER") (-4 . "AND>"))) ;_ ssget

) ;_ setq

(setq ent (entget (car (entsel "\nChon 1 Layer de Set Current: "))) ;_ entget

) ;_ setq

(if ent

(progn (setq lay (cdr (assoc 8 ent)))

(command "change" ss "" "p" "LA" lay "")

(print (strcat "\nDa chuyen "

(itoa (sslength ss))

" doi tuong LEADRER ve layer : "

lay

) ;_ strcat

) ;_ print

) ;_ progn

) ;_ if

)

em cảm ơ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

Gửi bạn

 

(defun c:fl (/)

(print "\nChon LEADER de chuyen layer ")

(setq ss (ssget '((-4 . "<AND") (0 . "LEADER") (-4 . "AND>"))) ;_ ssget

) ;_ setq

(setq ent (entget (car (entsel "\nChon 1 Layer de Set Current: "))) ;_ entget

) ;_ setq

(if ent

(progn (setq lay (cdr (assoc 8 ent)))

(command "change" ss "" "p" "LA" lay "")

(print (strcat "\nDa chuyen "

(itoa (sslength ss))

" doi tuong LEADRER ve layer : "

lay

) ;_ strcat

) ;_ print

) ;_ progn

) ;_ if

)

bác ơi lisp báo lỗi bác ạ 

  • Vote giảm 2

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

Lỗi gì vậy bạn?

Bạn copy đoạn mã trên bằng Ctrl+C

vào autocad, gõ lệnh vlide

dán vào = Ctrl+V, save as thành 1 file *.lsp

apload file trên

gõ lệnh FL là xong

(nếu bạn muốn chọn DIMENSION thì thay dòng lệnh trên từ LEADER sang DIMENSION)

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

Lỗi gì vậy bạn?

Bạn copy đoạn mã trên bằng Ctrl+C

vào autocad, gõ lệnh vlide

dán vào = Ctrl+V, save as thành 1 file *.lsp

apload file trên

gõ lệnh FL là xong

(nếu bạn muốn chọn DIMENSION thì thay dòng lệnh trên từ LEADER sang DIMENSION)

khi em chọn leader để chuyển layer thì báo không có đối tượng được chọ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

khi em chọn leader để chuyển layer thì báo không có đối tượng được chọn ạ !

 

Chứng tỏ: các đối tượng có ý định chọn không phải là Leader.

Chẩn đoán lâm sàng, hoặc:

- Leader bị explode.

- Bị group , block...

- MULTILEADER

*** Thử dùng lệnh LIST rồi pick vào đối tượng xem CAD nó báo là 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

Chứng tỏ: các đối tượng có ý định chọn không phải là Leader.

Chẩn đoán lâm sàng, hoặc:

- Leader bị explode.

- Bị group , block...

- MULTILEADER

*** Thử dùng lệnh LIST rồi pick vào đối tượng xem CAD nó báo là gì!

Nó nằm ở trường hợp màu đỏ là Multileader không phải leader, trong lsp trên bạn có thể thay LEADER bởi MULTILEADER

Chẩn đoán không sai nhỉ! hehe...Lần sau nhớ đọc kỹ hướng dẫn trước khi sử dung.

  • 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ác ơi lisp báo lỗi bác ạ 

Thay chút xíu đoạn code của bác VUVUZELA:  

 

(setq ss (ssget '((-4 . "<AND") (0 . "LEADER") (-4 . "AND>"))) ;_ ssget

Bằng: 

(setq ss (ssget '((-4 . "<or") (0 . "LEADER") (0 . "MULTILEADER") (-4 . "or>"))) ;_ ssget

 

  ;)  ;) Rồi chạy lại coi kết quả 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

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
Đăng nhập để thực hiện theo  

×