Solved

Reading Attributes in Civil 3d Cogo Points

  • 28 September 2017
  • 12 replies
  • 53 views

Badge

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.

icon

Best answer by fmelizard 30 September 2017, 23:48

View original

12 replies

Userlevel 4
Badge +30

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

Badge

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

Userlevel 4
Badge +30
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
Userlevel 4
Badge +30

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
Userlevel 4
Badge +30
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
Userlevel 4
Badge +13

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

Badge +3
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?

Userlevel 4
Badge +30
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
Badge +3
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!
Userlevel 4
Badge +30

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

Thanks,

Danilo

Userlevel 4
Badge +13
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.

 

 

Badge +3
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.

Reply