Get all Bim informations of a componant!

Hi all,

I want to make a report a of the classification information that I put inside a model.

According to the documentation, I find how to get the classification of the definition:

Sketchup.active_model.definitions[5].attribute_dictionaries[“AppliedSchemaTypes”][“IFC 2x3”]
=> “IfcWall”

I see how to get information according to a path.

Sketchup.active_model.definitions[5].get_classification_value([“IFC 2x3”, “IfcWall”,“Description”,“IfcText”])
=> Facade Bois

I’m looking to get all the filled information inside the classification value.
My plane is to test all information of the classification for each component ?
What is the better way ?

I remember that during the Athene Camp, we talk about how to get the BIM information. but I don’t find the note of the conference.

Thanks for you’re help !

We don’t have any special API methods to traverse all the classification data, but you can traverse the nested set of attribute dictionaries yourself using the AttributeDictionary iterators.

Thanks for yours answer !

Hi, nice to find this thread.

Can you educate me on why “AppliedSchemaTypes” is an AttributeDictionary of the same ‘order’ as “IFC 2x3”?

I’m struggling to write some code that would traverse the IFC fields… will try to fiddle with the Attribute Visualizer code.

Thanks!

Just a design implementation detail.
But avoid digging directly into the attributes - use the API methods we added in SU2015 instead:
http://www.sketchup.com/intl/en/developer/docs/releases

Hi TT!
Haven’t found on the new API methods a simple way of traversing the fields, only methods for getting/setting single values by indicating the path.
Cheers!

Ah, right - we don’t have API methods to do that. What are you making?

It’s a weird idea… I would like to replicate IFC fields/info as DC attributes so that the user can link to that info on LayOut.

But - LayOut should already be able to label classifier data. Is there anything in particular that LayOut isn’t currently doing?

Yeah, true, I think I got it all wrong : /