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

Xin Lisp Về Layer

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

Mong các bác giúp đỡ. em có 1 bản vẽ mà có nhiều mẫu em copy của người khác, trong đó nhiều layer rất lộn xộn trong khi  Công ty em chỉ dùng 3 layer chính : STEEL ( nét liền) , HIDDEN LINE ( nét đứt) , GRID LINE ( nét tâm). em muốn tất cả các layer nét đứt chuyển về HIDDEN LINE , tất cả nét liền về layer STEEL , và nét tâm chuyển về GRID LINE.  mong các bác hồi âm sớm.

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

-Nét liền = "Continuous"

-Nét tâm = "CENTER,CENTER2,CENTERX2"

-Còn lại là nét đứt

(defun c:TRL ( / cmd ss lst info dxf6 dxf62)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq ss (ssget))
(if ss
	(progn
		(setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
		(foreach elem lst
			(cond	((or (and (null (assoc 6 (setq info (entget elem))))
							(wcmatch (cdr (assoc 6 (entget (tblobjname "layer" (cdr (assoc 8 info)))))) "Continuous")
						)
						(and (assoc 6 info) (wcmatch (cdr (assoc 6 info)) "Continuous"))
					)
						(if (setq dxf6 (assoc 6 info)) (setq info (subst (cons 6 "ByLayer") dxf6 info)))
						(if (setq dxf62 (assoc 62 info)) (setq info (subst (cons 62 256) dxf62 info)))
						(setq info (subst (cons 8 "STEEL") (assoc 8 info) info))
						(entmod info)
					)
					((or (and (null (assoc 6 info))
							(wcmatch (cdr (assoc 6 (entget (tblobjname "layer" (cdr (assoc 8 info)))))) "CENTER,CENTER2,CENTERX2")
						)
						(and (assoc 6 info) (wcmatch (cdr (assoc 6 info)) "CENTER,CENTER2,CENTERX2"))
					)
						(if (setq dxf6 (assoc 6 info)) (setq info (subst (cons 6 "ByLayer") dxf6 info)))
						(if (setq dxf62 (assoc 62 info)) (setq info (subst (cons 62 256) dxf62 info)))
						(setq info (subst (cons 8 "GRID LINE") (assoc 8 info) info))
						(entmod info)
					)
					(T  
						(if (setq dxf6 (assoc 6 info)) (setq info (subst (cons 6 "ByLayer") dxf6 info)))
						(if (setq dxf62 (assoc 62 info)) (setq info (subst (cons 62 256) dxf62 info)))
						(setq info (subst (cons 8 "HIDDEN LINE") (assoc 8 info) info))
						(entmod info)
					)
			)
		)
	)
	(princ "\n*** Khong chon duoc thang nao ca ^|^ ***")
)
(setvar "cmdecho" cmd)
(princ)
)

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  

×