Andrej730
7974d8a0d0
project.append_asset - test assume_asset_uniqueness_by_name=False
2025-04-11 19:55:26 +05:00
Andrej730
53da00a5b7
append_asset - fix possible errors with assume_asset_uniqueness_by_name=False after f43e33b
...
If `assume_asset_uniqueness_by_name` is `False`, then we don't really need `SafeRemovalContext`.
2025-04-11 19:55:25 +05:00
Andrej730
cf1f74e260
typing
2025-04-09 18:26:53 +05:00
Dion Moult
93e7d92076
Fix bug where removing a context (used by representations) left invalid representations
2025-04-01 17:28:22 +11:00
Andrej730
e3228513c0
typing
2025-03-31 19:10:20 +05:00
Andrej730
547506d626
black .
2025-03-31 19:10:20 +05:00
Richard Brice
42c49af4e3
Implements business to geometry mapping for alignment cant.
...
Also fixes problems that were created by this work in other files
2025-03-29 15:30:04 -07:00
Andrej730
c58b84ddb5
append_asset - fix duplicated applications/organizations/pao
...
Noticed when starting new project with demo library it had 29 duplicated IfcApplications...
2025-03-28 17:59:07 +05:00
Andrej730
fd423f21e2
ifcopenshell.validate - validate IfcApplications
2025-03-28 17:59:07 +05:00
Thomas Krijnen
9254601924
Underscores in geom setting to argparse namespace
2025-03-28 12:11:27 +01:00
Andrej730
64b8842055
typing
2025-03-27 19:29:45 +05:00
Andrej730
a3c5c0ce43
Fix typo in 64f51d7
2025-03-26 18:49:21 +05:00
Andrej730
c3107e37c0
material.remove_material_set to remove usages
...
To prevent them from being invalidated.
Noticed this as a possible issue investigating https://community.osarch.org/discussion/2820/error-message-in-bonsai-bim
2025-03-26 18:49:21 +05:00
Andrej730
d35a2dcf5b
typing
2025-03-26 18:49:21 +05:00
Andrej730
0d7439c7a5
ifcopenshell.validate to catch invalid entities used in entities attributes #6409
...
Example
```
For instance:
# 1 =IFCCARTESIANPOINT((5.,5.,nan.));
Entity with name 'nan.' not found in schema 'IFC4'
```
2025-03-25 18:15:37 +05:00
Andrej730
2f34f997dd
Fix api.alignment missing __all__
2025-03-24 17:36:27 +05:00
Andrej730
7a55e837f7
typing
2025-03-24 17:36:26 +05:00
Dion Moult
58c7976a5e
See #1227 . Fix regression where new wall system didn't preserve existing dimensions when regenerating geometry for an object that previously didn't have a layerset
2025-03-23 23:55:15 +11:00
Andrej730
e075c32a5a
typing
2025-03-21 18:39:38 +05:00
Thomas Krijnen
45c45d6862
ifcopenshell.geom.serializers.guess_from_extension()
2025-03-21 14:35:47 +01:00
Thomas Krijnen
6880e31a66
Add ColladaSerializer to python bindings
2025-03-21 14:35:23 +01:00
Dion Moult
963ba5fc30
See #6404 . See #1227 . Create axis context if it does not exist for walls.
2025-03-21 16:45:29 +11:00
Dion Moult
8e1e0aec79
Fix #6404 . See #1227 . Fix IFC2X3 wall creation with new wall engine.
2025-03-21 16:30:56 +11:00
Thomas Krijnen
2a2bfea870
Read settings from argparser
2025-03-20 11:47:14 +01:00
Richard Brice
09a43f1339
get distance along alignment from station
...
New alignment api function to get the horizontal distance along an alignment from a station value
2025-03-17 09:16:35 -07:00
Andrej730
0abe6329d6
Quantification to consider Pset_ProfileMechanical.MassPerLength #6344
2025-03-17 18:31:58 +05:00
Andrej730
1f43f7f807
black .
2025-03-17 18:31:57 +05:00
Andrej730
778a839e5f
get_shape_aspects to consider element's type #6374
...
See diagram in https://github.com/IfcOpenShell/IfcOpenShell/issues/5839#issuecomment-2661296683 when IfcShapeAspect assigned to IfcRepresentationMap instead of being assigned to IfcProductDefinitionShape directly.
2025-03-17 16:38:12 +05:00
Sayan J. Das
cf3a554b15
Fix #5809 : Add safety check during file.write ( #6292 )
...
Co-authored-by: theseyan <sayanjyotidasworkmail@gmai.com >
2025-03-17 16:17:42 +05:00
Richard Brice
04e07db0a3
Import alignment from csv ( #6234 )
...
* Start of the official alignment API
* Import alignment into bonsai model using CSV file
2025-03-14 07:31:50 -07:00
Andrej730
9ba3b6a61f
add cgal-original-edges option to settings ( 5599e52)
2025-03-14 18:19:08 +05:00
Andrej730
6cfd15e819
Fix mistake in 64f51d7
2025-03-14 18:19:07 +05:00
Andrej730
2f87029434
Use schema_identifier to get IFC4X3 schema more precisely
2025-03-14 18:19:07 +05:00
Andrej730
9f78d9881e
ifcopenshell.util.shape - use refs to functions in docs
2025-03-14 18:19:06 +05:00
Andrej730
86ebc968e5
ifcopenshell.util.element.get_element_mass_density
...
Move it from Blender qto calculator as this method can be generally useful
2025-03-14 18:19:06 +05:00
Andrej730
0e8810c1f5
typing
2025-03-14 18:19:02 +05:00
Andrej730
4daf4693f3
selector syntax - note on PredefinedType
2025-03-13 18:43:19 +05:00
Andrej730
edd60a73ca
generate_pset_templates - fix running after ifc4x3 release
...
The error was:
```
Traceback (most recent call last):
File "\IfcOpenShell\src\ifcopenshell-python\ifcopenshell\util\generate_pset_templates.py", line 416, in <module>
templates_generator.parse_ifc4x3_data()
File "\IfcOpenShell\src\ifcopenshell-python\ifcopenshell\util\generate_pset_templates.py", line 94, in parse_ifc4x3_data
self.parse_psets_data("IFC4X3", pset_data_glob, "IFC4X3 Property Set Templates", str(IFC4x3_OUTPUT_PATH))
File "\IfcOpenShell\src\ifcopenshell-python\ifcopenshell\util\generate_pset_templates.py", line 129, in parse_psets_data
schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(schema_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\ifcopenshell_wrapper.py", line 9037, in schema_by_name
return _ifcopenshell_wrapper.schema_by_name(arg1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: No schema named IFC4X3
```
2025-03-13 18:43:19 +05:00
Andrej730
6c04669543
ifc5d - add ifc4x3 base quantities #6325
2025-03-13 18:43:19 +05:00
falken10
6517cafd98
Update add_prop_template.py so the properties are sorted
...
This allows to keep the pset properties sorted for easy access
2025-03-13 10:35:40 +11:00
Ryan Schultz
ba8753d55e
Updated docs regarding material selector syntax.
2025-03-12 16:27:48 -05:00
Ryan Schultz
18431dec31
added material.item.Material.Name.0 to selector syntax
2025-03-12 14:23:43 -05:00
Andrej730
ece91a94db
util.schema.reassign_class to return early if class already assigned
2025-03-12 18:49:26 +05:00
Andrej730
dbf4a2a5ed
Fix reassign_class on IFC4X3, use ValueError
...
Use ValueError to make it more specific
2025-03-12 18:49:22 +05:00
Andrej730
f6640d3904
typing
2025-03-12 18:49:22 +05:00
Dion Moult
6596f5bc4b
Fix regressions in MEP joins after switching over to numpy from mathutils
2025-03-12 23:05:34 +11:00
Dion Moult
f5a1c4aae3
See #1227 . Reimplement extend walls to slab (or anything with negative Z faces)
...
There are a few differences to the previous implementation:
1. It is no longer recalculated on wall regeneration. The new wall
regeneration is strict to the spec on the rules of rel connects path,
and so this being a "userdefined" connection we only calculate it
explicitly when the user invokes the operator.
2. It uses meshes instead of clipping planes, so you can clip to
strange shapes or gable roofs or whatever. Nice.
2025-03-12 18:05:57 +11:00
Andrej730
6bd8636c92
Revert "Bump IOS"
...
This reverts commit c1bc36ab86 .
2025-03-11 18:46:38 +05:00
Andrej730
a9f7d4ab3b
get_applicable_types in ifc2x3 to prioritize IfcBuildingElementProxyType
...
for occurrence classes without special type.
E.g. previously:
you select IfcSlab and change it to IfcRoof - since there is not IfcRoofType in IFC2X3 it would figure the matching product type is IfcBeamType and change this slab's type element to IfcBeamType. IfcBuildingElementProxyType seems more generic and fitting.
2025-03-11 18:37:24 +05:00
Andrej730
977d814d39
bim.reassign_class - fix issue in ifc2x3 when selected product class would be ignored
...
E.g. you select IfcSlab and change it to IfcRoof - since there is not IfcRoofType in IFC2X3 it would figure the matching product type is IfcBeamType (which is confusing too but that's another subject) and change this slab's type object to IfcBeamType which consequently change IfcSlab to IfcBeam instead of IfcRoof that was selected originally.
Noticed investigating #5918
2025-03-11 18:37:23 +05:00