Community
Civil 3D Forum
Welcome to Autodesk’s Civil 3D Forums. Share your knowledge, ask questions, and explore popular AutoCAD Civil 3D topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Isolating Civil 3D Point Objects

27 REPLIES 27
SOLVED
Reply
Message 1 of 28
kgerman
5935 Views, 27 Replies

Isolating Civil 3D Point Objects

I am in the process of setting up Civil 3D styles for survey and trying to overcome some challenges that are a great source of frusteration.  The key items I am trying to accomplish are as follows:

 

  1. Be able to isolate all points on a layer (sorted individually by descriptor key matching to V-NODE-XXXX) WITHOUT the use of point groups.  I see point groups as a very inefficient way to do this.  I want to be able to select Layiso, grab one point and have full display of all points on that node layer and start connecting the dots.
  2. Be able to control node layer display individually (ie. all topo points gray, found points green, control pink, etc)
  3. Setup a quick toggle to turn off display of all points and basic markers except those which have a symbol assigned to them and should be shown on the map.

I have everything working the way I want with the exception of being able to use layiso to display all points on a layer.  Currently my point label styles are set to layer 0 byblock which passes display to the point object.  I have created a layer called V-NODE-HIDE that I set as the layer for non-symbol markers and all point labels.  Point markers that are symbols that should be displayed on a map are put on their associated V-TOPO-XXX-SYMB layer.  When finished mapping I want to be able to type "PH" (Point Hide) and hide all point labels and basic markers by freezing V-NODE-HIDE.  The issue is that because point objects, labels and markers are on different layers, when I isolate a single point, everything disappears.

 

Is there a lisp routine that will extract all layers from sub-components of a Civil 3D object and add those layers to the isolate?  This would solve my issue and give me all of the functionality I am looking for.  I have seen several discussions along this line on the forums, but not a solution that fits my needs.  I am open for pretty much any suggestion other than I need to have a point group created for every single descriptor I have and have to move groups up and down the hierarchy to get the display I need.  It is just too inefficient.

 

Thanks in advance,

 

Kevin

27 REPLIES 27
Message 2 of 28
sboon
in reply to: kgerman


kgerman wrote:
  1. Be able to isolate all points on a layer (sorted individually by descriptor key matching to V-NODE-XXXX) WITHOUT the use of point groups.  I see point groups as a very inefficient way to do this.  I want to be able to select Layiso, grab one point and have full display of all points on that node layer and start connecting the dots.
  2. Be able to control node layer display individually (ie. all topo points gray, found points green, control pink, etc)
  3. Setup a quick toggle to turn off display of all points and basic markers except those which have a symbol assigned to them and should be shown on the map.

  1. Look at using Description keys for this.  Once they're set up any point you create or import with a recognized description will be assigned to the appropriate layer.
  2. I believe that point groups with style overrides would work for this.  Basically you would have several point groups pre-defined in your template, with settings that would force points with certain descriptions to display using a specific style.  Moving those groups to the top of the list would cause them to take effect.
  3. Maybe layer states for this?

Steve
Please use the Accept as Solution or Kudo buttons when appropriate

 

 

Steve
Expert Elite Alumnus
Message 3 of 28
kgerman
in reply to: sboon

Thanks for the fast reply Steve. I have all of the items above functioning as I would like them with the exception of being able to use layiso to isolate point objects. I just listed them all because they are constraints that are causing the layiso issue.

Previously I had label and point styles set to layer 0 so all objects ended up on the node layer. That works great with layiso, but doesn't give me the flexabilty to separate basic markers from symbol markers and easily freeze out anything I don't want printing.

Creating individual layer states for each potential point layer isolation sounds just as painful as using point groups. I really think if I had a lisp routine that would add layers for all sub-components of a Civil 3D object to layiso then I would have the exact functionality that I need.
Message 4 of 28
AllenJessup
in reply to: kgerman

I don't really know if there is a solution for that. All of us who transitioned from Land Desktop to Civil 3D went through that when we first encountered the new program. The layiso worked as you want in Land Desktop. As you have experienced. It doesn't in Civil 3D.

 

As far a point groups being a "very inefficient" way to handle this. Once I realized I wasn't going to be able to manipulate the layers as I did in the old program and got used to using point groups. I now find I'm quit comfortable using point groups in this way. I did add _AeccShowPointGroupsList to a tool pallet so I wouldn't have to dig down in the prospector tab all the time.

 

If you give us a reason why you want to isolate a certain point layer. We might be able to come up with a workaround

 

Allen Jessup

Allen Jessup
CAD Manager - Designer
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

Message 5 of 28
kgerman
in reply to: AllenJessup

Allen,

 

Whether I am connecting linework of a topo or just want to see all points on a certain layer, using layiso is an extremely fast and efficient way to move through different point layers.

Message 6 of 28
AllenJessup
in reply to: kgerman

Are you using a version from the last 3 years. Line connection is mostly handled through description keys now. We use a 3rd party program called PConnect that's part of SmartDraft. But I've seen linework come in to others drawing through Civil 3D with a very good rate of accuracy. Most anomalies occur because of coding errors.

 

Allen

Allen Jessup
CAD Manager - Designer
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

Message 7 of 28
kgerman
in reply to: AllenJessup

We are using V2013.  I know that option is available, but we haven't crossed that bridge yet for several reasons.  I look forward to being able to experiment with it in the future, but we are trying to crawl in Civil 3D before we walk (lots of old dogs, new tricks issues here).  

 

 

Message 8 of 28
AllenJessup
in reply to: kgerman


@kgerman wrote:

 (lots of old dogs, new tricks issues here).   

 


Yeah. That's why I mentioned the experiences going from LDT to C3D. I don't know of an answer to your layiso question. Possibly someone will chime in later with a solution (or at least a better workaround)

Allen

Allen Jessup
CAD Manager - Designer
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

Message 9 of 28
chrisdavis5201
in reply to: kgerman

I am having the same problem. I have set up a description key, I have 3 different layers, one for the overall node, one for the marker and one for the label. I have adjusted the points style in the display tab to have the marker and label on separate layers. Unfortunately none of this allows me to layiso the marker or the label individually, or to layoff or layfrz individually. I have created point groups to handle this and to push them up and down as needed, unfortunate the clients we send the drawings to are not as savvy with the point group pushing and would like the ability to layer of/freeze the point descriptions without the marker disapearing. So if there is a fix for this I would be interested.

 

I posted this on 8/16/2013, but have not had any response to it.

http://forums.autodesk.com/t5/AutoCAD-Civil-3D/Controling-Layers-in-Point-Styles/m-p/4370143

 

Chris M. Davis

Message 10 of 28
kgerman
in reply to: AllenJessup

I apprecaite any and all feedback, thank you.  As much as I do it every day I just can't handle giving up my very fast layiso option for fumbling through point groups.  Each instance turns a nearly instantaneous process into a 30-60 second one.  As a side note, if they would at least let you drag and drop the point group hierarchy that would help speed things up, but you still need a messy list of point groups that cover every possible descriptor code and additional groups that would cover the multiple descriptor codes that could be on a single layer.  

Message 11 of 28
Jeff_M
in reply to: kgerman

The 3rd party package Sincpac C3D has SPLAYISO which does what you want. Although there is no corresponding SpLayUnIso, I'm guessing because Sinc always had all layers On so LayOn was all he needed.

Jeff_M, also a frequent Swamper
EESignature
Message 12 of 28
kgerman
in reply to: Jeff_M


@Jeff_M wrote:

The 3rd party package Sincpac C3D has SPLAYISO which does what you want. Although there is no corresponding SpLayUnIso, I'm guessing because Sinc always had all layers On so LayOn was all he needed.




Thanks.  It is good to know that it is at least possible.  Although i'm looking for the just one routine so buying a 3rd party add-on for the entire office is not feasible.  I wonder if he sells the individual scripts?

 

 

Message 13 of 28
sboon
in reply to: kgerman

If I have this right you want each point description on its own layer, but you also want to be able to isolate all of the layers which include points without symbols so that you can freeze them off.  If you have a layer name convention that separates Nodes from Symbols then you could set up a layer filter to control this.

 

Clipboard01.png

 

 

Clipboard02.png

 

Steve
Expert Elite Alumnus
Message 14 of 28
kgerman
in reply to: sboon


@sboon wrote:

If I have this right you want each point description on its own layer, but you also want to be able to isolate all of the layers which include points without symbols so that you can freeze them off.  If you have a layer name convention that separates Nodes from Symbols then you could set up a layer filter to control this.

 


Point objects are on their own individual layers.  Non-symbol markers are on  a V-NODE-HIDE layer, all labels are also on V-NODE HIDE (not individual layers), symbols are on their corresponding V-TOPO-XXXX-SYMB layer.  I want to be able to use layiso (or a custom version thereof) to select a point object and have the layer the object is is on isolated as well as any layers within the point object.  Maybe I am not understanding, but I do not see the layer filter accomplishing this for me with having to have a huge list of layer filters for every possibly point layer I want to isolate.

 

Although as I typed this I had a revelation that I don't actually need to know what layers are within the point object.  If I can programatically tell the layiso command to add V-NODE-HIDE and V-TOPO-*-SYMB to the list of isolated layers, then I will get exactly the results I am wanting.  Even though all symbol layers will be turned on, they will not display because the other node object layers will be turned off.  Only hurdle left would be how to script the layiso command to add those layers to the isolated list without selecting actual objects...

 

 

 

Message 15 of 28
sboon
in reply to: kgerman

I think that we may have some confusion here.  I've attached a zipped drawing to show exactly what I'm suggesting.

 

All point styles use layer 0 and ByBlock settings only.  The Description Key specifies the layer, point style and label style for all recognized descriptions.  You can use LAYISO, LAYOFF etc to control the display of points by descriptions.  If you open the layer dialog you can also use the filters to quickly turn on/off all points with nodes or symbols.  I've also created a point group called HIGHLIGHT that uses a different point style to emphasize points with certain descriptions.

 

Steve
Please use the Accept as Solution or Kudo buttons when appropriate

Steve
Expert Elite Alumnus
Message 16 of 28
kgerman
in reply to: sboon


@sboon wrote:

I think that we may have some confusion here.  I've attached a zipped drawing to show exactly what I'm suggesting.

 

All point styles use layer 0 and ByBlock settings only.  The Description Key specifies the layer, point style and label style for all recognized descriptions.  You can use LAYISO, LAYOFF etc to control the display of points by descriptions.  If you open the layer dialog you can also use the filters to quickly turn on/off all points with nodes or symbols.  I've also created a point group called HIGHLIGHT that uses a different point style to emphasize points with certain descriptions.

 


I'm sorry if i'm not explaining it well enough, but your solution doesn't appear to give me any of the flexability I am looking for.  1) When I use layiso, the point label disappears, 2) cannot control the marker and label color by changing the layer color (I have a script that lets you grab an object and change the color of that objects layer. This lets me do the "highlight" which you have done with a point group on the fly and I can do it to any node layer just by selecting it instead of editing a point group) and 3) while the layer filter does work for turning off non-symbol markers and label text, I find having to to through the layer dialog a bit painful.

 

I have included my own work-in-progress file that gives me all of the functionality I am looking for with the exception of the use of layiso to quickly isolate individual point layers and maintain visibility of the labels as well. This is setup that in order to get rid of all point labels and basic markers, just freeze V-NODE-HIDE. I'm old school so I do this with a keyboard shortcut rather than running through dialogs.

Message 17 of 28
sboon
in reply to: kgerman


1) When I use layiso, the point label disappears

2) cannot control the marker and label color by changing the layer color (I have a script that lets you grab an object and change the color of that objects layer. This lets me do the "highlight" which you have done with a point group on the fly and I can do it to any node layer just by selecting it instead of editing a point group)

3) while the layer filter does work for turning off non-symbol markers and label text, I find having to to through the layer dialog a bit painful.

 

I have included my own work-in-progress file that gives me all of the functionality I am looking for with the exception of the use of layiso to quickly isolate individual point layers and maintain visibility of the labels as well. This is setup that in order to get rid of all point labels and basic markers, just freeze V-NODE-HIDE. I'm old school so I do this with a keyboard shortcut rather than running through dialogs.


All of your point styles have layers inside of them which appears to be the root of your problems.  It's similar to a block which has been defined with components on various layers.  If you turn off or freeze any of those layers then parts of your block disappear.  Try changing at least the point label layer in your point styles to 0, that should solve #1

 

Similar to above - changing the color of the layer the point is inserted on has no effect, since the point component within the style is on a different layer.  For example I looked at a LP.  The point is on layer V-NODE-ELEC but I have to change the color of V-NODE-ELEC-SYMB.

 

Using a layer within the styles to turn off all point display can work, but it prevents you from using LAYISO etc.

 

Steve
Please use the Accept as Solution or Kudo buttons when appropriate

Steve
Expert Elite Alumnus
Message 18 of 28
kgerman
in reply to: sboon


@sboon wrote:

All of your point styles have layers inside of them which appears to be the root of your problems.  It's similar to a block which has been defined with components on various layers.  If you turn off or freeze any of those layers then parts of your block disappear.  Try changing at least the point label layer in your point styles to 0, that should solve #1

 

Similar to above - changing the color of the layer the point is inserted on has no effect, since the point component within the style is on a different layer.  For example I looked at a LP.  The point is on layer V-NODE-ELEC but I have to change the color of V-NODE-ELEC-SYMB.

 

Using a layer within the styles to turn off all point display can work, but it prevents you from using LAYISO etc.

 

Steve


Yep, it's definitely the layers inside the point that are the issue.  But they are necessary to get the functionality I am looking for to hide non-symbol markers and labels when it is time to pretty the map up for delivery.  That is why I am looking for a workaround.

 

Try changing the color of the layer again, but doing a regen.  You can indeed control the color by layer.  You can see that because my control points are pink and found monuments are green.  Symbol markers will not change because they are bylayer.  That is by design.  I did have several point styles that were not setup byblock for the labels correctly that I fixed, but try it with any layer that uses the basic point style or anything in the list above METR-ELEC (that is where I got lazy and stopped changing bylayer to byblock).

 

Thanks for trying Steve.  I know i've got a pretty specific set of criteria, but i'm sure there is an answer out there somewhere.

Message 19 of 28
tcorey
in reply to: kgerman

Kevin, this code will do what you're asking.

(defun c:go ( / pt lyr vpt ptstyl mkr lbl mkrlyr lbllyr)

(vl-load-com)

  (setq pt (car (entsel "\nSelect Point on Layer to Isolate: "))  ;select the point
	lyr (cdr (assoc 8 (entget pt)))  ;the point's layer
	)

  (setq vpt (vlax-ename->vla-object pt))  ; makes a vla object from the point
  (setq ptstyl (vlax-get-property vpt 'Style)) ; retrieves the point's style
  (setq mkr (vlax-get-property ptstyl 'MarkerDisplayStylePlan))  ;retrieves the marker display info for plan view
  (setq lbl (vlax-get-property ptstyl 'LabelDisplayStylePlan))   ;retrieves the label display info for plan view
  (setq mkrlyr (vlax-get-property mkr 'Layer))   ;get the marker's layer
  (setq lbllyr (vlax-get-property lbl 'Layer))         ;get the label's layer 
  (vl-cmdf "layer" "off" "*" "y" "on" lyr "on" mkrlyr "on" lbllyr "")  ;Isolates the layers.
(princ)
  )

 Best regards,

 

Tim

 



Tim Corey
MicroCAD Training and Consulting, Inc.
Redding, CA
Autodesk Gold Reseller

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 20 of 28
CharlesRheault6717
in reply to: tcorey

This is great. I am going to use this to create a family of tools for layer on & off commands for points.
Can you suggest how this might work on cogo points in an xref?
AKA CaddCop

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Rail Community


 

Autodesk Design & Make Report