Andrej730
f2c2fa8dce
Added entities predefined types to schema
...
Both for ifc2x3 and ifc4 but there is still a problem with ifc2x3 predefined types description - it's empty since constants have no description in ifc2x3. For temporary solution I've used description available on ifc4 for ifc2x3 too.
I've also added API function to get entity's predefined type description: `get_predefined_type_doc(version, entity, predefined_type)`
Example for the same constant that has no description in ifc2x3 and has one in ifc4:
https://github.com/buildingSMART/IFC/blob/Ifc2.3.0.1/Constants/s/STEAMINJECTION_1b6zZZM99EevT2LVdQ7B%24V.xml
https://github.com/buildingSMART/IFC/blob/Ifc4.0.2.1/Constants/s/STEAMINJECTION_1b6zZZM99EevT2LVdQ7B$V.xml
2022-10-27 16:23:46 +06:00
Dion Moult
fb786bb90c
Batch reassignments now take advantage of inverse indices for a slight speedup. See #2408 .
2022-10-25 16:27:13 +11:00
Dion Moult
67955b4e35
Batch reassign utility to address performance issues in #2408 .
2022-10-20 18:25:14 +11:00
Dion Moult
9a0f29170a
Fix #2518 . Don't fail on non-existent schemas to allow for custom schemas
2022-10-20 15:03:33 +11:00
Dion Moult
d09286eeca
Schema migrator now supports IfcElectricDistributionPoint
2022-10-20 14:52:39 +11:00
Boris Brangeon
83bd0a973c
Add function grouped_by in Selector ( #2515 )
2022-10-19 18:49:06 +11:00
Boris Brangeon
b2c5153c1c
Add IsGroupedBy in function get_decomposition ( #2513 )
...
* Add IsGroupedBy in function get_decomposition
selector example : "@ .IfcZone & .IfcSpace"
* Update element.py
* Change name function get_group
get_group to get_grouped_by
2022-10-19 18:48:55 +11:00
Dion Moult
80020970e1
Purge old dynamic void system as Blender booleans are not sufficient.
2022-10-19 12:32:02 +11:00
Dion Moult
159e2ca779
Run black and minor fix. See #1990 .
2022-10-19 09:17:37 +11:00
Ryan Schultz
f8a8250429
searching for an IfcMaterial in IfcMaterialDefinitions ( #2503 )
...
* searching for an IfcMaterial in IfcMaterialDefinitions
A start to trying to address: https://community.osarch.org/discussion/comment/13024/#Comment_13024
* refactored to a tighter version. Thanks Thomas.
2022-10-17 20:24:05 +11:00
Andrej730
81d80ee415
Doc API is now accessible without setting up DocAPI class
...
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.
2022-10-16 16:54:05 +06:00
Andrej730
4dc860c019
Added IFC v4.0 json schema and added docs API for working with schemas
...
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.
2022-10-16 13:32:22 +06:00
Dion Moult
b90ab70658
Modeling dimensions now have sensible defaults depending on units and show prior to element creation
2022-10-15 11:06:21 +11:00
Andrej730
28aab490df
IFC v2.3 json schema and parsing tool to regenerate it ( #2501 )
...
* 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
2022-10-15 07:14:34 +11:00
Thomas Krijnen
0810fa7564
Escape \W in selector grammar
2022-10-14 11:30:11 +02:00
Dion Moult
232252f61d
Copy deep can now exclude things, useful for copying representation graphs where you don't want to duplicate the context
2022-10-09 17:15:39 +11:00
Dion Moult
4110b81270
Decomposition mode now selects all children (not parenting) to move a host and all children easily
2022-10-08 23:42:03 +11:00
Dion Moult
944cbeea1a
Handle both 2D and 3D placement matrixes in IfcOpenShell utils
2022-10-01 23:25:34 +10:00
Dion Moult
a08a78b3c9
Slabs are now first created directly in IFC instead of reverse engineering meshes
2022-09-30 12:08:57 +10:00
Dion Moult
db9af13843
Fix #2427 . Don't treat missing mandatory attributes as fatal in IFC version migration
2022-09-20 22:46:15 +10:00
Dion Moult
171db4b241
Add support for connecting/disconnecting paths in API
2022-09-15 10:32:01 +10:00
Dion Moult
91fac6d4bd
Add IfcTester support and test cases for bounded, table, and reference props
2022-09-12 22:35:05 +10:00
Dion Moult
c7c59d9496
IfcTester now supports list and enumerated properties
2022-09-12 21:34:06 +10:00
Dion Moult
fdfaf54698
Support resource level classifications in IfcOpenShell API
2022-09-02 18:23:49 +10:00
Dion Moult
451512ddff
#1812 Add batching support for remove_deep2 for faster removals
2022-08-30 20:08:03 +10:00
luz paz
771ba4c337
Revert 3rd party code changes
2022-08-27 15:34:16 +02:00
luz paz
33199b4bb6
Fix various typos
2022-08-27 15:34:16 +02:00
Dion Moult
f50e790b11
Minor fix
2022-08-22 17:02:05 +10:00
Dion Moult
0844d6f52e
Fix #2354 - add support for selector queries for enumerated properties
2022-08-19 20:10:54 +10:00
Dion Moult
520e7653e4
#1375 #2317 add API support for referencing in spatial structures
2022-08-19 18:43:39 +10:00
Sigma Dimensions
d3795c9836
Documentation for ifcopenshell.util.element
2022-08-15 19:40:51 +01:00
Dion Moult
5b5a4649c5
Fix #2310 . Manually patch applicable class errors in official IFC pset templates.
2022-08-01 13:05:57 +10:00
Vukas Pajic
ce6d4ea59a
match elements when attribute is none and negation used
2022-07-20 09:33:58 +02:00
Vukas Pajic
afa0db3c7e
all tests in test_selector.py now passing
2022-07-19 14:51:48 +02:00
Vukas Pajic
2c29f89fe9
Selector - update regex for pset filter
2022-07-19 09:19:32 +02:00
Vukas Pajic
e3d9dd747d
draft
...
endofday 1207
240pm 14/07
draft version
cleanup
2022-07-18 15:11:27 +02:00
Vukas Pajic
5b77001568
updated according to comments
2022-06-29 17:23:27 +10:00
Vukas Pajic
1f4022a41b
fix error from util/element.py
2022-06-29 17:23:27 +10:00
Vukas Pajic
c8c9262090
initial commit
...
-Added support for adding and editing enums
-changed behaviour of template psets that have enums.
2022-06-29 17:23:27 +10:00
Dion Moult
ff3e2f14e1
Inherited and overridden classification references per system is now supported
2022-06-21 19:28:29 +10:00
Dion Moult
95881c6258
Fix embarrassing geolocation bug for showing / setting grid north
2022-06-09 10:22:02 +10:00
Dion Moult
1ec0e1ce19
Fix bug with displaying inherited psets by accident.
2022-06-08 09:07:22 +10:00
Thomas Krijnen
a96bffa341
Update schema.py
2022-06-06 10:31:33 +02:00
Dion Moult
4c4846bc8f
Support userdefined process types in util module
2022-05-31 16:23:13 +10:00
Dion Moult
4da5a38237
Implement IDS material null checks, inheritance checks, and set item checks
2022-05-12 12:06:23 +10:00
Dion Moult
8aa38917eb
New classification utility module
2022-05-11 15:19:17 +10:00
Dion Moult
eb3e137a6e
#2196 Get psets now handleds inheritance by default
2022-05-11 09:18:23 +10:00
Dion Moult
f0a00cbc94
#2185 Set up auto generated API reference documentation via sphinx-autoapi
2022-05-09 15:35:52 +10:00
Dion Moult
93fd3f97e3
#2111 New feature to select by style and see style usage
2022-05-08 18:03:18 +10:00
Dion Moult
f8acde0801
You can now add ports to types, and ports are created when placing occurrences of that type
2022-05-03 14:32:18 +10:00