Andrej
02d359d0e6
Fix Ruff UP035 (also deprecated annotation symbols)
2025-06-09 18:03:19 +05:00
Andrej
0663c5130a
typing
2025-05-29 19:14:42 +05:00
Dion Moult
67016d6f90
See #2999 . Reimplement basic creation of structural items.
2025-05-19 17:36:12 +10:00
Andrej730
68d967c2e5
pyproject.toml - enableTypeIgnoreComments=false
2025-05-16 19:43:41 +05:00
Andrej730
3d225beafd
Add notes on Tekla accommodations ( 7c3870595)
2025-05-13 16:59:12 +05:00
Dion Moult
7c38705958
Accommodate invalid missing mapped representations and items coming from Tekla (2023)
2025-05-13 13:09:37 +10: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
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
Dion Moult
823f27cd6a
Add tests for new element add feature
2025-03-10 22:53:55 +11:00
Dion Moult
1259607a9f
See #1227 . Fix slicing normal calculation for AXIS3 elements.
2025-03-10 18:10:05 +11:00
Dion Moult
01ec750814
See #1227 . New connect wall API function since this can be done generically.
...
This will supersede the butt/mitre join functions we used to have.
2025-03-08 11:25:07 +11:00
Dion Moult
6ac6f13018
Fix #5824 . Prioritise 3D over 2D. Only then consider subcontexts.
...
It's unexpected in our 3D default viewing world to have 2D first over
3D.
2025-02-15 19:03:52 +11:00
Andrej730
57d7d83ebb
Fix Python <3.10 support #6141
2025-02-11 16:50:07 +05: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
Andrej730
74a9669fa8
Fix error tabbing into IfcRevolvedAreaSolid with a boolean + add resolve_base_items
...
resolve_items couldn't find IfcRevolvedAreaSolid inside a boolean result
2025-01-22 16:35:22 +05:00
Andrej730
391091ad12
typing
2025-01-22 16:34:58 +05:00
Dion Moult
35734f4b67
Guess representation type from items based on where rule
...
Previously we never implemented this in a very strict way so it was
prone to mistakes.
2025-01-18 18:35:13 +11:00
Andrej730
bec1d913c5
util.representation.get_representations_iter
2024-09-03 18:38:22 +05:00
Andrej730
66877c227b
typing
2024-07-15 18:34:38 +05:00
Dion Moult
8246d2c593
Aggressively refactor out functions relevant to guessing a false origin to tool.Loader
2024-06-15 23:50:27 +10:00
Andrej730
70091aa28b
typing
2024-06-03 17:44:04 +05:00
Dion Moult
93639e9e50
Even more cleaning of documentation references
2024-05-07 19:08:13 +10:00
Andrej730
1b1eccb0c1
typing
2024-03-21 15:06:32 +05:00
Dion Moult
434a11a502
Fix #4057 . Move clipping info dataclass to util.shape_builder
2023-11-29 09:28:24 +11:00
Dion Moult
3e268be5c7
Fix #4052 . Bug where invalid plane was generated due to missing X axis.
2023-11-28 11:52:56 +11:00
Andrej730
50bbe849ff
minor fix to support union typing before python 3.10 #3774
2023-11-17 18:57:51 +05:00
Andrej730
dc438b2560
ClippingInfo util class to pass and apply plane clippings #3774
...
Co-Authored-By: Carlos Villagrasa <carvillasil@gmail.com >
2023-11-17 16:52:59 +05:00
Dion Moult
3b298d44c1
Fix regressions in mapped native swept disk handling
2023-11-01 14:16:12 +11:00
Dion Moult
49b733f660
See #3817 . WARNING: fundamental change. Standardise prioritisation of all context permutations when loading occurrences and types.
2023-10-09 23:21:09 +11:00
Dion Moult
e40bbf2525
See #1806 . Typed fillings now share the same representation for their openings.
2023-02-06 17:01:29 +11:00
Andrej730
1888048d4d
Moved ShapeBuilder to separate module #2679
...
Moved ShapeBuilder to separate module - now `mathutils` will be only required if you're actually using ShapeBuilder (related to #2679 )
2023-01-08 19:47:18 +05:00
Andrej730
c29048ecfb
Furniture library bug fixes
2023-01-08 19:47:18 +05:00
Andrej730
23c7bc3f56
Added ShapeBuilder class and library for non structural assets (
...
`ShapeBuilder` class is used to programmatically create 2d and 3d ifc shapes and representations. It's inspired by the way OpenSCAD language is designed - the goal was to create a readable and easy way to create new shapes. The class can be imported from `ifcopenshell.util.representation` module.
Examples of things created with `ShapeBuilder` can be found in `shape_builder_examples.py` or `generate_furniture_library.py` / `Non_structural_assets_library.ifc`.
Also added ifc library of non structual assets (furniture etc) - `Non_structural_assets_library.ifc`. All assets are using most common dimensions for them - it makes it good for prototyping. Related to https://community.osarch.org/discussion/1192
2023-01-06 16:35:55 +05:00
Dion Moult
810c71dfa2
IfcOpenShell-python licensing and black. See #1082 .
2022-01-19 12:18:33 +11:00
Dion Moult
f2352e9a17
Old annotation systems now creates IFC elements again. Also text and misc annotations now work again with new system. See #1153 .
2021-05-16 18:26:48 +10:00