• This forum is the machine-generated translation of www.cad3d.it/forum1 - the Italian design community. Several terms are not translated correctly.

move all entities on one layer

  • Thread starter Thread starter PanBagnat
  • Start date Start date

PanBagnat

Guest
Good morning, everyone.

I have a dxf with a hundred blocks. are put on various layers, and if I open the blocks, the elements are also placed on different layers.

I want to put everything on one layer.

is there a way to do this without tearing the hats?:eek:
use autocad 2010.

Thank you.
 
there are several techniques to do so: the quickest is (perhaps) export to .dxb and subsequent reimport in an empty file of autocad.

:
 
there are several techniques to do so: the quickest is (perhaps) export to .dxb and subsequent reimport in an empty file of autocad.

:
Thank you, I like this solution. But I did not find how to save in dxb. in export data there is dxx, and in save by name there is nothing beginning with dx. Do you have a suggestion?
 
can join all layers of the dwg with uniscilay.

if you have the need to keep the existing layers test this lisp spread that cambia layer to objects of blocchi moving them to a layer called "only", you can change the name by replacing it to the string in red.
Code:
(defun c:clb (/ new_lay b_all b_name)
    (setq new_lay "[B][COLOR="Red"]One[/COLOR][/B]")
    (if (not (tblsearch "layer" new_lay)) 
	(entmake
	    (list
		(cons 0 "layer") (cons 100 "acdbsymboltablerecord")
		(cons 100 "acdblayertablerecord") (cons 2 new_lay)(cons 70 0)
	    )
	)
    ) 
    (setq b_all (ssget "x" '((0 . "insert"))))
    (setq cont -1)
    (repeat (sslength b_all)
	(setq b_name (cdr (assoc 2 (entget (ssname b_all (setq cont (1+ cont)))))))
	(command "-bedit" b_name "_chprop" "_all" "" "_la" new_lay "" "_bclose" "")
    )
)
 
can join all layers of the dwg with uniscilay.

if you have the need to keep the existing layers test this lisp spread that cambia layer to objects of blocchi moving them to a layer called "only", you can change the name by replacing it to the string in red.
Code:
(defun c:clb (/ new_lay b_all b_name)
    (setq new_lay "[B][COLOR="Red"]One[/COLOR][/B]")
    (if (not (tblsearch "layer" new_lay)) 
	(entmake
	    (list
		(cons 0 "layer") (cons 100 "acdbsymboltablerecord")
		(cons 100 "acdblayertablerecord") (cons 2 new_lay)(cons 70 0)
	    )
	)
    ) 
    (setq b_all (ssget "x" '((0 . "insert"))))
    (setq cont -1)
    (repeat (sslength b_all)
	(setq b_name (cdr (assoc 2 (entget (ssname b_all (setq cont (1+ cont)))))))
	(command "-bedit" b_name "_chprop" "_all" "" "_la" new_lay "" "_bclose" "")
    )
)
Thank you very much. I did it. good we.:finger:
 

Forum statistics

Threads
44,997
Messages
339,767
Members
4
Latest member
ibt

Members online

No members online now.
Back
Top