* Add IsGroupedBy in function get_decomposition
selector example : "@ .IfcZone & .IfcSpace"
* Update element.py
* Change name function get_group
get_group to get_grouped_by
* Add info mode toggle in addon prefs
* Add documentation property to Attribute
* Add webbrowser open operator
* Populate attribute doc on import
* Add attribute doc popup operator
* use path_resolve instead of eval
* Rename operator
* Add description field
* Panel UI is managed by operator
* Revert "Panel UI is managed by operator"
This reverts commit a7bbd06865.
* Revert "Revert "Panel UI is managed by operator""
This reverts commit d62115bf63.
* Add info popup to ifc class panel in object properties
* Implement fetching doc for non-ifc classes from jsonlike format
* Draw doc from non ifc classes
* Add utility function to draw info button on a given layout
* Add info buttons in the create project UI
* Display entity descriptions as tooltips in enum items
* Move predefined types fetching to data class
* Remove leftover prop code
* Use tool to get schema
Previous batch scripts was resulting in broken sym links (probably because mklink and some other comands were expecting full paths). New script provide required full paths and also use 1 line to set up blenderbim location.
Now you can access Doc API functions directly (like `ifcopenshell.util.doc.get_entity_doc(...)`) without setting up DocAPI class.
To make it work I've set up singleton DocDatabase class and made all paths relative to module location.
The schema for IFC4 the same as it was for IFC2x3.
Properties schema for IFC4 includes both quantity and propety sets.
Also cleaned up entities description for IFC2x3 from HTML code and IFC tags.
* IFC v2.3 json schema and parsing tool to regenerate it
Added entities and propeties schema in json format.
ifc2x3_entities.json format:
entity_name -> description, url, attributes;
attributes format: attribute_name -> attribute_descrption
ifc2x3_properties.json format:
property_set_name -> property_name -> description, children
children format: child_property_name -> child_property_description.
Also added doc.py script that can generate the same json schema files but requires docs IFC 2.3 docs in the same folder (https://github.com/buildingSMART/IFC/tree/Ifc2.3.0.1)
* Moved all json schema files to /util/schema
* Moved json files back to /util/, changed doc.py export location
* Added specification urls for entities and properties
Added specification urls for entities and properties.
Also added a function to parse actual property sets domain from the website to generate specification urls (domain on website and on github do not match).
Schema structure was changed:
ifc2x3_entities.json format:
entity_name -> description, spec_url, attributes;
attributes format: attribute_name -> attribute_descrption
ifc2x3_properties.json format:
property_set_name -> properties, spec_url
properties format: property_name -> description, children_properties
children_properties format: child_property_name -> child_property_description.
ifc2x3_property_sets_domains.json format:
property_set_name -> ifc_domain
* Now gross volume calculation doesn't consider related voids
* Qto gross volume calculation minor fixes
* No need to create a new entity and better mesh creation
* Use bmesh to calculate volume so it's not necessary to create a new object