Skip to main content
Solved

Reading Attributes in Civil 3d Cogo Points


Forum|alt.badge.img

This is in reference to a previous post. I have attached an example .dwg . A need has arisen to retrieve the PNEZD (point#, northing, easting, elevation, description) and all of the attributes of each cogo point in a Civil 3D drawing. We can have up to 17 attributes for each point. Is this do-able? If so we could automate the extraction of thousands of points from numerous drawings and life would be swell.

Best answer by fmelizard

Because I'm a wannabe Civil 3D fanboi, I gave this a try. I used the Civil 3D reader (in FME 2018 beta -- I do not know if I'd expect different results with FME 2017, my guess is NO, FME 2017 is the same).

So I fired up Data Inspector, and read a Civil 3D drawing. Note that I "turned on" the option in the settings to read user defined cogo properties:

Then I selected the COGO points and saw a bunch of attributes that appear to be the ones you want:

Since we can see them when we select the features in Data Inspector, this means that attributes would be available in workbench. You may need to "expose" them, but they will be there.

 

I don't know if these are all the user defined properties you're expecting, and if they are not, please write into support to advise what we're missing (and include a sample file if its not this one). But I think I see easting, northing, description, elevation, and point # anyway).

If you're stuck making a workspace to put these properties into your output format of choice, do post back here and folks will help with that.

Hope this gets you going,

 

Dale

View original
Did this help you find an answer to your question?

12 replies

danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • September 27, 2017

Hi @brandsaxon,

I did insert your DWG in Reader and enable the Formats Attributes:

Second step was insert a transformer to replace like a point ( transformer CenterPointReplacer ) and a Counter to generate a id:

The transformer AttributeManager is configurated the Attributes:

Thanks,

Danilo


Forum|alt.badge.img
  • Author
  • September 28, 2017

Thanks for the reply Danilo. I am still unable to see the additional attributes such as Weld Id, Joint Ahead, Joint Back, etc. that are also attached to the points


danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • September 28, 2017
Hi @brandsaxon,

 

 

I did understand better now your case.

 

My step - by step:1) I analised your sample data and achecked has two differents points: respecting the attribute autocad_entity_handle: D20 and D21.

 

2) With the transformer Aggregator by autocad_entity_handle, a list attribute was created.

 

3) Used the transformer to search within from list by attributes that you want: JOINT BACK, JOINT AHED, ELEVATION, ( to get more attributes is just to replicate the transformer ListSearcher. The new attibute is created to hold the number list that is the string = Index Attribute

 

4) With AttributeManager to mapping the Attributes from value lists: @Value(List{@Value(_list_index)}.autocad_text_string)

 

 

Attached the Workspace.

 

Please tell me if you want more help;

 

 

Thanks, - workspace-dwg.fmw

 

Danilo

danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • September 28, 2017
brandsaxon wrote:

Thanks for the reply Danilo. I am still unable to see the additional attributes such as Weld Id, Joint Ahead, Joint Back, etc. that are also attached to the points

Hi @brandsaxon,

 

 

I did understand better now your case.

 

My step - by step:1) I analised your sample data and achecked has two differents points: respecting the attribute autocad_entity_handle: D20 and D21.

 

2) With the transformer Aggregator by autocad_entity_handle, a list attribute was created.

 

3) Used the transformer to search within from list by attributes that you want: JOINT BACK, JOINT AHED, ELEVATION, ( to get more attributes is just to replicate the transformer ListSearcher. The new attibute is created to hold the number list that is the string = Index Attribute

 

4) With AttributeManager to mapping the Attributes from value lists: @Value(List{@Value(_list_index)}.autocad_text_string)

 

 

Attached the Workspace.

 

Please tell me if you want more help;

 

 

Thanks, - workspace-dwg.fmw

 

Danilo

danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • September 30, 2017
danilo_fme wrote:
Hi @brandsaxon,

 

 

I did understand better now your case.

 

My step - by step:1) I analised your sample data and achecked has two differents points: respecting the attribute autocad_entity_handle: D20 and D21.

 

2) With the transformer Aggregator by autocad_entity_handle, a list attribute was created.

 

3) Used the transformer to search within from list by attributes that you want: JOINT BACK, JOINT AHED, ELEVATION, ( to get more attributes is just to replicate the transformer ListSearcher. The new attibute is created to hold the number list that is the string = Index Attribute

 

4) With AttributeManager to mapping the Attributes from value lists: @Value(List{@Value(_list_index)}.autocad_text_string)

 

 

Attached the Workspace.

 

Please tell me if you want more help;

 

 

Thanks, - workspace-dwg.fmw

 

Danilo
Hi @brandsaxon,

 

Did you test this Workspace?

 

 

Thanks,

 

Danilo

fmelizard
Contributor
Forum|alt.badge.img+17
  • Contributor
  • Best Answer
  • September 30, 2017

Because I'm a wannabe Civil 3D fanboi, I gave this a try. I used the Civil 3D reader (in FME 2018 beta -- I do not know if I'd expect different results with FME 2017, my guess is NO, FME 2017 is the same).

So I fired up Data Inspector, and read a Civil 3D drawing. Note that I "turned on" the option in the settings to read user defined cogo properties:

Then I selected the COGO points and saw a bunch of attributes that appear to be the ones you want:

Since we can see them when we select the features in Data Inspector, this means that attributes would be available in workbench. You may need to "expose" them, but they will be there.

 

I don't know if these are all the user defined properties you're expecting, and if they are not, please write into support to advise what we're missing (and include a sample file if its not this one). But I think I see easting, northing, description, elevation, and point # anyway).

If you're stuck making a workspace to put these properties into your output format of choice, do post back here and folks will help with that.

Hope this gets you going,

 

Dale


tomw202
Participant
Forum|alt.badge.img+4
  • Participant
  • October 5, 2017
danilo_fme wrote:
Hi @brandsaxon,

 

Did you test this Workspace?

 

 

Thanks,

 

Danilo
Hi @danilo_inovacao. I'm looking to do something similar to @brandsaxon so I've looked at the data and your workbench solution. I think your solution is ok, when the CoGo points attributes are added to the drawing as text. However, in many situations, they are simply contained as attributes within the CoGo point and not physically shown on the drawing. Your solution wouldn't work in these cases. Are you aware of any way to get into the attribute data (for example the TGS Attributes properties in @brandsaxon's data - see my image) without adding the attribute text to the drawing. I.e see them as exposed attributes on the dwg reader?


danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • October 5, 2017
tomw202 wrote:
Hi @danilo_inovacao. I'm looking to do something similar to @brandsaxon so I've looked at the data and your workbench solution. I think your solution is ok, when the CoGo points attributes are added to the drawing as text. However, in many situations, they are simply contained as attributes within the CoGo point and not physically shown on the drawing. Your solution wouldn't work in these cases. Are you aware of any way to get into the attribute data (for example the TGS Attributes properties in @brandsaxon's data - see my image) without adding the attribute text to the drawing. I.e see them as exposed attributes on the dwg reader?

Hi @tomw202, you are right in your case.

 

 

Do you need to expose these attributes how @daleatsafe described above.

 

 

Thanks,

 

Danilo

tomw202
Participant
Forum|alt.badge.img+4
  • Participant
  • October 5, 2017
danilo_fme wrote:
Hi @tomw202, you are right in your case.

 

 

Do you need to expose these attributes how @daleatsafe described above.

 

 

Thanks,

 

Danilo
Hi @danilo_inovacao, yep I was hoping that exposing them how @daleatsafe described would work. However as far as I can see, this doesn't expose all the attributes (i.e not the TGS Attributes). I've tried this on my own dataset too and no luck!

danilo_fme
Evangelist
Forum|alt.badge.img+41
  • Evangelist
  • October 5, 2017

Hi @tomw202, could share me a sample your data to test here in my Desktop?

Thanks,

Danilo


fmelizard
Contributor
Forum|alt.badge.img+17
  • Contributor
  • October 5, 2017
tomw202 wrote:
Hi @danilo_inovacao, yep I was hoping that exposing them how @daleatsafe described would work. However as far as I can see, this doesn't expose all the attributes (i.e not the TGS Attributes). I've tried this on my own dataset too and no luck!
Would you mind sending in a sample with a clear explanation of what attrs you're looking for to support@safe.com -- we'd love to do a better job here.

 

 


tomw202
Participant
Forum|alt.badge.img+4
  • Participant
  • October 6, 2017
danilo_fme wrote:
Hi @tomw202, you are right in your case.

 

 

Do you need to expose these attributes how @daleatsafe described above.

 

 

Thanks,

 

Danilo
Thanks @daleatsafe I will do.

Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings