Jump to content
Invision Community
Sign in to follow this  
anhhungxdddcnnb

XIN LISP

Recommended Posts

Mình đang cần 1 lisp autocad khi chỉnh linewieght.

Nội dung của lisp như sau: Mình muốn khi đánh lệnh của lisp chỉ vào 1 nét vẽ (ví dụ nét tường màu 130) thì mình chỉ cần chỉ vào 1 nét vẽ của màu 130 sau đó chỉnh cho nó linewieght là 1 giá trị nào đó cho toàn bộ màu 130

Như 1 số lisp mình tìm hiểu như kk,ha,chlw thì lisp đó yêu cầu phải nhập đúng tên layer .C ái mình cần ở đây chỉ là 1 cú click rồi đặt nét.

Bạn nào có lisp tương tự hoặc đúng như thế cho mình xin với

Xin chân thành cám ơn

Share this post


Link to post
Share on other sites
TaiNguyen79    24

Mình đang cần 1 lisp autocad khi chỉnh linewieght.

Nội dung của lisp như sau: Mình muốn khi đánh lệnh của lisp chỉ vào 1 nét vẽ (ví dụ nét tường màu 130) thì mình chỉ cần chỉ vào 1 nét vẽ của màu 130 sau đó chỉnh cho nó linewieght là 1 giá trị nào đó cho toàn bộ màu 130

Như 1 số lisp mình tìm hiểu như kk,ha,chlw thì lisp đó yêu cầu phải nhập đúng tên layer .C ái mình cần ở đây chỉ là 1 cú click rồi đặt nét.

Bạn nào có lisp tương tự hoặc đúng như thế cho mình xin với

Xin chân thành cám ơn

Của bạn đây :

Chỉ cần chọn đối tượng mẫu là lw cả lớp đó sẽ giống như vậy


(defun c:lw_all (/ lw eg lay)

(if (= (getvar "lwunits") 0) (setvar "lwunits" 1))

(setq lw (cdr (assoc 370 (setq eg (entget (car (entsel "\nselect obj : ")))))) lay (cdr (assoc 8 eg)))

(cond ((null lw) (setq lw "bylayer")) ((= lw -2) (setq lw "Byblock")) ((= lw -3) (setq lw "default")) (T (setq lw (* 0.01 lw))))

(command ".change" (ssget "X" (list (cons 8 lay))) "" "P" "LW" lw ""))

Share this post


Link to post
Share on other sites
TaiNguyen79    24

Còn nếu muốn change theo màu thì dùng như vầy :


(defun c:lw_all (/ lw eg cor)

(if (= (getvar "lwunits") 0) (setvar "lwunits" 1))

(setq lw (cdr (assoc 370 (setq eg (entget (car (entsel "\nselect obj : ")))))) cor (cdr (assoc 62 eg)))

(if (null cor) (setq cor 256))

(cond ((null lw) (setq lw "bylayer")) ((= lw -2) (setq lw "Byblock")) ((= lw -3) (setq lw "default")) (T (setq lw (* 0.01 lw))))

(command ".change" (ssget "X" (list (cons 62 cor))) "" "P" "LW" lw ""))

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×