Dion Moult
ddf7d1b0b9
Change default behaviour of remove_representation not to remove named profiles
...
I guess this is a Bonsaism but it makes sense as named profiles are
significant, and it isn't the first time materials and profiles have
been treated as "rooted" in a sense. It's also annoying to keep on
having my profile library drop off when I'm just switching profiles.
2025-02-11 20:01:19 +11:00
Dion Moult
eeac0a2e30
Fix bug where removing material set items weren't consistent in how they purged materials and profiles
...
Previously remove_profile would purge unused materials and profiles, but
remove_layer and remove_constituent wouldn't. This was as subtle
inconsitency. Now everything by default consistently retains materials
and profiles, and has options to change this default.
2025-02-11 20:00:17 +11:00
Andrej730
e1c49ad317
Fix error adding transom to parametric door #6129
2025-02-10 16:47:14 +05:00
Dion Moult
1d2214efd9
Fix IfcOpenShell-Python on Python 3.10
...
Elipsis is not allowed for generic typing
2025-02-10 17:26:03 +11:00
Andrej730
59dd105e99
fix get_applicable_entities / get_applicable_types missing schema #6108
2025-02-08 07:54:49 +11:00
Dion Moult
2cc4f96b7f
Fix failing project feature tests. Fix regression where appending an asset might append a named style twice.
2025-02-07 22:02:44 +11:00
Dion Moult
c40d21d945
Fix #6106 . True north must always be 2D.
2025-02-07 13:19:33 +11:00
Dion Moult
3aa4fa580b
Fix regression where you couldn't upgrade schema of IFCs with invalid headers
2025-02-07 12:38:52 +11:00
Dion Moult
b7fb5c90bc
Continue fixing failing tool tests. Fix regression where UV coordinates might have the wrong order.
2025-02-06 17:22:54 +11:00
Andrej730
c16894cabf
Fix bug in 124c028 saving defined unit as defining
2025-02-05 18:27:27 +05:00
Dion Moult
e86624873b
Fix segfault from editing a IFC2X3 georeferencing pset with a null map unit.
...
Doing createIfcIdentifier(None) segfaults.
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
d4f44cb0a1
typing
2025-02-04 17:37:55 +05:00
Dion Moult
50ed756353
Found out layer names don't exist in IFC2X3 that's incredible
2025-02-03 16:04:56 +11:00
Dion Moult
dc79e9e005
More utility functions to jump between representations, styles, and shape aspects
...
It's a bit uncertain where these belong best, we'll find out over time
2025-02-01 16:11:37 +11:00
Dion Moult
d25f57ec40
See #2981 . Adding a door representation now also adds associated shape aspects
...
It doesn't add materials though, that's a separate responsibility right
now
2025-02-01 16:02:57 +11:00
Dion Moult
9f93779ac2
Adding set items can now specify a name at creation for convenience
2025-02-01 16:00:43 +11:00
Dion Moult
8436817408
Update incorrect docs and raise suspicion about how shape aspect styles are assigned
2025-02-01 15:55:34 +11:00
Dion Moult
1a98504328
Fix bug and typo where getting shape aspects for non-geometric types (e.g. walls) would fail
...
This caused an error when updating a style of a material used in a wall
type
2025-02-01 15:54:57 +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
089f15a5cc
fix a typo
2025-01-31 15:06:37 +05:00
Thomas Krijnen
919df92888
Virtual inheritance configurable at codegen time
2025-01-30 13:12:42 +01:00
Andrej730
553872ced2
append_asset - fix issue appending elements that have as_entity() -> None #6037 #6039
2025-01-30 16:06:19 +05:00
Andrej730
bc33cb6391
append_asset - remove unnecessary partial
2025-01-30 16:06:19 +05:00
Dion Moult
4e17a2d6de
The shape builder can now create half space solids for convenience
2025-01-30 18:44:38 +11:00
Dion Moult
eaaec4a12d
Fix ridiculous bug where util.element.get_container didn't consider all parents and therefore didn't correctly contain feature elements in the spatial hierarchy
2025-01-30 18:44:27 +11:00
Andrej730
871710a0aa
Fix remove_representation error #6059
...
After to_delete was explicitly added as an attribute to ifcopenshell.file (previously it was kind of hacky assigned during batch remove).
2025-01-29 16:02:50 +05:00
Andrej730
85e0fa9147
assign/unassign layer - mention representations
2025-01-29 16:02:50 +05:00
Dion Moult
424cd96fef
Add warning that api.run is deprecated
2025-01-29 19:53:50 +11:00
raj-open
64a027cfba
guid-stdlibs > v0.8.0: linting
2025-01-28 21:46:34 +01:00
raj-open
285c4bff67
guid-stdlibs > v0.8.0: used underlying base64-to-hex to speed up computations
...
NOTE: The conversions remain exactly as before. But by using standard libraries for conversion, we clean up computations.
2025-01-28 21:46:34 +01:00
Bruno Perdigão
c2c2d2d8f3
Revert 87c7309724. I misunderstood the expected behavior.
2025-01-28 17:37:20 -03:00
Bruno Perdigão
87c7309724
See #5938 . Fix bug where x_angle where changing the wall thickness.
2025-01-28 16:28:23 -03: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
c0306fc729
typing
2025-01-28 17:22:26 +05:00
Andrej730
23648ef221
remove duplicated add_feature method
...
It was moved to feature module in 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
Dion Moult
8e29e7cdee
Be a bit more forgiving in calculate unit scale to not glitch out on models with no project.
...
It's technically invalid but useful for small snippets.
2025-01-28 10:46:24 +11:00
Dion Moult
6e0954e855
Purge constants file that came from PR.
2025-01-28 10:45:54 +11:00
Andrej730
5fe77b659a
ifcopenshell.util.element.get_elements_by_profile
2025-01-27 17:41:31 +05:00
Andrej730
e71a220f21
typing
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
Dion Moult
4af6c24314
Completely untested refactor of #5257 .
...
Removes dependency of file to util (util should depend on file, not vice
versa). Removes auxiliary method.
2025-01-26 21:11:11 +11:00
Dion Moult
ecd72912aa
Purge constants from PR #5257 .
...
I'm not sure I agree here, considering that types are dynamic based on
schema version.
2025-01-26 19:07:02 +11:00
Raj
124c02897c
Feature faster unit method ---> Main ( #5257 )
...
* feature_faster_unit_method > main: added constants
* feature_faster_unit_method > main: extended `file` class to dynamically save unit information
* feature_faster_unit_method > main: refactored `get_property_unit` method
1. split out case that returns the wrong type (dictionary of units) into its own method
2. cleaned up (but preserved) logic
3. refactored common part of all cases (the method which prioritises unit then value-entity then measure_class)
---------
Co-authored-by: raj-open <raj-open@users.noreply.github.com >
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2025-01-26 19:04:49 +11:00
Bruno Perdigão
2b1a59a4f8
Refactor how offset and direction sense interact for wall and slabs.
2025-01-25 16:05:04 -03:00
Dion Moult
38835a4092
See #6030 . You can now select elements in groups recursively.
2025-01-25 14:11:42 +11:00