Vittorio Posted 8 hours ago Posted 8 hours ago Hi everyone, I'm currently trying to write a routine that handles multiple selected objects. In my drawing imported survey points are automatically stored as COGO-points with a specific point label style (a block reference defined by description sets). The problem is upon exploding the COGO-point (twice) it's layer is reverted to 0. Therefore I need a routine to change the layer back to the one defined by the corresponding description key. This routine should: prompt for selecting object(s) - COGO-points only for each COGO-point do the following store its layer to a variable (eg. "XX_TOPO_TREE") explode the COGO-point - which will result in a block reference with name *Uxxx (eg. *U123) explode the block - will result in a named block on layer 0 (eg. "sym_topo_tree") change the block layer to the one stored before After trying to teach myself AutoLISP over a year ago I almost forgot anything I've read due to a longer break. Now I am starting from the beginning again. Since it would take some time until I get this on my own, I hereby ask for a solution / a lisp routine. Best regards Quote
Steven P Posted 7 hours ago Posted 7 hours ago Up load your LISP so we can have a look. I suspect you will want to explode the block and then use entlast select it ready to move it to the correct layer - that might be enough of a hint? Since you have the entity name, I would just use entmod to change the layer 1 Quote
BIGAL Posted 45 minutes ago Posted 45 minutes ago Rather than explode the COGO point what are you trying to do ? I have for example write the RL of a cogo point as text next to the point. We used this as a quick reference when designing, we would select only the points that we want to see the RL. It could be expanded to say label XYZ, PtXYZD etc. The tree block should be on the correct layer according to your Description key Sets. A side note it's possible to update a cogo point dynamic block, I have something that does just that, it looks at the description, so TR6*300, dynamic block has a trunk and spread 2 objects, running my lisp would get a 6m spread with a 300 mm trunk. @Steven P the COGO points in Civ3D are proxy objects. In a dwg if labels are off can not turn on in ACAD. I am looking at talking to Bricsys about getting at "AeccXUiLand.AeccApplication." when a civ3D dwg is opened in Bricscad. Getting at CIV3D objects via lisp can be easy or difficult. 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.