dvjstyles Posted May 22, 2009 Posted May 22, 2009 I am working from some architects drawings to produce a set of electrical service layout drawings. I need everything from the architects on one layer so it can be set to a less prominent grey line colour than the electrical details - And easily selected and replaced with updates later in the project. I am currently having to select everything to explode all the blocks several times and then drop onto new layer, coloured by layer. Any other ideas? What would be the quickest way of doing this? I am using Autocad 09 LT. Thanks. Quote
jonesy Posted May 22, 2009 Posted May 22, 2009 Personally I would xref the architects file into your drawing. That way if they change anything it would be easy to update their plan. However, you can type "change" at the command line and then type "all" then use the LA option to get everything onto the layer you want. Quote
Zorg Posted May 22, 2009 Posted May 22, 2009 Go into your layer manager by typing LAYER then select all CTRL+A and hit the colour you want. Quote
dvjstyles Posted May 22, 2009 Author Posted May 22, 2009 Go into your layer manager by typing LAYER then select all CTRL+A and hit the colour you want. yes I thought about that - but I need to adjust their text locations etc to accomodate our info so it wouldnt be posible to Lock the layer then. too many layers problem. And still this would work with the Blocks.. Is ther some kind of 2D IMPRINT tool out there, does anyone know? Quote
dvjstyles Posted May 22, 2009 Author Posted May 22, 2009 yeah Qselect has been used for this many times. Just lookin for a proper quick way to just explode and flatten everything.. bingo. hmm Quote
JoeC Posted May 22, 2009 Posted May 22, 2009 You could try the XPLODE command (be sure to type xplode and not explode) and type "layer" you want to xplode to. Sometimes you may need to do this multiple times with nested blocks. Quote
Zorg Posted May 22, 2009 Posted May 22, 2009 You could try the XPLODE command (be sure to type xplode and not explode) and type "layer" you want to xplode to. Sometimes you may need to do this multiple times with nested blocks. it will leave the attrbutes as attributes, and with no blockm they wont print Quote
JoeC Posted May 22, 2009 Posted May 22, 2009 That's true Zorg, but I didn't see a mention of atttributes in the post. Maybe I missed something!? Quote
GCarr78 Posted May 22, 2009 Posted May 22, 2009 Why not just change the bylayers of all the arch. layers to your grey line colour. Or force all the objects to that grey line colour. Or a combination of both. Instead of worrying about changing all the layers to 0? Quote
NBC Posted May 22, 2009 Posted May 22, 2009 Why not just change the bylayers of all the arch. layers to your grey line colour. I vote this one One of the main principles behind CAD is the correct use of layers; so therefore having everything on one layer (in my opinion) is tanatamount to being a serial killer. Quote
JoeC Posted May 22, 2009 Posted May 22, 2009 I also agree with this solution in general. I've never been a fan of exploding blocks or forcing colors to objects. But I still don't believe that solves the OP's dilemma with blocks. Especially blocks that are made with multiple layers and colors. Please correct me if I'm wrong. Quote
GCarr78 Posted May 22, 2009 Posted May 22, 2009 I also agree with this solution in general. I've never been a fan of exploding blocks or forcing colors to objects. But I still don't believe that solves the OP's dilemma with blocks. Especially blocks that are made with multiple layers and colors. Please correct me if I'm wrong. For blocks with multiple layers if all the layers are set to a grey colour this should change the blocks too. If the lines are forced to a colour maybe editing the blocks would work, a little more effort on your part but a desired effect nonetheless. Quote
chelsea1307 Posted May 26, 2009 Posted May 26, 2009 if you run this lisp call norm, it will take all blocks and set the to by layer this way when you change everything to your new layer all the block will be the right color. Or to solve the multi layer block problem you can go into your layer manager and select all layers and change them to the grey color you after. Now that everything is by layer changing the original layer color will change the objects color Author kpblc changes all blocks inserted in a dwg from by block/color to by layer. (defun c:norm (/ *error* adoc lst_layer func_restore-layers) (defun *error* (msg) (func_restore-layers) (vla-endundomark adoc) (princ msg) (princ) ) ;_ end of defun (defun func_restore-layers () (foreach item lst_layer (vla-put-lock (car item) (cdr (assoc "lock" (cdr item)))) (vl-catch-all-apply '(lambda () (vla-put-freeze (car item) (cdr (assoc "freeze" (cdr item)))) ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of foreach ) ;_ end of defun (vl-load-com) (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))) ) ;_ end of vla-startundomark (vlax-for item (vla-get-layers adoc) (setq lst_layer (cons (list item (cons "lock" (vla-get-lock item)) (cons "freeze" (vla-get-freeze item)) ) ;_ end of list lst_layer ) ;_ end of cons ) ;_ end of setq (vla-put-lock item :vlax-false) (vl-catch-all-apply '(lambda () (vla-put-freeze item :vlax-false))) ) ;_ end of vlax-for (vlax-for blk (vla-get-blocks adoc) (if (and (equal (vla-get-islayout blk) :vlax-false) (equal (vla-get-isxref blk) :vlax-false) ) ;_ end of and (progn (vlax-for subent blk ;(vla-put-layer subent "0");edit-> removed force to layer 0 (vla-put-color subent 256) (vla-put-lineweight subent aclnwtbyblock) (vla-put-linetype subent "byblock") ) ;_ end of vlax-for ) ;_ end of progn ) ;_ end of if ) ;_ end of vlax-for (func_restore-layers) (vla-endundomark adoc) (command "_regenall") (princ) ) ;_ end of defun Quote
Zorg Posted May 27, 2009 Posted May 27, 2009 thats surpisingly helpful to me actually chelsea, thanks man Quote
chelsea1307 Posted May 27, 2009 Posted May 27, 2009 I was way happy when it was given to me, saves tons of time Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.