Đến nội dung


Hình ảnh
- - - - -

Sửa giúp lisp chọn nhiều layer?


  • Please log in to reply
1 reply to this topic

#1 quangthanhdu

quangthanhdu

    biết vẽ rectang

  • Members
  • PipPip
  • 89 Bài viết
Điểm đánh giá: 6 (bình thường)

Đã gửi 13 November 2010 - 07:31 AM

Em siêu tầm được cái lisp chọn nhiều layer nhưng khi sử dụng, đối tượng được chon không thể hiện (thông thường trong cad khi đối tượng được chon sẽ thể hiện nét đữt),nên không biết layer đó mình đã chọn hay chưa? Mọi người chỉnh sửa lại giúp.


(defun C:SLL (/ e lay ss layl)
(setq layl ""
ss (ssadd)
)
(while (setq e (nentsel "\nSelect entity on a layer : "))
(setq layl (strcat layl "," (cdr (assoc 8 (entget (car e))))))
) ;while
(setq layl (substr layl 2))
(if (> layl "")
(setq ss (ssget "_X" (list (cons 8 layl))))
)
(if (zerop (getvar "CMDACTIVE"))
(progn (sssetfirst ss ss)
(princ "Use 'P' for this selection set: ")
)
)
ss
)

(princ "\nVTH")
(princ)
  • 0

#2 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 13 November 2010 - 08:54 AM

Em siêu tầm được cái lisp chọn nhiều layer nhưng khi sử dụng, đối tượng được chon không thể hiện (thông thường trong cad khi đối tượng được chon sẽ thể hiện nét đữt),nên không biết layer đó mình đã chọn hay chưa? Mọi người chỉnh sửa lại giúp.
(defun C:SLL (/ e lay ss layl)
(setq layl ""
ss (ssadd)
)
(while (setq e (nentsel "\nSelect entity on a layer : "))
(setq layl (strcat layl "," (cdr (assoc 8 (entget (car e))))))
) ;while
(setq layl (substr layl 2))
(if (> layl "")
(setq ss (ssget "_X" (list (cons 8 layl))))
)
(if (zerop (getvar "CMDACTIVE"))
(progn (sssetfirst ss ss)
(princ "Use 'P' for this selection set: ")
)
)
ss
)

(princ "\nVTH")
(princ)


Thay đoạn code này
(setq layl ""
ss (ssadd)
)
(while (setq e (nentsel "\nSelect entity on a layer : "))
(setq layl (strcat layl "," (cdr (assoc 8 (entget (car e))))))
) ;while

Bằng đoạn code này
(setq layl "" ss (ssget) i 0)
(repeat (sslength ss) (setq layl (strcat layl "," (cdr (assoc 8 (entget (ssname ss i))))) i (1+ i)))
(setq ss (ssadd))

PS: xoá 2 biến định nghĩa thừa là elay ở dòng đầu tiên nữa nhé
  • 1

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD