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
e22ebfbf94
Fix #2523 . Extrusion depth now reflects perpendicular depth
2022-10-26 22:24:18 +11:00
Dion Moult
7ff1b8a34d
New API for connecting and disconnecting elements
2022-10-25 17:54:24 +11: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
Thomas Krijnen
6346c5ba47
#1444 V3d_DirectionalLight compatibility fix
2022-10-22 20:30:13 +02:00
Thomas Krijnen
f012286eda
#2408 ifcopenshell.file.get_inverse(with_attribute_indices)
2022-10-20 13:35:02 +02:00
Dion Moult
45087e8822
The BIM Tool now provides similar slab-like editing tools for ramps and roofs
2022-10-20 20:51:32 +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
Dion Moult
16b05d9981
Fix support for document references in IFC2X3
2022-10-19 20:17:10 +11:00
Thomas Krijnen
7f278fbde4
Import submodule explicitly
2022-10-19 10:44:29 +02: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
Dion Moult
6098d94223
Fix #2507 .
2022-10-18 22:47:42 +11:00
Dion Moult
9ef65c9cc5
Add basic support for sloped walls, sloping along the local X axis
2022-10-17 22:52:44 +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
a34c0cb35c
Fix a variety of IFC validation errors in entity creation and asset appending
2022-10-14 18:19:35 +11:00
Dion Moult
8be1a913ec
Basic support for mesh booleans
2022-10-13 17:04:53 +11:00
Dion Moult
dff35c173d
You can now delete a type when managing types
2022-10-11 15:31:31 +11:00
Thomas Krijnen
0446fca56a
--json --spf option in validate.py
2022-10-10 14:25:45 +02:00
Dion Moult
32f0911479
Elements with filled openings don't have their openings copied, as it depends on the fill
2022-10-09 22:22:12 +11:00
Dion Moult
bdbd874fa8
Fix #2488 . Copying objects now copy deep instead of adding afresh (and losing parametric data and openings).
2022-10-09 18:09:22 +11: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
Thomas Krijnen
cd27d48701
#2482 entity_instance.to_string()
2022-10-08 17:18:47 +02: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
7d779130e1
Removing products now handles purging a bunch more inverse relationships
2022-10-08 21:15:01 +11:00
Dion Moult
7d1a41c1c7
Minor fix
2022-10-07 16:08:21 +11:00
Dion Moult
2cb8eebf83
Profiles now retain manual booleans alongside autogenerated clipping planes
2022-10-05 21:52:07 +11:00
Dion Moult
e97d427e9f
Copying elements with openings now also copies openings
2022-10-05 19:44:32 +11:00
Dion Moult
428ee648b4
Wall representations now distinguish between auto and manual booleans and manual booleans move with the wall
2022-10-05 13:09:18 +11:00
Thomas Krijnen
fa6bbf2d4a
A bunch of not so pretty validate.py performance improvements
2022-10-04 15:16:34 +02:00
Dion Moult
1f56b36bfa
Minor fix
2022-10-04 20:16:36 +11:00
Thomas Krijnen
f41ad0d5de
#2471 work around file gc with instance refs
2022-10-04 10:23:08 +02:00
Dion Moult
0eae3de6a2
Openings now move with the host by default. Small change, big impact.
2022-10-03 23:30:19 +11:00
Thomas Krijnen
c57e5e2100
Capture lower level errors in validate.py reported in C++
2022-10-03 14:19:29 +02:00
Dion Moult
567548c7f3
Fix bug where adding an opening didn't create a relative placement
2022-10-03 22:35:53 +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
4b8238a602
Openings are no longer loaded when loading fresh IFC projects
2022-10-01 20:32:40 +10:00
Dion Moult
9e76b2b9eb
Footprints are now supported in the new profile editor
2022-09-30 13:00:40 +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
33ebcd7664
New convenient modifier to rotate beam/wall/column etc by 90 degrees
2022-09-24 21:46:32 +10:00
Dion Moult
56f4b72161
Reimplement profile cardinal points 1-9 with new profile engine
2022-09-24 15:42:50 +10:00