Commit Graph

879 Commits

Author SHA1 Message Date
Massimo Fabbro 8a4739f9c9 Running black 2025-08-05 08:56:06 +02:00
Massimo Fabbro c6093430c2 See #6570. Now rate cost item works also with categories 2025-08-05 08:56:06 +02:00
Thomas Krijnen 037fd22b51 util/unit.py::calculate_unit_scale() Check for valid unit_type 2025-08-04 08:53:08 +02:00
Andrej730 cdeeab4b31 black . 2025-07-28 17:03:25 +05:00
Richard Brice 3ef7f1c141 Alignment API updates to support new patch recipes 2025-07-27 15:10:22 -07:00
Andrej730 99cdc4da35 date.ifc2datetime - refactor for readability 2025-07-25 18:22:18 +05:00
Andrej730 1d789da066 test_copy_work_schedule - cover ifc2x3 support 2025-07-25 18:22:17 +05:00
Andrej730 05a8824019 typing 2025-07-25 18:22:16 +05:00
Andrej730 f5b28c0df8 util.get_work_schedule_tasks - fix critical bug with missing root tasks
Now we also use generator to mirror get_schedule_cost_items
2025-07-24 19:39:14 +05:00
Andrej730 a99bfd9294 sequence.get_root_tasks_ids - remove unused method 2025-07-24 19:39:14 +05:00
Andrej730 f3efb1601a copy_cost_schedule - add a test 2025-07-24 19:39:12 +05:00
Andrej730 f8a933e094 typing 2025-07-24 19:39:12 +05:00
Andrej730 0ef255bc3c Fix linking project missing offsets for instances of complex geometry
After ba2456a if main IFC project had an offset and linked object had more than 333 faces, then it was imported at it's original location instead, missing an offset.

Also processing occurrences should be now more optimized, since we reuse the same verts buffer instead of recreating it 10 times.
2025-07-22 18:06:20 +05:00
Andrej730 728f9e2c04 util.shape - replace ShapeType with W.Triangulation for accuracy 2025-07-17 19:58:48 +05:00
Andrej730 2edfe1e5d8 profile.add_parameterized_profile - add profile_type arg
To create more valid profiles by default. Noticed then Bonsai creates new profiles, it doesn't set ProfileType, leading to validation errors.
2025-07-17 19:58:48 +05:00
Andrej730 d55e7faf2a Fix ifc4x3 breaking import of csvs that have enum values after c9847ca #6708 2025-07-15 18:01:57 +05:00
Andrej730 5a4ad69bf7 black . 2025-07-09 19:02:26 +05:00
Richard Brice 40f92d15c3 Alignment api update (#6817)
* Some basic COGO survey points functions

* Update alignment api

Includes defining alignment segment by segment, automatic geometry definitions, and automatric stationing and referents

* Fixes bonsai import alignment from csv

* Adds DMS angle conversion functions to COGO api

* Updated per @civilx64 review comments

* Fixes problem with segment representations

* Fixes problem with segment transition codes

* Allows for compound vertical and horizontal curves

* Implements callbacks for referent naming

* Renames angle_from_bearing to bearing2dd for consistency with ifcopenshell.util.geolocation.dms2dd. Removes angle_from_dms because it duplicates dms2dd

* Documents register_referent_name_callback

* Fixes all sorts of problems with Cant/SegRefCurve implementation

* refactor referent unit tests to use a fixture for test setup

* lint with black

---------

Co-authored-by: Scott Lecher <civilx64@gmail.com>
2025-07-08 10:09:14 -07:00
Andrej730 d08756d1b4 typing 2025-07-08 21:20:57 +05:00
Thomas Krijnen 3f05bab4e5 Shape builder: allow translate() on tesselated face sets 2025-07-06 18:35:19 +02:00
Andrej730 8cfd6b1754 Unify doc-strings (remove type/rtype)
As this information is already provided in type hints and we don't need to maintain it in two places.
2025-06-30 18:55:14 +05:00
Andrej730 4f77c41bd5 calculate_unit_scale - small optimization 2025-06-24 19:08:42 +05:00
Andrej730 fcaeb920ec typing 2025-06-24 19:08:40 +05:00
Ryan Schultz f3c86d7fcc added a few to ifc_classes_suggestions.json 2025-06-21 08:08:50 -05:00
Andrej730 9282ccabb3 typing 2025-06-17 18:41:18 +05:00
Andrej730 176c5cc0fb typing 2025-06-13 19:33:29 +05:00
Andrej b4bc7ec371 remove_deep2 optimization for cases when the same entity is referenced by multiple other in the subgraph #6784 2025-06-10 18:54:37 +05:00
Andrej 1fecd77121 Fix a typo 2025-06-10 18:54:37 +05:00
Andrej a37d46ca3d typing 2025-06-10 18:54:33 +05:00
Andrej 02d359d0e6 Fix Ruff UP035 (also deprecated annotation symbols) 2025-06-09 18:03:19 +05:00
Andrej 7d4176d105 Fix Ruff UP006 (deprecated annotation symbols) 2025-06-09 18:03:18 +05:00
Andrej 87265d052b typing 2025-06-05 19:05:27 +05:00
Andrej a614fac71a typing 2025-06-04 19:04:31 +05:00
Andrej 59b17fc593 ifcopenshell_wrapper.pyi 2025-05-30 18:13:17 +05:00
Andrej 48f62c0b5b ifcopenshell_wrapper.pyi - update from the latest build
I guess previously I used some of my local builds, so some symbols were missing.
2025-05-29 19:14:43 +05:00
Andrej 5fc549453c validate_stub - add wrappers constants 2025-05-29 19:14:43 +05:00
Andrej bd5f5a30b3 validate_stub - also skip object 2025-05-29 19:14:43 +05:00
Andrej 0663c5130a typing 2025-05-29 19:14:42 +05:00
Andrej 7cde9629f8 Fix Ruff UP034 (extraneous-parentheses)
https://docs.astral.sh/ruff/rules/extraneous-parentheses/
2025-05-28 18:24:13 +05:00
Andrej 3976b77ee1 Fix Ruff UP033 (lru-cache-with-maxsize-none)
https://docs.astral.sh/ruff/rules/lru-cache-with-maxsize-none/
2025-05-28 18:24:12 +05:00
Andrej 3c4105cbc5 Fix Ruff UP011 (lru-cache-without-parameters)
https://docs.astral.sh/ruff/rules/lru-cache-without-parameters/
2025-05-28 18:24:11 +05:00
Andrej 6dbf86382f Fix Ruff UP018 (native-literals)
https://docs.astral.sh/ruff/rules/native-literals/
2025-05-28 18:24:11 +05:00
Andrej a8634a561a ifcopenshell.util.mvd_info - fix breaking Python 3.9 support (cbe8fc1)
due to `|` operator used in annotations instead of `Union`
2025-05-28 18:24:10 +05:00
Andrej a16b8fa376 Fill ifcopenshell_wrapper.pyi with symbols #6684
As described in #6744 partial stub wrapper is completely replacing the type information from the wrapper, so having partial stub is making things worse than they were before.
This commit is adding all available symbols from the wrapper to the stub and allows to gradually include type information to the stub.
It also adds a safe net to ensure stub and wrapper won't go out of sync.
2025-05-28 18:24:10 +05:00
Andrej 1c1bf56893 typing 2025-05-28 18:24:10 +05:00
Dion Moult a929ab0c4f Big bSDD overhaul for properties and classifications. See description.
* bSDD now supports a couple more args when querying the API.
 * Fetching properties via the classification UI has been removed
 * The bSDD dictionary selector has been merged into the classification
source dropdown
 * The bSDD dictionary selector merged into the property set name
dropdown
 * You can now search for properties in the bSDD directly when adding
properties
 * You can browse properties via groups or classifications (based on
assigned classifications)
 * You can browse properties via keyword (with some limitations due to
the API)
 * You can selectively choose which properties you then want to add.
Only basic support right now.
2025-05-28 20:51:08 +10:00
Andrej730 718254fe5e Fix regression parsing iso duration with floats (d1b1b08) #6715 2025-05-21 12:16:07 +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 16f9f91561 util.doc - statically type json structures 2025-05-14 19:40:45 +05:00