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

lệnh mở khoá tất cả các lớp

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

bác nào có biết lệnh mở khoá tất cả các lớp đã bị khoá kô? chỉ giùm cho e với :cheers:

Bạn dùng lệnh LAYON xem.

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 nào có biết lệnh mở khoá tất cả các lớp đã bị khoá kô? chỉ giùm cho e với :cheers:

Có thể mình chưa hiểu hết ý bạn nhưng bạn hãy tìm câu trả lời trong lisp này:

;;==============================================================================
=========================
;; Ham dao nguoc tinh trang cua cac lop THAW<>FREE
(defun C:revla ()
(setq La (tblnext "layer" t))
(setq lname (cdr (assoc 2 la)))
(setq fr (cdr (assoc 70 la)))
(setq on (cdr (assoc 62 la)))
(command ".layer")
(cond
 ((= (strcase lname) (strcase (getvar "clayer")))
  (progn
(princ "\nCan't free current layer")
  ;;(if (> on 0) (command "off" lname "Y") (command "on" lname) )
 ))
 (T (progn
  (if (= fr 0) (command "f" lname) (command "t" lname) )
 ;;(if (> on 0) (command "off" lname) (command "on" lname) )
 ))
);;; end cond
(setq la (tblnext "layer"))
(while la
(setq lname (cdr (assoc 2 la)))
(setq fr (cdr (assoc 70 la)))
(setq on (cdr (assoc 62 la)))
(cond
 ((= (strcase lname) (strcase (getvar "clayer")))
  (progn
   (princ "\nCan't free current layer")
  ;;(if (> on 0) (command "off" lname "Y") (command "on" lname) )
 ))
 (T (progn
	 (if (= fr 0) (command "f" lname) (command "t" lname) )
	;;(if (> on 0) (command "off" lname) (command "on" lname) )
 ))
);;; end cond
(setq La (tblnext "layer"))
);;; end while
(command "")
(princ)
)
;;==============================================================================
=========================
;;Ham dao nguoc tinh trang cua cac lop ON<>OFF
(defun C:revla1 ()
(setq La (tblnext "layer" t))
(setq lname (cdr (assoc 2 la)))
(setq fr (cdr (assoc 70 la)))
(setq on (cdr (assoc 62 la)))

(command ".layer")
(cond
 ((= (strcase lname) (strcase (getvar "clayer")))
  (progn
  ;;(princ "\nCan't free current layer")
(if (> on 0) (command "off" lname "Y") (command "on" lname) )
 ))
 (T (progn
  ;; (if (= fr 0) (command "f" lname) (command "t" lname) )
  (if (> on 0) (command "off" lname) (command "on" lname) )
 ))
);;; end cond

(setq la (tblnext "layer"))
(while la
(setq lname (cdr (assoc 2 la)))
(setq fr (cdr (assoc 70 la)))
(setq on (cdr (assoc 62 la)))
(cond
 ((= (strcase lname) (strcase (getvar "clayer")))
  (progn
  ;;(princ "\nCan't free current layer")
   (if (> on 0) (command "off" lname "Y") (command "on" lname) )
 ))
 (T (progn
	;;(if (= fr 0) (command "f" lname) (command "t" lname) )
	 (if (> on 0) (command "off" lname) (command "on" lname) )
 ))
);;; end cond
(setq La (tblnext "layer"))
);;; end while
(command "")
(princ)
)
;;==============================================================================
=========================
; -------------------- ISOLATE LAYER FUNCTION --------------------
(Defun C:LAYISO (/ SS CNT LAY LAYLST VAL VPMODE)

 (acet-error-init
(list
  (list "cmdecho" 0
		"expert"  0
  )
  T	;flag. True means use undo for error clean up.
);list
 );acet-error-init


 (if (and (= 0 (getvar "tilemode"))						 ; if in a paper space
	   (/= 1 (getvar "cvport"))						  ; viewport
  )
(setq VPMODE T)										  ; set flag for viewport behavior
 )

 (if (not (setq SS (ssget "_i")))
(progn
  (prompt "\nSelect object(s) on the layer(s) to be isolated: ")
  (setq SS (ssget))
)
 )


 (if SS
(progn

  (setq CNT 0)

  (while (and ss
			  (> (sslength ss) 0)
			  (setq LAY (ssname SS CNT))
		 );and
	(setq LAY (cdr (assoc 8 (entget LAY))))
	(if (not (member LAY LAYLST))
	  (setq LAYLST (cons LAY LAYLST))
	)
	(setq CNT (1+ CNT))
  )

  (cond
	(VPMODE
	  (command "_.vplayer" "_freeze" "*" "_Current")
	  (foreach VAL LAYLST (command "_Thaw" VAL "_Current"))
	  (command "")
	  (if (= (length LAYLST) 1)
		(prompt (acet-str-format "\nLayer %1 has been isolated in this viewport." (car LAYLST)))
		(prompt (acet-str-format "\n%1 layers have been isolated in this viewport." (itoa (length LAYLST))))
	  )
	)
	(T
	  (if (member (getvar "CLAYER") LAYLST)
		(setq LAY (getvar "CLAYER"))
		(setvar "CLAYER" (setq LAY (last LAYLST)))
	  )

	  (command "_.-LAYER" "_OFF" "*" "_Y")
	  (foreach VAL LAYLST (command "_ON" VAL))
	  (command "")

	  (if (= (length LAYLST) 1)
		(prompt (acet-str-format "\nLayer %1 has been isolated." (car LAYLST)))
		(prompt (acet-str-format "\n%1 layers have been isolated. Layer %2 is current."
								  (itoa (length LAYLST)) LAY)
		)
	  )
	)
  )
)
 )

 (acet-error-restore)

 (princ)
)
;;==============================================================================
=========================
; -------------------- LAYER FREEZE FUNCTION ---------------------
(defun C:LAYFRZ ()
; --------------------- Error initialization ---------------------

 (acet-error-init
(list
  (list "cmdecho" 0
		"expert"  0
  )

  nil	;flag. True means use undo for error clean up.
);list
 );acet-error-init

 (layproc "frz")

 (acet-error-restore)
 (princ)
)
;;==============================================================================
=========================
; ---------------------- LAYER OFF FUNCTION ----------------------
(defun C:LAYOFF ()
; --------------------- Error initialization ---------------------

 (acet-error-init
(list
  (list "cmdecho" 0
		"expert"  0
  )

  nil	;flag. True means use undo for error clean up.
);list
 );acet-error-init

 (layproc "off")

 (acet-error-restore)
 (princ)
)
;;==============================================================================
=========================
; ------------- LAYER PROCESSOR FOR LAYOFF & LAYFRZ --------------
(defun LAYPROC ( TASK / NOEXIT OPT BLKLST CNT VPMODE EN PMT ANS LAY NEST BLKLST VPSS)

; -------------------- Variable initialization -------------------

 (setq NOEXIT T)

 (setq OPT (getenv (strcat "ACET_Lay" TASK)))   ; get default option setting
 (if (not (or (null OPT) (= OPT ""))) (setq OPT (atoi OPT)))

 (setq CNT 0)											   ; cycle counter

 (if (and (= 0 (getvar "tilemode"))						 ; if in a paper space
	   (/= 1 (getvar "cvport"))						  ; viewport
  )
(setq VPMODE T)										  ; set flag for freeze behavior
 )


; ----------------------- Selection Prompt -----------------------

 (while NOEXIT

(setvar "errno" 7)
(while (= (getvar "errno") 7)
  (setvar "errno" 0)
  (initget "Options Undo _Options Undo")
  (cond
	((= TASK "off")
	  (setq EN (nentsel "\nSelect an object on the layer to be turned off or [Options/Undo]: "))
	)
	((= TASK "frz")
	  (setq EN (nentsel "\nSelect an object on the layer to be frozen or [Options/Undo]: "))
	)
	((= TASK "vpi")
	  (setq EN (nentsel "\nSelect an object on the layer to be Isolated in viewport or [Options/Undo]: "))
	)
  )
  (if (= (getvar "errno") 7)
	(prompt "\nNothing selected.")
  )
)

; ---------------------- Options  Selected -----------------------

(cond
  ((= EN "Options")
	(initget "No Block Entity _No Block Entity")
	(cond
	  ((= OPT 1)
		(setq PMT "\nEnter an option [block level nesting/Entity level nesting/]: ")
	  )
	  ((= OPT 2)
		(setq PMT "\nEnter an option [block level nesting/No nesting/]: ")
	  )
	  (T
		(setq PMT "\nEnter an option [Entity level nesting/No nesting/]: ")
	  )
	)
	(setq ANS (getkword PMT))

	(cond
	  ((null ANS)
		(if (or (null OPT) (= OPT ""))
		  (progn
			(setq OPT 3)
			(setenv (strcat "ACET_Lay" TASK) "3")
		  )
		)
	  )
	  ((= ANS "No")
		(setq OPT 1)
		(setenv (strcat "ACET_Lay" TASK) "1")
	  )
	  ((= ANS "Entity")
		(setq OPT 2)
		(setenv (strcat "ACET_Lay" TASK) "2")
	  )
	  (T
		(setq OPT 3)
		(setenv (strcat "ACET_Lay" TASK) "3")
	  )
	)
  )


; ---------------------- Undo selected ---------------------------

  ((= EN "Undo")
	(if (> CNT 0)
	  (progn
		(command "_.u")
		(setq CNT (1- CNT))
	  )
	  (prompt "\nEverything has been undone.")
	)
  )

; ------------------------- Find Layer ---------------------------

(EN

	(setq BLKLST (last EN))
	(setq NEST (length BLKLST))

	(cond

 ; If the entity is not nested or if the option for entity
 ; level nesting is selected.

	  ((or (= OPT 2) (< (length EN) 3))
		(setq LAY (entget (car EN)))
	  )

 ; If no nesting is desired

	  ((= OPT 1)
		(setq LAY (entget (car (reverse BLKLST))))
	  )

 ; All other cases (default)

	  (T
		(setq BLKLST (reverse BLKLST))

		(while (and						; strip out xrefs
			( > (length BLKLST) 0)
			(assoc 1 (tblsearch "BLOCK" (cdr (assoc 2 (entget (car BLKLST))))))
			   );and
		  (setq BLKLST (cdr BLKLST))
		)
		(if ( > (length BLKLST) 0)		 ; if there is a block present
		  (setq LAY (entget (car BLKLST))) ; use block layer
		  (setq LAY (entget (car EN)))	 ; else use layer of nensel
		)
	  )
	)

; ------------------------ Process Layer -------------------------

	(setq LAY (cdr (assoc 8 LAY)))

	(if (= LAY (getvar "CLAYER"))
	  (cond
		((= TASK "off")
		  (initget "Yes No _Yes No")
		  (setq ANS (getkword (acet-str-format "\nReally want layer %1 (the CURRENT layer) off? [Yes/No] : " LAY)))
		  (setq ANS (if (null ANS) "No" ANS))
		  (if (= ANS "No")
			(setq LAY nil)
		  )
		)
		((and (= TASK "frz") (not VPMODE))
		  (prompt (acet-str-format "\nCannot freeze layer %1.  It is the CURRENT layer." LAY))
		  (setq LAY nil)
		)
	  )
	  (setq ANS nil)
	)

	(if LAY
	  (cond
		((= TASK "off")
		  (if ANS
			(command "_.-LAYER" "_OFF" LAY "_Yes" "")
			(command "_.-LAYER" "_OFF" LAY "")
		  )
		  (prompt (acet-str-format "\nLayer %1 has been turned off." LAY))
		  (setq CNT (1+ CNT))
		)
		((and (= TASK "frz") VPMODE)
		  (command "_.VPLAYER" "_FREEZE" LAY "_current" "")
		  (prompt (acet-str-format "\nLayer %1 has been frozen in this viewport." LAY))
		  (setq CNT (1+ CNT))
		)
		((= TASK "frz")
		  (command "_.-LAYER" "_FREEZE" LAY "")
		  (prompt (acet-str-format "\nLayer %1 has been frozen."  LAY ))
		  (setq CNT (1+ CNT))
		)
		((= TASK "vpi")
		  (setq VPSS (ssget "_x" (list '(-4 . "											 '(0 . "VIEWPORT")				; get all viewports
										 '(-4 . "												(cons 69 (getvar "cvport"))   ; except the current
										 '(-4 . "NOT>")
										 '(-4 . "												'(69 . 1)					 ; and the paperspace viewport (1)
										 '(-4 . "NOT>")
									   '(-4 . "AND>")
								 )
					 )
		  )
		  (command "_.VPLAYER" "_FREEZE" LAY "_select" VPSS "" "")
		  (prompt (acet-str-format "\nLayer %1 has been frozen in all viewports but the current one."  LAY ))
		  (setq CNT (1+ CNT))
		)
	  )
	)
  )

; ---------------------- Nothing  Selected -----------------------

  ((not EN)
	(setq NOEXIT nil)
  )
)
 )
)
;;==============================================================================
=========================
; --------------------- LAYER LOCK FUNCTION ----------------------
(Defun C:LAYLCK (/ LAY)

 (acet-error-init
(list
  (list "cmdecho" 0
		"expert"  0
  )

  T	;flag. True means use undo for error clean up.
);list
 );acet-error-init

 (setq LAY (entsel "\nSelect an object on the layer to be locked: "))

 (if LAY
(progn
  (setq LAY (cdr (assoc 8 (entget (car LAY)))))
  (Command "_.-LAYER" "_LOCK" LAY "")
  (prompt (acet-str-format "\nLayer %1 has been locked."  LAY ))
)
 )

 (acet-error-restore)

 (princ)
)
;;==============================================================================
=========================
; -------------------- LAYER UNLOCK FUNCTION ---------------------
(Defun C:LAYULK (/ LAY)

 (acet-error-init
(list
  (list "cmdecho" 0
		"expert"  0
  )

  T	;flag. True means use undo for error clean up.
);list
 );acet-error-init

 (setq LAY (entsel "\nSelect an object on the layer to be unlocked: "))

 (if LAY
(progn
  (setq LAY (cdr (assoc 8 (entget (car LAY)))))
  (Command "_.-LAYER" "_UNLOCK" LAY "")
  (prompt (acet-str-format "\nLayer %1 has been unlocked."  LAY ))
)
 )

 (acet-error-restore)

 (princ)
)
;;==============================================================================
=========================
; ---------------------- LAYER ON FUNCTION -----------------------
(Defun C:LAYON ()

 (acet-error-init
(list
  (list "cmdecho" 0)
  nil	;flag. True means use undo for error clean up.
);list
 );acet-error-init

 (Command "_.-LAYER" "_ON" "*" "")
 (prompt "\nAll layers have been turned on.")

 (acet-error-restore)

 (princ)
)

;;==============================================================================
=========================
; --------------------- LAYER THAW FUNCTION ----------------------
(Defun C:LAYTHW ()

 (acet-error-init
(list
  (list "cmdecho" 0)
  nil	;flag. True means use undo for error clean up.
);list
 );acet-error-init

 (Command "_.-LAYER" "_THAW" "*" "")
 (prompt "\nAll layers have been thawed.")

 (acet-error-restore)

 (princ)
)
;;==============================================================================
=========================
; --------------------- LAYER MATCH FUNCTION ---------------------
(Defun C:LAYMCH (/ SS CNT LOOP LAY ANS)

 (acet-error-init
(list
  (list "cmdecho" 0)
  T	;flag. True means use undo for error clean up.
);list
 );acet-error-init


 (if (not (setq SS (ssget "_i")))
(progn
  (prompt "\nSelect objects to be changed: ")
  (setq SS (ssget))
)
 )

 (if SS
(progn
  (setq CNT (sslength SS))
  (princ (acet-str-format "\n%1 found."  (itoa CNT)))	  ; Report number of items found

  (command "_.move" SS "")						; filter out objects on locked layers

  (if (> (getvar "cmdactive") 0)				  ; if there are still objects left
	(progn
	  (command "0,0" "0,0")
	  (setq SS  (ssget "_p")
			CNT (- CNT (sslength SS))			 ; count them
	  )
	)
	(setq SS nil)								 ; else abort operation
  )

  (if (> CNT 0)								   ; if items where filtered out
	(if (= CNT 1)
	  (princ (acet-str-format "\n%1 was on a locked layer."  (itoa CNT) ))  ; report it.
	  (princ (acet-str-format "\n%1 were on a locked layer."  (itoa CNT) ))
	)
  )
)
 )


 (if SS
(progn
  (initget "Type-it _Type-it")
  (setq LAY  (entsel "\nSelect object on destination layer or [Type-it]: ")
		LOOP T
  )

  (while LOOP
	(cond
	  ((not LAY)
		(prompt "\nNothing selected.")
		(initget "Yes No _Yes No")
		(setq ANS (getkword "\nUse current layer? [Yes/No]  "))
		(setq ANS (if (null ANS) "Yes" ANS))
		(if (= ANS "Yes")
		  (setq LAY  (getvar "clayer")
				LOOP nil
		  )
		)
	  )
	  ((listp LAY)
		(setq LOOP nil)
	  )
	  ((= LAY "Type-it")
		(setq LAY (getstring "\nEnter layer name: "))
		(cond
		  ((tblobjname "LAYER" LAY)
			(setq LOOP nil)
		  )
		  ((/= LAY "")
			(initget "Yes No _Yes No")
			(setq ANS (getkword "\nLayer does not exist. Would you like to create it? [Yes/No] : "))
			(setq ANS (if (null ANS) "Yes" ANS));setq
			(if (= ANS "Yes")
			  (if
				(entmake (list
						  '(0 . "LAYER")
						  '(100 . "AcDbSymbolTableRecord")
						  '(100 . "AcDbLayerTableRecord")
						  '(6 . "CONTINUOUS")
						  '(62 . 7)
						  '(70 . 0)
						   (cons 2 LAY)
						 )
				)
				(setq LOOP nil)
				(prompt "\nInvalid Layer name.")
			  )
			)
		  )
		)
	  )
	)
	(if LOOP
	  (progn
		(initget "Type-it _Type-it")
		(setq LAY (entsel "\nSelect entity on destination layer or [Type-it]: "))
	  )
	)
  ); while LOOP


  (if (listp LAY)
	(setq LAY (cdr (assoc 8 (entget (car LAY)))))
  )

  (command "_.chprop" SS "" "_la" LAY "")

  (if (= (sslength SS) 1)
	(prompt (acet-str-format "\nOne object changed to layer %1" LAY ))
	(prompt (acet-str-format "\n%1 objects changed to layer %2" (itoa (sslength SS)) LAY ))
  )
  (if (= LAY (getvar "clayer"))
	(prompt " (the current layer).")
	(prompt ".")
  )
)
 )

 (acet-error-restore)

 (princ)
)
;;==============================================================================
=========================
; --------------- CHANGE TO CURRENT LAYER FUNCTION ---------------
(Defun C:LAYCUR (/ SS CNT LAY)

 (acet-error-init
(list
  (list "cmdecho" 0)
  T	;flag. True means use undo for error clean up.
);list
 );acet-error-init


 (if (not (setq SS (ssget "_i")))
(progn
  (prompt "\nSelect objects to be changed to the current layer: ")
  (setq SS (ssget))
)
 )

 (if SS
(progn
  (setq CNT (sslength SS))
  (princ (acet-str-format "\n%1 found."  (itoa CNT) ))	  ; Report number of items found

  (command "_.move" SS "")						; filter out objects on locked layers

  (if (> (getvar "cmdactive") 0)				  ; if there are still objects left
	(progn
	  (command "0,0" "0,0")
	  (setq SS  (ssget "_p")
			CNT (- CNT (sslength SS))			 ; count them
	  )
	)
	(setq SS nil)								 ; else abort operation
  )

  (if (> CNT 0)								   ; if items where filtered out
	(if (= CNT 1)
	  (princ (acet-str-format "\n%1 was on a locked layer."  (itoa CNT) ))  ; report it.
	  (princ (acet-str-format "\n%1 were on a locked layer."  (itoa CNT) ))
	)
  )
)
 )

 (if SS
(progn
  (setq LAY (getvar "CLAYER"))

  (command "_.chprop" SS "" "_la" LAY "")

  (if (= (sslength SS) 1)
	(prompt (acet-str-format "\nOne object changed to layer %1 (the current layer)."  LAY ))
	(prompt (acet-str-format "\n%1 objects changed to layer %2 (the current layer)." (itoa (sslength SS)) LAY))
  )
)
 )

 (acet-error-restore)

 (princ)
)
(princ)
;;==============================================================================
=========================

  • 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ạn dùng lệnh LAYON xem.

 

Layon chỉ dùng để tắt và sáng đèn thôi

 

Xin mạn phép bác MANHHUNGXDA viết cho dễ hiểu hơn:

 

Muốn mở khoá hay khoá toàn bộ các lớp bạn dùng lệnh " -la" như sau :

Khoá:

 

Command: -la -LAYER

Current layer: "tam pk"

Enter an option

[?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck/Unlock

/stAte]: lo

 

Enter name list of layer(s) to lock or <select objects>: *

Enter an option

[?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck/Unlock

/stAte]:

 

 

Mở:

 

Command: -LAYER

Current layer: "tam pk"

Enter an option

[?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck/Unlock

/stAte]: u

Enter name list of layer(s) to unlock or <select objects>: *

Enter an option

[?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck/Unlock

/stAte]:

Chú ý là sau khi chọn * rồi thì enter 2 lần !

Chúc thành công!

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

Có thể mình chưa hiểu hết ý bạn nhưng bạn hãy tìm câu trả lời trong lisp này:

cám ơn bác nhé, những lệnh vừa rồi cũng thật là tuyệt nhưng vẫn chưa được theo ý em muốn. ý em là mình dùng lệnh hoặc (lisp) nào đó mà khi đánh lệnh xong enter thì tất cả các lớp bị khoá đều được mở khoá. cách của bác CHIEWATER cũng được nhưng dùng thế thì phải chọn nhiều lệnh quá. mong các bác chỉ giáo giùm. thanks :cheers:

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ạn chịu khó làm thủ công vậy. đánh lệnh LA vào phần layer, bấm ctrl+A sau đó bấm vào biểu tượng cái khoá.

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
cám ơn bác nhé, những lệnh vừa rồi cũng thật là tuyệt nhưng vẫn chưa được theo ý em muốn. ý em là mình dùng lệnh hoặc (lisp) nào đó mà khi đánh lệnh xong enter thì tất cả các lớp bị khoá đều được mở khoá. cách của bác CHIEWATER cũng được nhưng dùng thế thì phải chọn nhiều lệnh quá. mong các bác chỉ giáo giùm. thanks :cheers:

 

Lao gia trần này lười quá, bó tay...

 

Lão thử cái lisp này xem có hợp ý ko nha, lệnh là BKL (bỏ khoá lớp) :

 

(defun C:BKL ()
  (command "-Layer" "Unlock" "*" "")
  (prompt "\n>>> Tat ca cac lop da duoc bo khoa - Unlock all layer - he he...")
)

 

Lão "ap" để load cái lisp này vào để chạy nhé, hoặc cho nó vào startup suite của Cad...

  • Vote tăng 4

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 nào có biết lệnh mở khoá tất cả các lớp đã bị khoá kô? chỉ giùm cho e với :cheers:

 

bạn thử dùng layon thử xem

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

Lao gia trần này lười quá, bó tay...

 

Lão thử cái lisp này xem có hợp ý ko nha, lệnh là BKL (bỏ khoá lớp) :

 

(defun C:BKL ()   (command "-Layer" "Unlock" "*" "")   (prompt "\n>>> Tat ca cac lop da duoc bo khoa - Unlock all layer - he he..."))

 

Lão "ap" để load cái lisp này vào để chạy nhé, hoặc cho nó vào startup suite của Cad...

Rất chuẩn...Thanks 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

Mình mới chỉ đọc lướt qua câu hỏi cũng như các câu trả lời của các bạn.Mình cũng xin góp í kiến thế này.Trong bảng Layer có 3 cột mà ta có thể tác động đóng mở là ON,FREEZE,LOCK tương ứng với nó là các lệnh để đóng mở ẩn hiện như sau:

+ON: LAYOFF >< LAYON

+FREEZE: LAYFRZ >< LAYTHW

+LOCK :LAYLCK >< LAYULK

Đối với trường hợp của ON và FREEZE thì với 1 lệnh LAYON (hoặc LAYTHW)sẽ mở tất cả các layer trong bản vẽ đang bị ẩn.Còn trường hợp của cột LOCK thì cần phải tích mở khóa lần lượt từng layer.Vậy nên với trường hợp layer bị lock mà bạn muốn mở hết khóa,kinh nghiệm của mình là vào bảng Layer->Ctrl A->tích vào cái khóa ở cột LOCK là mở hết.

Đây là cách mình làm mà không cần dùng đến lisp.

Mong các bạn góp í thê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

các anh ơi, có ai có lisp mà chỉ cần dùng 1 lệnh kết hợp như sau:

VD:

- gõ FL

- chọn đối tượng Layer cần FREEZE và LOCK

- kết quả là đối tượng Layer này vừa FREEZE và LOCK luôn.

và ngược lại:

- gõ ONFL

- chọn đối tượng Layer cần mở FREEZE và LOCK

- kết quả là đối tượng Layer này vừa mở FREEZE và LOCK luôn.

cảm ơn các anh!

 

 

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  

×