Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đă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ị

ginger    10

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
ginger    10

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
Danh Cong    113

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
VUVUZELA    98

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
ginger    10

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
ginger    10

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
VUVUZELA    98

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
ginger    10

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
quocmanh04tt    385

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
quocmanh04tt    385

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
Danh Cong    113

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  

×