Commit Graph

753 Commits

Author SHA1 Message Date
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
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 6c04669543 ifc5d - add ifc4x3 base quantities #6325 2025-03-13 18:43:19 +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 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
Dion Moult abfe8ec315 Fix failing IOS tests 2025-03-09 20:47:02 +11:00
Andrej730 71a7d0c086 Fix missing IfcDistributionCircuit and IfcElectricalCircuit #6202
When checking if element is assignable to the system.
2025-03-07 17:12:59 +05:00
Andrej730 79940641b2 typing 2025-03-06 18:43:54 +05:00
Andrej730 7458040949 Fix ifcpatch unit conversion for lists of ifc entities #6280 2025-03-06 16:14:02 +05:00
Andrej730 14eb543662 TestConvertFileLengthUnits - add attributes conversion tests 2025-03-06 16:14:02 +05:00
Andrej730 e786687882 ConvertFileLengthUnits - unify tests, add ifc4x3 tests 2025-03-06 16:14:02 +05:00
Andrej730 2987d38a31 append_asset - check unique styles based on their name #6269 2025-03-05 18:53:56 +05:00
Andrej730 649a913bbc add_profile_representation - add test 2025-03-04 18:10:42 +05:00
Andrej730 53a3afaded typing 2025-03-04 18:10:41 +05:00
Andrej730 fed063a0c6 edit_profile_usage - add test 2025-03-03 13:54:56 +05:00
Andrej730 5eb9cb2ee4 len(get_inverse) -> get_total_inverses 2025-02-24 18:52:35 +05:00
Andrej730 0783f8082e black . 2025-02-24 18:52:34 +05:00
Thomas Krijnen 9736345d79 Test case #6173 2025-02-23 14:46:31 +01:00
Richard Brice 12f8a1f769 Adds utility to stringize station values 2025-02-22 16:15:00 -08:00
Andrej730 cf1647a451 Fix bugs in 17642ca4e9 2025-02-21 17:31:33 +05:00
Andrej730 20e1fc2618 Fix bug in get_container not passing specified ifc_class to the parent #6155 2025-02-14 17:49:51 +05:00
Andrej730 59dd105e99 fix get_applicable_entities / get_applicable_types missing schema #6108 2025-02-08 07:54:49 +11:00
Dion Moult 55b9c7d6bf Fix failing ifcpatch tests 2025-02-05 14:10:41 +11:00
Andrej730 56f0c19a85 append_asset to support IfcPresentationLayerAssignment #6023 2025-02-04 17:37:56 +05:00
Andrej730 734cd47ea5 black . 2025-02-03 17:28:47 +05:00
Dion Moult c5185aaf54 Fix #6085. Failing unit test. 2025-02-03 16:33:04 +11:00
Dion Moult 79e4ba5b19 New usecase to add shape aspect with tests 2025-02-01 00:46:00 +11:00
Andrej730 c2ae3dcb08 append_asset - extend existing rels matching them by project guid
Mentioned in #6039
2025-01-31 17:12:31 +05:00
Andrej730 553872ced2 append_asset - fix issue appending elements that have as_entity() -> None #6037 #6039 2025-01-30 16:06:19 +05:00
raj-open 1b3b74127a guid-stdlibs > v0.8.0: linting 2025-01-28 21:46:34 +01:00
raj-open 85308133e2 guid-stdlibs > v0.8.0: added unit tests
NOTE: added in prefix-cases post PR review
2025-01-28 21:46:34 +01:00
Andrej730 f43e33b969 apped_asset - fix passed removed elements after 3ffc0bc #6044
Before 3ffc0bc checking identities were handled by file.add but now it's handled append_asset, therefore should be a way to clean removed entities.
2025-01-28 17:22:26 +05:00
Andrej730 7bfe844d53 Rename void to feature in code 03bfd828e2 2025-01-28 15:23:43 +05:00
Dion Moult 03bfd828e2 See #5919. API now has support for features, not just openings. Void module is renamed to feature. 2025-01-28 14:18:17 +11:00
Dion Moult 5300f4c78f Fix failing tests 2025-01-28 10:54:37 +11:00
Andrej730 744487c786 fix test_element after 7b62b03 2025-01-27 17:41:31 +05:00
Andrej730 5fe77b659a ifcopenshell.util.element.get_elements_by_profile 2025-01-27 17:41:31 +05:00
Andrej730 7b4fa6b5c0 black . 2025-01-27 17:41:30 +05:00
Dion Moult 3582dc43d9 Add tests for PR #5257 (using cache for fetching units) 2025-01-27 14:40:15 +11:00
Dion Moult c0aaebcbe9 Fix bug where assigning units didn't necessarily assign to the project, and also didn't overwrite existing units of the same type. 2025-01-27 14:23:02 +11:00
Andrej730 d37caedda7 layer.add_layer_with_style 2025-01-24 18:45:12 +05:00
Andrej730 3eeb58dded assign_structural_analysis_model to support batching 2025-01-23 18:14:17 +05:00
Andrej730 42d01ac222 Fix append_asset conversion issue after 3ffc0bc #6012
Custom file.add wasn't considering IfcLengthMeasure attributes...
2025-01-23 18:14:16 +05:00
Andrej730 605a29786c Fix tests after 7b62b03
Since calculate_unit_scale now requires a project.

    def calculate_unit_scale(ifc_file: ifcopenshell.file, unit_type: str = "LENGTHUNIT") -> float:
        """Returns a unit scale factor to convert to and from IFC project units and SI units.

        Example:

        .. code:: python

            ifc_project_length * unit_scale = si_meters
            si_meters / unit_scale = ifc_project_length

        :param ifc_file: The IFC file.
        :param unit_type: The type of SI unit, defaults to "LENGTHUNIT"
        :returns: The scale factor
        """
>       if not (units := ifc_file.by_type("IfcProject")[0].UnitsInContext):
E       IndexError: list index out of range
2025-01-22 18:24:52 +05:00
Andrej730 3ffc0bc39c append_asset to use custom file.add to prevent duplicating profiles and materials #5925 2025-01-20 16:23:31 +05:00
Andrej730 c0499a2c88 black . 2025-01-20 16:16:38 +05:00
Dion Moult e40644c4f6 See #5972. You can now remove boolean operations in the stack without deleting operands. 2025-01-19 01:08:47 +11:00
Dion Moult 8c746b1a2c Validate representation type items when leaving item mode. 2025-01-19 00:30:30 +11:00
Dion Moult 8e98aecc0b Document add boolean API 2025-01-19 00:30:30 +11:00
Dion Moult a12427e44a See #5972. Add tests for adding boolean and check against recursive booleans and invalid boolean items. 2025-01-18 21:13:54 +11:00