Code Red > AutoLISP (Vanilla / Visual)
Copy all objects to other layer
Adesu:
Hi,
it's my code to copy all objects in layer "0" to layer "Temp", but it's still got problem, the result all objects still in layer 0.
--- Code: ---(defun c:test (/ cnt lay nlay pt ss sse ssl ssn)
(setq nlay "TEMP")
(setq lay (getvar "clayer"))
(if
(/= lay nlay)
(command "_layer" "m" nlay "c" 7 "" "")
)
(setvar "clayer" "0")
(command "_layer" "off" nlay "")
(setq ss (ssget "x" '((8 . "0"))))
(setq ssl (sslength ss))
(setq cnt 0)
(repeat
ssl
(setq ssn (ssname ss cnt))
(setq sse (entget ssn))
;(setq etyp (cdr (assoc 0 sse)))
(setq pt (cdr (assoc 10 sse)))
(setvar "clayer" nlay)
(command "_copy" ssn "" pt pt "")
(setq cnt (1+ cnt))
) ; repeat
(princ)
) ; defun
--- End code ---
CAB:
Do you want two of every object in the drawing or just set all objects to layer "0"?
ronjonp:
Give this a try :)
--- Code: ---(defun c:test (/ cnt lay nlay pt ss sse ssl ssn)
(vl-load-com)
(setq nlay "TEMP")
(setq lay (getvar "clayer"))
(if
(/= lay nlay)
(command "_layer" "m" nlay "c" 7 "" "")
)
(setvar "clayer" "0")
(command "_layer" "off" nlay "")
(setq ss (ssget "x" '((8 . "0"))))
(setq ssl (sslength ss))
(setq cnt 0)
(repeat
ssl
(setq ssn (ssname ss cnt))
(setq sse (entget ssn))
;(setq etyp (cdr (assoc 0 sse)))
(setq pt (cdr (assoc 10 sse)))
(setvar "clayer" nlay)
(command "_copy" ssn "" pt pt "")
(vla-put-layer (vlax-ename->vla-object (entlast)) "TEMP")
(setq cnt (1+ cnt))
) ; repeat
(princ)
) ; defun
--- End code ---
Adesu:
Hi ronjonp,
Wow......it's great...thanks.
FengK:
Not tested.
(defun c:test (/ doc colLay layName ss i obj)
(setq doc (vla-get-activedocument (vlax-get-acad-object))
colLa (vla-get-layers doc)
layName "Temp")
(if (not (tblsearch "LAYER" layName))
(vla-add colLay layName)
)
(if (setq ss (ssget "X" (list (cons 8 "0"))))
(progn
(setq i 0)
(repeat (sslength ss)
(setq obj (vla-copy (vlax-ename->vla-object (ssname ss i))))
(vla-put-layer obj layName)
(setq i (1+ i))
)
(prompt "\nDone.")
)
(prompt "\nNo object on layer \"0\"".))
(princ)
)
Navigation
[0] Message Index
[#] Next page
Go to full version