Bruno Postle
d8e9ae39a2
README: add missing tools (ifc_new, ifc_reset, ifc_contexts, ifc_materials, ifc_plot, ifc_render, ifc_shape_*); fix mcp dependency note; add readme to pyproject.toml
2026-03-23 23:41:50 +00:00
Bruno Postle
9fd4c5a6a8
Add ifcmcp MCP server for IFC model querying and editing
2026-03-23 23:23:49 +00:00
Bruno Postle
8b8f78095d
geometry_creation.rst: add sections for assemblies, clipping normals, openings ( #7844 )
...
Generated with the assistance of an AI coding tool.
2026-03-23 23:02:15 +00:00
Bruno Postle
23ba9e4db0
Add geometry.clip_solid, clip_solid_bounded, and copy_representation APIs ( #7843 )
...
* Add geometry.clip_solid API
* Add geometry.clip_solid_bounded API
* Add geometry.copy_representation API
Deep-copies the named representation from a source element to a target
element.
Generated with the assistance of an AI coding tool.
2026-03-23 23:00:12 +00:00
Bruno Postle
1aec991f08
api: docstring improvements across geometry, sequence, and feature modules ( #7842 )
...
* Doc clarification for api.sequence.assign_process
* Doc clarification for api.geometry.edit_object_placement
* Doc clarification for api.feature.remove_feature
* Doc clarification for api.geometry.add_wall_representation clippings normal
* regenerate_wall_representation: document BBIM_Boolean preservation requirement
Generated with the assistance of an AI coding tool.
2026-03-23 22:57:28 +00:00
Bruno Postle
bddf9b85f8
shape_builder: complete docstrings and return type annotations ( #7841 )
...
* shape_builder: complete docstrings and return type annotations
* shape_builder: warn about mixed item types in get_representation
* shape_builder: fix half_space_solid agreement_flag docstring
Generated with the assistance of an AI coding tool.
2026-03-23 22:54:55 +00:00
Sayan J. Das
f679c63a18
Merge pull request #7808 from theseyan/ifctester-improvements-rebased
...
IfcTester webapp improvements
2026-03-23 15:48:34 +05:30
Thomas Krijnen
e6cc0e7813
Initialize ncount_total #7834
2026-03-23 10:54:38 +01:00
Dion Moult
cf2acfc649
Add covering feature tests for ceiling and cursor variants
...
Add tests for all four covering generation operators: flooring/ceiling
from walls and flooring/ceiling from cursor. Previously only flooring
from walls was tested.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 23:25:04 +11:00
Dion Moult
60ebb99fda
Fix covering geometry not persisting to IFC, same root cause as #7055
...
The covering tool used bmesh as an intermediate and relied on
type.assign_type post-listeners (removed in 44a52863a ) to generate
the IfcExtrudedAreaSolid body. With those listeners gone, coverings
had no body representation and assign_swept_area_outer_curve crashed.
Build covering representations from scratch using ShapeBuilder, reading
the extrusion depth from the type's IfcMaterialLayerSet. Also replace
bpy.ops.bim.assign_class with bonsai.core.root.assign_class using
should_add_representation=False, consistent with the space fix.
Refactored shared coordinate-conversion and extrusion-building logic
into get_2d_vertices_from_polygon and set_extrusion_representation_from_polygon,
used by both space and covering code paths. Removed all bmesh-dependent
dead code from the spatial tool.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 23:18:59 +11:00
Dion Moult
ab96add772
Gitignore all test cache files
2026-03-22 22:26:23 +11:00
Dion Moult
d8de623086
Fix space regen not saving geometry to IFC ( #7055 )
...
Space regeneration was only updating the Blender mesh and marking the
object as edited, but the IFC representation was never synced on save.
Replace the bmesh-based approach with ShapeBuilder to write geometry
directly to IFC as an IfcExtrudedAreaSolid, then reload via
switch_representation. This applies to both new space creation and
existing space regeneration.
Also changes assign_ifcspace_class_to_obj to call
bonsai.core.root.assign_class directly with
should_add_representation=False instead of bpy.ops.bim.assign_class.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 22:14:02 +11:00
dependabot[bot]
a3f2e061fb
Bump hendrikmuhs/ccache-action from 1.2.20 to 1.2.21
...
Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action ) from 1.2.20 to 1.2.21.
- [Release notes](https://github.com/hendrikmuhs/ccache-action/releases )
- [Commits](https://github.com/hendrikmuhs/ccache-action/compare/v1.2.20...v1.2.21 )
---
updated-dependencies:
- dependency-name: hendrikmuhs/ccache-action
dependency-version: 1.2.21
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-22 21:31:54 +11:00
dependabot[bot]
f51a4673db
Bump ruff from 0.15.6 to 0.15.7
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.6 to 0.15.7.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.6...0.15.7 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-22 21:31:42 +11:00
Dion Moult
75b8d4f218
Remove spatial containment and aggregation when nesting
...
The nest assign_object API now removes existing spatial containment and
aggregate relationships before creating the nest, matching the behavior
documented in its docstring and consistent with aggregate.assign_object.
Fix #7248
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 15:28:47 +11:00
Dion Moult
b8136d4762
Prevent cyclic references when assigning nesting or aggregation
...
Walk up the full hierarchy via get_parent() in can_nest() and
can_aggregate() to reject assignments that would create a cycle.
Also reject self-assignment.
Fix #7248
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 15:28:47 +11:00
Dion Moult
ecde429d36
Fix crash after undo of assign_class on macOS ( #7419 )
...
After assigning an IFC class and undoing, msgbus subscriptions registered
with the old Python object wrapper survived (PERSISTENT flag) but could
not be cleared because: (1) rollback_link_element looked up objects by
their post-link name which no longer exists after undo, and (2) the
per-object clear_by_owner calls in rebuild_element_maps used new Python
wrappers that didn't match the old subscription owners.
Fix by using a dedicated stable object (object_subscription_owner) as
the msgbus owner for all per-object subscriptions, allowing
rebuild_element_maps to clear all stale subscriptions in one call
regardless of Python wrapper identity changes during undo/redo.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 14:42:55 +11:00
Dion Moult
1771b34449
Fix error when entering edit mode on camera objects
...
Fixes #7313 .
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 14:08:12 +11:00
Dion Moult
41469acbc8
Fix walrus operator precedence in MaterialCreator
...
The `is not ...` was being captured by the walrus assignment due to
missing parentheses, causing the condition to always evaluate incorrectly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-22 13:58:17 +11:00
Ryan Schultz
547b22199f
Without 'Material.Name' layers merge. ( #7700 )
2026-03-21 18:02:02 -05:00
Dion Moult
94c15213f6
Guard against emptying IfcShapeRepresentation Items
...
remove_representation_item now returns early if removing the item would
leave Items empty. edit_text_literals returns early on empty attributes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-21 20:10:11 +11:00
Dion Moult
fca258fb07
Fix add_boolean removing second operands from unrelated representations
...
add_boolean was removing second operands from ALL IfcShapeRepresentations
that referenced them, which could corrupt unrelated shapes and leave
representations with empty Items (bug #7803 ).
The API no longer modifies Items — callers manage this explicitly.
validate_type and Bonsai's AddBoolean operator now handle their own
item removal scoped to the correct representation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-21 20:10:11 +11:00
Dion Moult
bcfad8d96d
Migrate remove_deep to remove_deep2 across API modules
...
remove_deep is deprecated and can silently delete elements still in use.
remove_deep2 requires zero inverses before removal, making it safer.
Also fixes a double-removal bug in remove_grid_axis and prevents
removing the last prop template from a pset template.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-21 20:10:11 +11:00
Parag Debnath
c026dd3b6e
IsVentilated now defaults to False ( #7819 )
...
* IsVantillated now defaults to false
* IsVentilated now defaults to False
---------
Co-authored-by: Parag Debnath <paragforwork@gmail.com >
2026-03-20 23:33:40 +11:00
Dion Moult
d0f20371bd
Add feature to get parent of a particular IFC class
2026-03-20 23:10:00 +11:00
Dion Moult
7b6e82a9cc
Fix stair calculated params test to set custom_tread_lock=False
...
Tests using custom first/last tread runs were not setting
custom_tread_lock=False, so the custom values were silently ignored
since 8f7cf76d9 introduced the lock gate in the calculation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-20 23:09:15 +11:00
Andrej730
286c69429d
gitignore bonsai external_dependencies
2026-03-20 15:49:08 +05:00
dependabot[bot]
9c22dc6013
Bump socket.io-parser from 4.2.4 to 4.2.6 in /src/ifctester/webapp
...
Bumps [socket.io-parser](https://github.com/socketio/socket.io ) from 4.2.4 to 4.2.6.
- [Release notes](https://github.com/socketio/socket.io/releases )
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md )
- [Commits](https://github.com/socketio/socket.io/compare/socket.io-parser@4.2.4...socket.io-parser@4.2.6 )
---
updated-dependencies:
- dependency-name: socket.io-parser
dependency-version: 4.2.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-20 11:47:01 +01:00
Andrej730
0acbd5ffad
black .
2026-03-20 15:45:24 +05:00
Andrej730
77f0c43314
ids_doc_generator - fix invalid escape sequence SyntaxWarning
...
SyntaxWarning: invalid escape sequence '\/' at line 312.
`\/` in a plain string is treated as `/` by accident; replaced with raw string r"..." to be explicit.
2026-03-20 15:43:13 +05:00
Andrej730
c1a9708504
ci.yml - build ifctester docs
...
to ensure script doesn't break
2026-03-20 15:43:13 +05:00
Andrej730
bcf6f6197d
ifctester - move build-ids-docs target to ifctester Makefile
...
Also added a note why it lives in test folder and added it's output to gitignore.
2026-03-20 15:43:13 +05:00
Andrej730
1778656bd5
ids_doc_generator - fix Property args missed ( ed8eb75)
...
TypeError: Property.__init__() got an unexpected keyword argument 'name'
2026-03-20 15:43:12 +05:00
Andrej730
54f450129c
ids_doc_generator - fix failed_entities removed ( bd92c043)
...
AttributeError: 'Attribute' object has no attribute 'failed_entities'
2026-03-20 15:43:12 +05:00
Andrej730
9fad1569c7
ids_doc_generator - fix error due to stale cache ( f40281e97)
...
AssertionError: bool(facet(inst)) is expected
2026-03-20 15:43:12 +05:00
Andrej730
722c374fa6
ids_doc_generator - handle invalid entities coming from a test ( 1ed770d)
...
Exception: About to emit invalid example data: IfcMaterial.Name not optional
2026-03-20 15:43:12 +05:00
Andrej730
91b6c3e256
bcf v3 tests - fix wrong args, add dead code TODOs
2026-03-20 15:43:12 +05:00
Andrej730
ea3f71b4e0
rename test files to test_* prefix for pytest discovery and fix missing add_pset name arg
2026-03-20 15:43:12 +05:00
Andrej730
1a8b17e235
ifcfm cobie24 - remove unused ifc_file param from get_unit_name
2026-03-20 15:43:12 +05:00
Andrej730
2bad861122
ifcopenshell_wrapper.pyi - support varargs and kwargs in constructors
2026-03-20 15:43:11 +05:00
Andrej730
6c1fb3b01a
Remove stale mass_time_units_in_wizard references ( 5c31ae4c3)
2026-03-20 15:36:18 +05:00
Andrej730
f5be64af6c
Remove redundant __init__ from BaseLinesShader
2026-03-20 15:36:18 +05:00
Andrej730
b043dd4d04
Fix unknown-argument error in BaseLinesShader.__init__
2026-03-20 15:36:18 +05:00
Andrej730
ffd2466321
Fix missing prop name in bim.mep_add_bend
2026-03-20 15:36:17 +05:00
Andrej730
e9241fd812
Fix error in bim.fit_flow_segments
2026-03-20 15:36:17 +05:00
Andrej730
48d45451ac
Remove dead code join_walls_TZ, join_T, join_Z superseded in acdc40fb4
2026-03-20 15:36:17 +05:00
Andrej730
3b7cf6e865
Fix error displaying bsdd description after API update ( ed81a0a4b)
2026-03-20 15:36:17 +05:00
Andrej730
6038373ee5
ifcopenshell_wrapper.pyi - sync default values, validate_stub - suggest default values
2026-03-20 15:36:16 +05:00
Andrej730
3d7de87b46
ifcopenshell_wrapper.pyi - add temp MakeVolume stub
2026-03-20 15:36:16 +05:00
Andrej730
cb113ae8da
ifcopenshell_wrapper.pyi - support stubs for constructors
2026-03-20 15:36:15 +05:00
Andrej730
26280d24fe
Add ty to check for missing symbols and other simple errors
2026-03-20 15:36:14 +05:00
Andrej730
30551cb288
typing
2026-03-20 15:36:14 +05:00
Andrej730
3bf0edeca2
Fix subtle walrus operator bug in align_walls using e before assignment
2026-03-20 15:34:57 +05:00
Andrej730
3590b08e68
search/operator - remove unnecessary Ifc Operators
2026-03-20 15:34:57 +05:00
Ryan Schultz
fd902d88fb
Update selector_syntax.rst with query examples
...
Clarified usage of queries in IfcAnnotation tags with examples.
2026-03-18 18:25:03 -05:00
Sayan Jyoti Das
aa5f5120e0
delete ifcopenshell wheel
2026-03-18 14:37:24 +05:30
Sayan Jyoti Das
81986bcbfb
ifcopenshell wasm wheel should be dynamically fetched, not included in git
2026-03-18 14:35:55 +05:30
Andrej730
ec6c268cdb
Fix type assign_type core test ( 44a52863a)
2026-03-18 13:15:39 +05:00
Andrej730
64003fd5ef
Fix drawing update_drawing_name core test ( 19534e225)
2026-03-18 13:15:38 +05:00
Andrej730
58d07bace4
Fix drawing edit_text core test and tool interface ( 5e9f97a0c)
2026-03-18 13:15:38 +05:00
Andrej730
3b718bc58d
Fix georeference core tests ( b246998f6)
2026-03-18 13:15:38 +05:00
tsomanna_QCOM
18c035ea77
Fix Windows ARM64 Python Bindings Issue
2026-03-18 08:44:34 +01:00
Andrej730
f2e2e324b1
Fixing stubs
...
- `function_item`, `tags` added in df7318973
- MakeVolume added in c385b93 , ignore as all other conversion settings
- moved `SeparateZUpNode` ignore to the other geom serializer settings
2026-03-18 12:25:14 +05:00
Andrej730
069dbbd8c2
bonsai docs - add maintenance page
2026-03-18 12:25:14 +05:00
Andrej730
3385872e8b
ci-black-formatting - use variables for min Python versions
2026-03-18 12:25:14 +05:00
Andrej730
f0b27a0910
ifcopenshell-python Makefile - simplify pyversion check, similar to 6409f41
2026-03-18 12:25:13 +05:00
Andrej730
888158570a
Remove Python 3.9 references
2026-03-18 11:20:22 +05:00
Andrej730
c03156b5cd
control.assign_control - remove deprecated related_object argument support
2026-03-18 11:20:22 +05:00
Andrej730
05bf2b82d2
system.disconnect_port - fix missing flow direction reset ( bbda8d2)
2026-03-18 11:03:33 +05:00
Andrej730
7bdc1b6a75
cache_dependencies - skip ifcopenshell dir when packing
2026-03-18 11:01:38 +05:00
Sayan Jyoti Das
03de69814a
fixes and cleanups from old branch
2026-03-18 11:22:41 +05:30
Sayan Jyoti Das
4dc6a0f2bc
update ifcopenshell wheel to ifcopenshell-0.8.5+a51b2c5
2026-03-18 11:18:50 +05:30
Andrej730
c33509364c
Fix error generating ifcpatch recipes docs for Bonsai tooltips
...
Mentioned in https://github.com/IfcOpenShell/IfcOpenShell/issues/7667#issuecomment-4076645173
Traceback:
```
Traceback (most recent call last):
File "\bonsai\bim\module\patch\prop.py", line 55, in get_ifcpatch_recipes
docs = ifcpatch.extract_docs(f, "Patcher", "__init__", ("src", "file", "logger", "args"))
File "\ifcpatch\__init__.py", line 168, in extract_docs
spec.loader.exec_module(submodule)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "<frozen importlib._bootstrap_external>", line 1027, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "\ifcpatch/recipes/FixRevit2025TINs.py", line 31, in <module>
class Patcher:
...<509 lines>...
return co / self.unit_scale
File "\ifcpatch/recipes/FixRevit2025TINs.py", line 168, in Patcher
def create_edges(self, obj: bpy.types.Object) -> None:
^^^
NameError: name 'bpy' is not defined
File "\bonsai\bim\module\patch\prop.py", line 43, in get_ifcpatch_recipes
```
2026-03-18 10:04:36 +05:00
Sayan Jyoti Das
47f058341b
local ifctester wheel build
2026-03-18 10:29:09 +05:30
Thomas Krijnen
a51b2c587c
Revert "Simplifies IfxAxis2PlacementLinear, assumes default Axis = (0,0,1)"
...
This reverts commit cf1552e79e .
2026-03-17 20:49:48 +01:00
Sayan Jyoti Das
845a13ba83
some fixes and lint cleanups
2026-03-17 21:16:53 +05:30
Sayan Jyoti Das
530841967e
Merge branch 'v0.8.0' into ifctester-improvements
2026-03-17 19:49:09 +05:30
Andrej730
c36e7badae
Remove use of deprecated os.popen
2026-03-17 18:14:22 +05:00
Andrej730
515fe8d2ef
Remove use of deprecated tempfile.mktemp
2026-03-17 18:14:22 +05:00
Andrej730
b8d3d1d105
pyproject.toml - add ty command to check for deprecated methods
2026-03-17 18:14:22 +05:00
Sayan Jyoti Das
e95da857d6
convert codebase to typescript + introduce biome lint
2026-03-16 21:55:10 +05:30
Sayan Jyoti Das
d587d1ac11
build step for pyodide
2026-03-16 21:46:46 +05:30
Andrej730
ba36dc82ff
bim.clear_measurement - add poll message
2026-03-16 15:27:39 +05:00
Andrej730
025fb769e2
bim.explore_tool - remove additional row to keep hotkey and operators on the same row
2026-03-16 15:27:39 +05:00
Andrej730
bf75a19640
bim.image_scaling_tool - break description to multiple lines for readibility
2026-03-16 15:27:39 +05:00
Andrej730
4473dbd138
bim.generate_uv_map - move to operator.py, fix missing description, add separate row in ui
2026-03-16 15:27:39 +05:00
Sayan Jyoti Das
6117417b89
update webapp + bonsai integration
2026-03-16 15:54:52 +05:30
Thomas Krijnen
0398584c69
empty
2026-03-16 15:45:41 +05:30
Thomas Krijnen
0c69f85d5e
Empty
2026-03-16 15:45:40 +05:30
Andrej730
7e987be00f
bim.link_ifc - document default query
...
To make it more discoverable for users.
2026-03-16 15:10:05 +05:00
Andrej730
35e3d9c42e
Linked Models - invalidate cache for mismatching query automatically
2026-03-16 15:10:04 +05:00
Andrej730
63a8639353
Linked Models - option to provide custom selector query
...
Available in file dialog when linking model - https://files.catbox.moe/tdmmbt.png
It's not very robust currently, just something to start with.
2026-03-16 15:10:04 +05:00
Andrej730
bd15ba4aa3
Linked Models - fix removing link operator missing if link is still loaded
2026-03-16 15:10:04 +05:00
Andrej730
f583d1ecc1
typing
2026-03-16 15:10:04 +05:00
Andrej730
5bfab569ba
bim.link_ifc - fix prop display in file dialog panel
...
Fixes this - https://files.catbox.moe/eq10ip.png
2026-03-16 15:10:04 +05:00
Andrej730
fb16e91249
Remove use of deprecated datetime.utcnow()
...
To fix warnings below:
```
<python-input-1>:1: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
```
2026-03-16 15:10:03 +05:00
Andrej730
1c456c3cb2
Bonsai Makefile - use official bpypolyskel repo instead of fork
...
Since https://github.com/prochitecture/bpypolyskel/pull/22 got merged.
2026-03-16 15:10:03 +05:00
Andrej730
a8d28fb469
Remove unused import, black .
2026-03-16 15:10:03 +05:00
Dion Moult
62bb6cdf33
Fix failing classification tests because they relied on spaces which are now hidden by default
2026-03-16 19:31:25 +11:00
Dion Moult
cf153981ce
Feature tests for add/remove literal
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-16 19:04:35 +11:00
Dion Moult
b38316336c
Revert "Fix #6392 : when duplicating a window/door/etc, the associated IfcOpenElement duplicates as well."
...
This reverts commit a2a5780d59 .
2026-03-16 17:52:02 +11:00
Dion Moult
021e6b9ef5
Simplify get model types to just got all type products. Fixes failing test.
2026-03-16 15:15:12 +11:00
falken10vdl
1999d93f9a
Add GenerateUVMap operator and integrate into ExploreTool ( #7695 )
...
Co-authored-by: Dion Moult <dionmoult@gmail.com >
2026-03-16 07:30:49 +11:00
Dirk Olbrich
8c9e89ace8
Bonsai - change add_grid operator namespace to bim
2026-03-15 23:50:52 +11:00
Ryan Schultz
868bb5c39e
Allow bulk annotation product assignment
...
Closes #7787 : Previously bim.assign_selected_as_product required exactly
2 objects. With multiple annotations referencing the same
product, users had to repeat the operation once per
annotation. Now any number of IfcAnnotations can be selected
alongside a single product object and all are assigned in
one operation and one undo step.
Generated with the assistance of an AI coding tool.
2026-03-15 23:42:07 +11:00
Dion Moult
c3a87c8f9c
Add basic text editing feature tests
2026-03-15 23:30:10 +11:00
Dion Moult
c30d24c4d9
Fix regression where changing logic to occur in filesystem selector caused headless test to fail.
...
See d4388ec76
2026-03-15 23:29:57 +11:00
Dion Moult
2edd1a5044
Black
2026-03-15 21:39:57 +11:00
Dion Moult
08dfcea47c
Fix Python signatures in operator descriptions.
...
Closes #7797 . Closes #7230 .
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 21:38:20 +11:00
Dion Moult
9c8f25739c
Fix failing test. Add reference images should use generated coords, not UV.
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 19:27:42 +11:00
Sebastian Schilling
256e4d2191
buildingSMART Data Dictionary module: use pSets from different data dictionary sources ( #7764 )
...
* buildingSMART Data Dictionary module: added textfield to change data dictionary url
* moved change of bsdd baseurl change to addon settings
* Receiving Psets from other dictionary sources has been made available by dynamizing the identifier_url using the client baseurl
* Remove unnecessary blank lines in prop.py
* Remove unused import of bsdd module
2026-03-15 12:56:04 +11:00
Dion Moult
b14da14614
Default to assigning material set usages if assigning to an occurrence. See #7794 .
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 12:26:21 +11:00
Dion Moult
273ecfe8e4
Supersede 3x3 box alignment with more familiar horizontal / vertical UI
...
* Fix #7712 - global alignment controls now affects all literals
* Fix #7760 - goodbye 3x3 box alignment
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 08:24:38 +11:00
Dion Moult
6e0f24105e
Minor fix to regression in 95480a2 where reshaping to a 3x3 matrix was removed
2026-03-15 07:28:38 +11:00
Ryan Schultz
25af50a092
Temp files from ai coding tools
2026-03-15 07:20:15 +11:00
dependabot[bot]
4b5a50a831
Bump actions/download-artifact from 8.0.0 to 8.0.1
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v8.0.0...v8.0.1 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-15 07:19:11 +11:00
dependabot[bot]
bd77175c66
Bump ruff from 0.15.5 to 0.15.6
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.5 to 0.15.6.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.5...0.15.6 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.6
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-15 07:19:05 +11:00
dependabot[bot]
2b1d99a8b1
Bump gersemi from 0.26.0 to 0.26.1
...
Bumps [gersemi](https://github.com/BlankSpruce/gersemi ) from 0.26.0 to 0.26.1.
- [Release notes](https://github.com/BlankSpruce/gersemi/releases )
- [Changelog](https://github.com/BlankSpruce/gersemi/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BlankSpruce/gersemi/compare/0.26.0...0.26.1 )
---
updated-dependencies:
- dependency-name: gersemi
dependency-version: 0.26.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-15 07:18:58 +11:00
Dion Moult
82adf4d18c
Fix #7782 : Don't allow assigning styles if no styles available.
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 07:03:48 +11:00
Thomas Krijnen
cf9df33aa5
Change checkout reference to build branch
2026-03-14 14:51:24 +01:00
Thomas Krijnen
1a6fd2530f
Remove dependency on Standard_failure #7788
2026-03-14 14:44:47 +01:00
Dion Moult
ea64f1b6b9
Fix #7770 , #7747 , #7572 , #7522 , #7416 , #7086 : Bug when first point in poly tool clicked twice
...
Previous logic always skipped the first point. Instead, it should only
skip when actually closing a loop (i.e. >= 3 points).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 20:35:59 +11:00
Dion Moult
473d689cf2
Fix #7794 : Only slice layerset mesh when material layer set usage exists
...
Without a usage, orientation is undefined so slicing should be skipped.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 13:25:14 +11:00
Richard Brice
cf1552e79e
Simplifies IfxAxis2PlacementLinear, assumes default Axis = (0,0,1)
2026-03-13 11:16:10 -07:00
Andrej730
90db564b4b
ifcclash - add advanced package type that supports smart group clashes
2026-03-13 20:26:23 +05:00
Andrej730
e9fb6b3c1d
Bonsai Makefile - upstream bpypolyskel wheel recipe
...
Sent PR - https://github.com/prochitecture/bpypolyskel/pull/22
2026-03-13 20:26:23 +05:00
Andrej730
a5e0b3f0e5
Bonsai Makefile - upstream ifcjson wheel recipe
...
Sent PR - https://github.com/IFCJSON-Team/IFC2JSON_python/pull/8
2026-03-13 20:26:23 +05:00
Andrej730
60519e8fed
ifcopenshell dev_environment - include all packages
2026-03-13 20:26:23 +05:00
Andrej730
8fb454bb27
Partially disable old Windows workaround for Bonsai uninstallation
2026-03-13 20:26:23 +05:00
Andrej730
9ed8f3e244
Bonsai - fix missing Bonsai Fatal Error UI
...
Since we added more data to debug info in fcf5614 Fatal Error itself started to fail and was never displayed due some props being inaccessible during load, should be fixed now.
Possible error that were fixed:
```
File "\Blender\5.1\extensions\raw_githubusercontent_com\bonsai\__init__.py", line 328, in <module>
print(format_debug_info(get_debug_info()))
~~~~~~~~~~~~~~^^
File "\Blender\5.1\extensions\raw_githubusercontent_com\bonsai\__init__.py", line 117, in get_debug_info
if bpy.data.is_saved:
^^^^^^^^^^^^^^^^^
AttributeError: '_RestrictData' object has no attribute 'is_saved'
Traceback (most recent call last):
File "\Blender\5.1\extensions\raw_githubusercontent_com\bonsai\__init__.py", line 366, in draw
info = get_debug_info()
File "\Blender\5.1\extensions\raw_githubusercontent_com\bonsai\__init__.py", line 152, in get_debug_info
bim_props = tool.Blender.get_bim_props()
^^^^
NameError: name 'tool' is not defined. Did you mean: 'bool'?
Traceback (most recent call last):
File "\Blender\5.1\extensions\raw_githubusercontent_com\bonsai\__init__.py", line 366, in draw
info = get_debug_info()
File "\Blender\5.1\extensions\raw_githubusercontent_com\bonsai\__init__.py", line 141, in get_debug_info
import bonsai.tool as tool
File "\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\__init__.py", line 355, in <module>
print(format_debug_info(get_debug_info()))
~~~~~~~~~~~~~~^^
File "\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\__init__.py", line 141, in get_debug_info
import bonsai.tool as tool
File "\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\tool\__init__.py", line 23, in <module>
from bonsai.tool.attribute import Attribute
File "\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\tool\attribute.py", line 31, in <module>
import bonsai.bim.helper as helper
File "\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\bim\__init__.py", line 28, in <module>
from . import handler, operator, prop, ui
File "\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\bim\handler.py", line 36, in <module>
from bonsai.bim.module.aggregate.decorator import AggregateDecorator
File "\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\bim\module\aggregate\__init__.py", line 21, in <module>
from . import operator, prop, ui
File "\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\bim\module\aggregate\operator.py", line 32, in <module>
class BIM_OT_aggregate_assign_object(bpy.types.Operator, tool.Ifc.Operator):
^^^^^^^^
AttributeError: partially initialized module 'bonsai.tool' from '\Blender\5.1\extensions\.local\lib\python3.13\site-packages\bonsai\tool\__init__.py' has no attribute 'Ifc' (most likely due to a circular import)
```
2026-03-13 20:26:23 +05:00
Andrej730
298beacef6
Bonsai - remove pyperclip use
2026-03-13 20:26:22 +05:00
Andrej730
eba798c544
typing
2026-03-13 20:26:22 +05:00
dependabot[bot]
1576302caf
Bump devalue from 5.6.3 to 5.6.4 in /src/ifctester/webapp
...
Bumps [devalue](https://github.com/sveltejs/devalue ) from 5.6.3 to 5.6.4.
- [Release notes](https://github.com/sveltejs/devalue/releases )
- [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/devalue/compare/v5.6.3...v5.6.4 )
---
updated-dependencies:
- dependency-name: devalue
dependency-version: 5.6.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 07:58:26 +01:00
dependabot[bot]
d7f29c4494
Bump tar from 7.5.10 to 7.5.11 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.10 to 7.5.11.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.10...v7.5.11 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.11
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 07:58:22 +01:00
dependabot[bot]
4ff6f7c78b
Bump black from 26.3.0 to 26.3.1
...
Bumps [black](https://github.com/psf/black ) from 26.3.0 to 26.3.1.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md )
- [Commits](https://github.com/psf/black/compare/26.3.0...26.3.1 )
---
updated-dependencies:
- dependency-name: black
dependency-version: 26.3.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 07:58:06 +01:00
Andrej730
0b44e146bd
Fix error starting Bonsai ( 77697aeef)
2026-03-13 11:57:17 +05:00
tsomanna_QCOM
cf42f986c4
Add Support for IfcOpenShell on Win ARM64
2026-03-12 20:29:10 +01:00
tsomanna_QCOM
e84142894e
Add Support for IfcOpenShell on Win ARM64
2026-03-12 20:29:10 +01:00
tsomanna_QCOM
b38a0dce1f
Add Support for IfcOpenShell on Win ARM64
2026-03-12 20:29:10 +01:00
tsomanna_QCOM
ae253f5e2a
Add Support for IfcOpenShell on Win ARM64
2026-03-12 20:29:10 +01:00
tsomanna_QCOM
b25c24a007
Add Support for IfcOpenShell on Win ARM64
2026-03-12 20:29:10 +01:00
Andrej730
8bd3fab608
Linked Models - option to isolate selected object
...
Quick demo - https://files.catbox.moe/6chdx7.mp4
2026-03-12 20:21:10 +05:00
Andrej730
82951fe702
Pylance - ignore _deps folder
...
In my case it was adding 3115 Python files and VS Code kept indexing them.
2026-03-12 20:21:10 +05:00
Andrej730
77697aeefc
typing
2026-03-12 20:21:10 +05:00
Thomas Krijnen
71442bd4d4
Submodule
2026-03-12 12:34:05 +01:00
Andrej730
f7bee258c6
Linked models - add description for georeferencing indicator
...
Example - https://files.catbox.moe/bkn9pn.png
2026-03-11 18:38:25 +05:00
Andrej730
0585f8716a
Quick Favorites Manager - support enum items
2026-03-11 18:38:25 +05:00
Andrej730
f3fe1a7bf0
ci.yml - BUILD_EXAMPLES=ON to keep testing examples build
2026-03-11 18:38:25 +05:00
Andrej730
61ba6a7989
Add operator to run search generic search queries
...
So it will be easy to add queries to quick favorites.
2026-03-11 18:38:25 +05:00
Andrej730
97f900e62f
Quick Favorites Manager - show operators suggestions
2026-03-11 18:38:25 +05:00
Andrej730
594d72d7e1
Quick Favorites Manager
...
Blender doesn't have it's own quick favorites manager and working with them can be not very flexible - you can add them in context menu and remove them from Quick Favorites menu. But you can't reorder them, you can't rename them and you can't even add a new button to favorites if it's not added by some addon in the UI.
Have been stumbling upon this for awhile and decided to create an experimental manager UI for this. Things it can do:
- help user create a button with any operator in Blender and properties they prefer to then save it Quick Favorites. Which seems can be very useful in Bonsai, since you can create separate buttons for all kinds of selectors expressions, class assignment or other operators.
- it can import quick favorites from user's actual current quick favorites, so they can just modify them a bit, reorder, rename and then add them again.
- Since quick favorites are not exposed to Python API in Blender, we're using a very hacky way to retrieve them from Blender and don't provide our own buttons for adding and removing quick favorites, as it may be dangerous and even more hacky in implementation. So the workflow for user is to either generate some buttons and add them to quick favorites using Manager or to import it's own quick favorites, then change them how they like, then remove quick favorites using usual quick favorites menu and then add new button one by one.
Small demo - https://files.catbox.moe/vyffp6.mp4
2026-03-11 18:38:24 +05:00
Andrej730
578caaf2cd
tool.Blender.update_all_viewports
2026-03-11 18:38:24 +05:00
Andrej730
15ea092ac4
typing
2026-03-11 18:38:23 +05:00
Andrej730
4b12b6dacd
bim.hide_queried_linked_element - note known UNDO limitation
2026-03-11 18:38:23 +05:00
Andrej730
584bbe3b83
tool/test_project - remove redundant __init__
2026-03-11 18:38:22 +05:00
Andrej730
e47b7bca4b
ci-black-formatting.yml - note on Python versions used
2026-03-11 18:38:22 +05:00
Andrej730
62b108766b
ci-black-formatting.yml - note on Python versions used
2026-03-11 18:38:22 +05:00
HugoBallee
972a1fd309
Update getting_started.rst
...
IFC_SCHEMA_NAME matching includes
2026-03-10 09:41:09 +01:00
Bruno Postle
6f0bb21a43
Disable building example applications by default, closes #7763
...
Enable with -DBUILD_EXAMPLES=ON
2026-03-09 22:59:34 +00:00
dependabot[bot]
72f279381f
Bump immutable from 5.1.2 to 5.1.5 in /src/ifctester/webapp
...
Bumps [immutable](https://github.com/immutable-js/immutable-js ) from 5.1.2 to 5.1.5.
- [Release notes](https://github.com/immutable-js/immutable-js/releases )
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/immutable-js/immutable-js/compare/v5.1.2...v5.1.5 )
---
updated-dependencies:
- dependency-name: immutable
dependency-version: 5.1.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:33:44 +01:00
dependabot[bot]
9873e403bc
Bump tar from 7.5.9 to 7.5.10 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.9 to 7.5.10.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.9...v7.5.10 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.10
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:33:38 +01:00
dependabot[bot]
a48449bc9c
Bump docker/setup-buildx-action from 3 to 4
...
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:33:31 +01:00
dependabot[bot]
8cc50b7399
Bump docker/build-push-action from 6 to 7
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:33:25 +01:00
dependabot[bot]
da027b912e
Bump black from 26.1.0 to 26.3.0
...
Bumps [black](https://github.com/psf/black ) from 26.1.0 to 26.3.0.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md )
- [Commits](https://github.com/psf/black/compare/26.1.0...26.3.0 )
---
updated-dependencies:
- dependency-name: black
dependency-version: 26.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:33:18 +01:00
dependabot[bot]
b65a69b9ca
Bump docker/login-action from 3 to 4
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:25:36 +01:00
dependabot[bot]
3b3b1f1eab
Bump ruff from 0.15.4 to 0.15.5
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.4 to 0.15.5.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.4...0.15.5 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:25:11 +01:00
dependabot[bot]
ff1b74ef10
Bump docker/setup-qemu-action from 3 to 4
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:22:05 +01:00
Richard Brice
610d639c21
Fixes rotation lerp test in make_loft
2026-03-08 10:37:05 -07:00
Richard Brice
e282a18474
Fixes crash in taxonomy::loft::print_impl when axis == nullptr
2026-03-08 09:55:47 -07:00
Thomas Krijnen
0469a9528b
use basic casts to prevent needless item upgrades #7738
2026-03-06 16:34:12 +01:00
Andrej730
f9486be172
get_linked_element_geom_slice - add tests
2026-03-06 19:07:34 +05:00
Andrej730
3a59425a64
Linked IFC models - hotkey to hide selected geometry
...
Demo - https://files.catbox.moe/aok74w.mp4
2026-03-06 19:07:34 +05:00
Andrej730
9d0c172a53
bim.select_linked_model_element
...
Refactored methods for accessing objects in linked models and added a simple operator to select object in linked model by providing guid.
A quick demo - https://files.catbox.moe/sjjw37.mp4
2026-03-06 19:07:34 +05:00
Andrej730
ecc82a52f5
ExtractPropertiesToSQLite - add typing for created columns
2026-03-06 19:07:34 +05:00
Andrej730
adaf33b74f
project.operator - reuse ray_cast method
2026-03-06 19:07:33 +05:00
Andrej730
a52a329197
Update note on Blender upstream issue
...
Fix was included in 4.5.7 (see 141496 bug in https://projects.blender.org/blender/blender/issues/141871 )
2026-03-06 19:07:33 +05:00
Andrej730
3a54e808f6
dev_environment python - create user site packages folder if missing
...
E.g. it might be missing if Python was just installed. Also print paths first before symlinking, making it easier to debug.
2026-03-06 19:07:33 +05:00
Andrej730
f102c7c1b4
ifcopenshell-python makefile - add note about PYNUMBER
2026-03-06 19:07:33 +05:00
Andrej730
9005333f53
ifcpatch MergeProjects - make logger arg optional
2026-03-06 19:07:33 +05:00
Andrej730
a26dbe252a
bim.append_inspected_linked_element - fix missing UNDO
2026-03-06 19:07:33 +05:00
Andrej730
8743d5643e
typing
2026-03-06 19:07:33 +05:00
Andrej730
619848823c
Sort out imports
2026-03-06 19:07:32 +05:00
Richard Brice
951ade4b57
Fix bug introduced in 65d5df78
2026-03-05 14:50:33 -08:00
Richard Brice
1378919709
Fixes IfcLinearPlacement fallback position warning
2026-03-03 13:16:55 -08:00
Ryan Schultz
61cfa48c2c
docs: add BonsaiPR bleeding edge installation section ( #7721 )
...
* Fix #7718 : Fix FallDecorator label calculation for all slope annotation types
- Fix wrong dict key type in decoration.py: DecoratorData.data["fall"] is
keyed by obj.name (str) but was looked up with obj (Object), causing
object_type to always be None
- Apply obj.matrix_world transform to spline points before computing rise/run
in both decoration.py and svgwriter.py; local coordinates have Z=0 for flat
annotations, world coordinates correctly reflect elevation change
- Use hypotenuse (segment_length) instead of run as the denominator for
SLOPE_FRACTION label display
Generated with the assistance of an AI coding tool.
* docs: add BonsaiPR bleeding edge installation section
Add new section to installation.rst documenting the BonsaiPR
community build, including why it exists, how the automated
PR-merging system works, installation steps with automated
updates, manual installation, and the PR workflow for
contributors.
Generated with the assistance of an AI coding tool.
* whoops
2026-03-03 18:48:03 +11:00
falken10vdl
d6c782aba5
Add newline handling with add_newline_between_words n SvgWriter for text literals
2026-03-03 18:46:14 +11:00
dependabot[bot]
d4150e0558
Bump svelte from 5.53.0 to 5.53.6 in /src/ifctester/webapp
...
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte ) from 5.53.0 to 5.53.6.
- [Release notes](https://github.com/sveltejs/svelte/releases )
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.53.6/packages/svelte )
---
updated-dependencies:
- dependency-name: svelte
dependency-version: 5.53.6
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-03 18:44:47 +11:00
dependabot[bot]
4f6051cb0a
Bump ruff from 0.15.2 to 0.15.4
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.2 to 0.15.4.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.2...0.15.4 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-03 18:44:40 +11:00
dependabot[bot]
5a27ec9814
Bump actions/upload-artifact from 6 to 7
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-03 18:44:32 +11:00
dependabot[bot]
0ce60f5061
Bump actions/download-artifact from 7.0.0 to 8.0.0
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 7.0.0 to 8.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v7.0.0...v8.0.0 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-03 18:44:25 +11:00
Thomas Krijnen
43146530b0
arrange polygons: Alternative (unused) perimiter approach; simpler topology handling; projection-based clean-up
2026-03-02 21:49:05 +01:00
Andrej730
db377e2178
Also bump binary version
2026-02-27 15:20:18 +05:00
Thomas Krijnen
5b0511379b
IfcAxis1Placement.Axis is optional #7728
2026-02-27 11:06:45 +01:00
Andrej730
f8663b5e2b
Bump ifcopenshell build
...
Just because it didn't happened for a while now and we need to test it.
2026-02-27 14:52:56 +05:00
Andrej730
92c979fbbf
black .
2026-02-27 14:52:55 +05:00
Andrej730
8834a51122
format cmake files
2026-02-27 14:52:55 +05:00
Andrej730
1c5b825d8e
build-all-win - fix missing compression for Python zip archives
...
Same as 5ebd425 , should resolve https://github.com/ifcopenshell/ifcopenshell/issues/7404
2026-02-27 12:09:34 +05:00
dependabot[bot]
58c69f9d35
Bump ruff from 0.15.1 to 0.15.2
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.1 to 0.15.2.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-26 13:15:49 +01:00
dependabot[bot]
198e111a92
Bump gersemi from 0.25.4 to 0.26.0
...
Bumps [gersemi](https://github.com/BlankSpruce/gersemi ) from 0.25.4 to 0.26.0.
- [Release notes](https://github.com/BlankSpruce/gersemi/releases )
- [Changelog](https://github.com/BlankSpruce/gersemi/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BlankSpruce/gersemi/compare/0.25.4...0.26.0 )
---
updated-dependencies:
- dependency-name: gersemi
dependency-version: 0.26.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-26 13:15:39 +01:00
dependabot[bot]
35886c9f72
Bump svelte from 5.33.10 to 5.53.0 in /src/ifctester/webapp
...
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte ) from 5.33.10 to 5.53.0.
- [Release notes](https://github.com/sveltejs/svelte/releases )
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.53.0/packages/svelte )
---
updated-dependencies:
- dependency-name: svelte
dependency-version: 5.53.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-26 13:14:38 +01:00
dependabot[bot]
097c8af7c7
Bump rollup from 4.41.1 to 4.59.0 in /src/ifctester/webapp
...
Bumps [rollup](https://github.com/rollup/rollup ) from 4.41.1 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v4.41.1...v4.59.0 )
---
updated-dependencies:
- dependency-name: rollup
dependency-version: 4.59.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-26 13:14:21 +01:00
Andrej730
cfea3de552
cmake - fix msvc warning on linking without /ltcg flag
...
Linking flags were missing for `MODULE` type libraries, example warning: `IfcPythonPYTHON_wrap.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance`
2026-02-26 17:12:55 +05:00
Andrej730
5b86eedb26
cmake - fix ifc geom mapping not linking against IfcGeom library
2026-02-26 17:12:55 +05:00
Andrej730
fc13bcd055
bump ccache-action
2026-02-26 17:12:55 +05:00
Andrej730
be4806471d
cache_dependencies - use tar instead of tarfile for archiving
2026-02-26 17:12:55 +05:00
Andrej730
7909997d42
build workflows - reuse cache_dependencies.py
2026-02-26 17:12:54 +05:00
Andrej730
00cd0b76f9
.gersemirc - search src for definitions
...
To fix errors when parsing custom macro from `src\examples\CMakeLists.txt`, see https://github.com/BlankSpruce/gersemi/issues/105
2026-02-26 17:12:54 +05:00
Andrej730
aa7710dd74
cache_dependencies.py - note expected cwd
2026-02-26 17:12:54 +05:00
Andrej730
fc7d15324f
build-all - don't use main repo pyproject.toml for wasm builds
2026-02-26 17:12:54 +05:00
Andrej730
f8f4725054
build-all - remove wasm cxx flags workaround
...
As issue is now fixed upstream (https://github.com/pyodide/pyodide-build/issues/251 )
2026-02-26 17:12:54 +05:00
Andrej730
333b6210a4
black .
2026-02-26 17:12:52 +05:00
Andrej730
ff3933a117
Remove some unused imports
2026-02-26 17:12:46 +05:00
Andrej730
34ffaea2c9
cmake - link serializers against IfcGeom to fix wasm build
...
jsonserializer is using ifcgeom and also eigen3
2026-02-26 17:12:45 +05:00
Andrej730
526b9537a9
build_pyodide.sh - allow executing multiple times
2026-02-26 17:12:45 +05:00
Andrej730
fb1c9eb7e3
build-all - fix missing f-string
2026-02-26 17:12:45 +05:00
Andrej730
a61d5a12fb
build-all - use cmake to build swig
...
To keep it in sync with Windows build. Also Removed pcre2 dependency as apparently it's not required - we were not using it on Windows.
2026-02-26 17:12:45 +05:00
Andrej730
e54d16ef57
build_osx - ensure we use bison from brew instead of the default one
2026-02-26 17:12:45 +05:00
Andrej730
4591b6d926
cmake - ignore rocksdb shared library
...
If makes code target it by default if it's available, leading to errors below, since we don't really support using shared rocksdb. See some more details in the code comment.
IfcPythonPYTHON_wrap.cxx.obj : error LNK2001: unresolved external symbol "public: __cdecl rocksdb::Cleanable::~Cleanable(void)" (??1Cleanable@rocksdb@@QEAA@XZ)
IfcPythonPYTHON_wrap.cxx.obj : error LNK2001: unresolved external symbol "public: __cdecl rocksdb::Cleanable::Cleanable(void)" (??0Cleanable@rocksdb@@QEAA@XZ)
IfcPythonPYTHON_wrap.cxx.obj : error LNK2001: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl rocksdb::Slice::ToString(bool)const " (?ToString@Slice@rocksdb@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "const rocksdb::WriteBatch::`vftable'" (??_7WriteBatch@rocksdb@@6B@)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual __cdecl rocksdb::WriteBatch::~WriteBatch(void)" (??1WriteBatch@rocksdb@@UEAA@XZ)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: __cdecl rocksdb::WriteBatch::WriteBatch(unsigned __int64,unsigned __int64,unsigned __int64,unsigned __int64)" (??0WriteBatch@rocksdb@@QEAA@_K000@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: __cdecl rocksdb::ColumnFamilyOptions::ColumnFamilyOptions(void)" (??0ColumnFamilyOptions@rocksdb@@QEAA@XZ)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl rocksdb::Configurable::GetOptionName(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?GetOptionName@Configurable@rocksdb@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV34@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl rocksdb::Configurable::SerializeOptions(struct rocksdb::ConfigOptions const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?SerializeOptions@Configurable@rocksdb@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBUConfigOptions@2@AEBV34@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual bool __cdecl rocksdb::Configurable::OptionsAreEqual(struct rocksdb::ConfigOptions const &,class rocksdb::OptionTypeInfo const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,void const * const,void const * const,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)const " (?OptionsAreEqual@Configurable@rocksdb@@MEBA_NAEBUConfigOptions@2@AEBVOptionTypeInfo@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBX3PEAV56@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual class rocksdb::Status __cdecl rocksdb::Configurable::ParseOption(struct rocksdb::ConfigOptions const &,class rocksdb::OptionTypeInfo const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,void *)" (?ParseOption@Configurable@rocksdb@@MEAA?AVStatus@2@AEBUConfigOptions@2@AEBVOptionTypeInfo@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2PEAX@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual class rocksdb::Status __cdecl rocksdb::Configurable::ConfigureOptions(struct rocksdb::ConfigOptions const &,class std::unordered_map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > const &,class std::unordered_map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > *)" (?ConfigureOptions@Configurable@rocksdb@@MEAA?AVStatus@2@AEBUConfigOptions@2@AEBV?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@PEAV56@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual class rocksdb::Status __cdecl rocksdb::Configurable::ParseStringOptions(struct rocksdb::ConfigOptions const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?ParseStringOptions@Configurable@rocksdb@@MEAA?AVStatus@2@AEBUConfigOptions@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual void const * __cdecl rocksdb::Configurable::GetOptionsPtr(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?GetOptionsPtr@Configurable@rocksdb@@MEBAPEBXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual class rocksdb::Status __cdecl rocksdb::Configurable::ValidateOptions(struct rocksdb::DBOptions const &,struct rocksdb::ColumnFamilyOptions const &)const " (?ValidateOptions@Configurable@rocksdb@@UEBA?AVStatus@2@AEBUDBOptions@2@AEBUColumnFamilyOptions@2@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual class rocksdb::Status __cdecl rocksdb::Configurable::PrepareOptions(struct rocksdb::ConfigOptions const &)" (?PrepareOptions@Configurable@rocksdb@@UEAA?AVStatus@2@AEBUConfigOptions@2@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl rocksdb::Configurable::AreEquivalent(struct rocksdb::ConfigOptions const &,class rocksdb::Configurable const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)const " (?AreEquivalent@Configurable@rocksdb@@UEBA_NAEBUConfigOptions@2@PEBV12@PEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual class rocksdb::Status __cdecl rocksdb::Configurable::GetOption(struct rocksdb::ConfigOptions const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)const " (?GetOption@Configurable@rocksdb@@UEBA?AVStatus@2@AEBUConfigOptions@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAV56@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "class rocksdb::TableFactory * __cdecl rocksdb::NewBlockBasedTableFactory(struct rocksdb::BlockBasedTableOptions const &)" (?NewBlockBasedTableFactory@rocksdb@@YAPEAVTableFactory@1@AEBUBlockBasedTableOptions@1@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: class std::shared_ptr<class rocksdb::Cache> __cdecl rocksdb::LRUCacheOptions::MakeSharedCache(void)const " (?MakeSharedCache@LRUCacheOptions@rocksdb@@QEBA?AV?$shared_ptr@VCache@rocksdb@@@std@@XZ)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: static class rocksdb::Status __cdecl rocksdb::DB::OpenForReadOnly(struct rocksdb::Options const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::unique_ptr<class rocksdb::DB,struct std::default_delete<class rocksdb::DB> > *,bool)" (?OpenForReadOnly@DB@rocksdb@@SA?AVStatus@2@AEBUOptions@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAV?$unique_ptr@VDB@rocksdb@@U?$default_delete@VDB@rocksdb@@@std@@@6@_N@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: static class rocksdb::Status __cdecl rocksdb::DB::Open(struct rocksdb::Options const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::unique_ptr<class rocksdb::DB,struct std::default_delete<class rocksdb::DB> > *)" (?Open@DB@rocksdb@@SA?AVStatus@2@AEBUOptions@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAV?$unique_ptr@VDB@rocksdb@@U?$default_delete@VDB@rocksdb@@@std@@@6@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "class std::vector<enum rocksdb::CompressionType,class std::allocator<enum rocksdb::CompressionType> > const & __cdecl rocksdb::GetSupportedCompressions(void)" (?GetSupportedCompressions@rocksdb@@YAAEBV?$vector@W4CompressionType@rocksdb@@V?$allocator@W4CompressionType@rocksdb@@@std@@@std@@XZ)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl rocksdb::MergeOperator::PartialMergeMulti(class rocksdb::Slice const &,class std::deque<class rocksdb::Slice,class std::allocator<class rocksdb::Slice> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *,class rocksdb::Logger *)const " (?PartialMergeMulti@MergeOperator@rocksdb@@UEBA_NAEBVSlice@2@AEBV?$deque@VSlice@rocksdb@@V?$allocator@VSlice@rocksdb@@@std@@@std@@PEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@5@PEAVLogger@2@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl rocksdb::MergeOperator::FullMergeV3(struct rocksdb::MergeOperator::MergeOperationInputV3 const &,struct rocksdb::MergeOperator::MergeOperationOutputV3 *)const " (?FullMergeV3@MergeOperator@rocksdb@@UEBA_NAEBUMergeOperationInputV3@12@PEAUMergeOperationOutputV3@12@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl rocksdb::MergeOperator::FullMergeV2(struct rocksdb::MergeOperator::MergeOperationInput const &,struct rocksdb::MergeOperator::MergeOperationOutput *)const " (?FullMergeV2@MergeOperator@rocksdb@@UEBA_NAEBUMergeOperationInput@12@PEAUMergeOperationOutput@12@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl rocksdb::Customizable::SerializeOptions(struct rocksdb::ConfigOptions const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?SerializeOptions@Customizable@rocksdb@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBUConfigOptions@2@AEBV34@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl rocksdb::Customizable::GetOptionName(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?GetOptionName@Customizable@rocksdb@@MEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV34@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual class rocksdb::Status __cdecl rocksdb::Customizable::GetOption(struct rocksdb::ConfigOptions const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)const " (?GetOption@Customizable@rocksdb@@UEBA?AVStatus@2@AEBUConfigOptions@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAV56@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl rocksdb::Customizable::AreEquivalent(struct rocksdb::ConfigOptions const &,class rocksdb::Configurable const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)const " (?AreEquivalent@Customizable@rocksdb@@UEBA_NAEBUConfigOptions@2@PEBVConfigurable@2@PEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "public: __cdecl rocksdb::DBOptions::DBOptions(void)" (??0DBOptions@rocksdb@@QEAA@XZ)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "private: virtual bool __cdecl rocksdb::AssociativeMergeOperator::PartialMerge(class rocksdb::Slice const &,class rocksdb::Slice const &,class rocksdb::Slice const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *,class rocksdb::Logger *)const " (?PartialMerge@AssociativeMergeOperator@rocksdb@@EEBA_NAEBVSlice@2@00PEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVLogger@2@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "private: virtual bool __cdecl rocksdb::AssociativeMergeOperator::FullMergeV2(struct rocksdb::MergeOperator::MergeOperationInput const &,struct rocksdb::MergeOperator::MergeOperationOutput *)const " (?FullMergeV2@AssociativeMergeOperator@rocksdb@@EEBA_NAEBUMergeOperationInput@MergeOperator@2@PEAUMergeOperationOutput@42@@Z)
IfcParse.lib(IfcFile.cpp.obj) : error LNK2001: unresolved external symbol "bool const rocksdb::kDefaultToAdaptiveMutex" (?kDefaultToAdaptiveMutex@rocksdb@@3_NB)
ifcwrap\_ifcopenshell_wrapper.cp311-win_amd64.pyd : fatal error LNK1120: 34 unresolved externals
Or on Unix:
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcEntityInstanceData.cpp.o): in function `rocksdb::PinnableSlice::PinnableSlice(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:141: undefined reference to `rocksdb::Cleanable::Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcEntityInstanceData.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: /home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::Configurable::~Configurable()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/configurable.h:59: undefined reference to `vtable for rocksdb::Configurable'
/usr/bin/ld: /home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/configurable.h:59: undefined reference to `vtable for rocksdb::Configurable'
/usr/bin/ld: /home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/configurable.h:59: undefined reference to `vtable for rocksdb::Configurable'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::Customizable::GetOptionsPtr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/customizable.h:105: undefined reference to `rocksdb::Configurable::GetOptionsPtr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: /home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/customizable.h:105: undefined reference to `rocksdb::Configurable::GetOptionsPtr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: /home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/customizable.h:105: undefined reference to `rocksdb::Configurable::GetOptionsPtr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::Options::Options()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/options.h:1628: undefined reference to `rocksdb::DBOptions::DBOptions()'
/usr/bin/ld: /home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/options.h:1628: undefined reference to `rocksdb::ColumnFamilyOptions::ColumnFamilyOptions()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `IfcParse::impl::rocks_db_file_storage::rocks_db_file_storage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, IfcParse::IfcFile*, bool)':
/home/andrej/ifcopenshell/src/ifcparse/IfcFile.cpp:421: undefined reference to `rocksdb::GetSupportedCompressions()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `init_db':
/home/andrej/ifcopenshell/src/ifcparse/IfcFile.cpp:440: undefined reference to `rocksdb::kDefaultToAdaptiveMutex'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::NewLRUCache(unsigned long, int, bool, double, std::shared_ptr<rocksdb::MemoryAllocator>, bool, rocksdb::CacheMetadataChargePolicy, double)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/cache.h:282: undefined reference to `rocksdb::LRUCacheOptions::MakeSharedCache() const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `init_db':
/home/andrej/ifcopenshell/src/ifcparse/IfcFile.cpp:445: undefined reference to `rocksdb::NewBlockBasedTableFactory(rocksdb::BlockBasedTableOptions const&)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::DB::OpenForReadOnly(rocksdb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rocksdb::DB**, bool)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/db.h:243: undefined reference to `rocksdb::DB::OpenForReadOnly(rocksdb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<rocksdb::DB, std::default_delete<rocksdb::DB> >*, bool)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::DB::Open(rocksdb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rocksdb::DB**)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/db.h:187: undefined reference to `rocksdb::DB::Open(rocksdb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<rocksdb::DB, std::default_delete<rocksdb::DB> >*)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb_set_view<unsigned long>::iterator::extract_current_value() const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_set_view.h:70: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::PinnableSlice::PinnableSlice(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:141: undefined reference to `rocksdb::Cleanable::Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb_set_view<unsigned long>::iterator::iterator(rocksdb_set_view<unsigned long>::iterator const&)':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_set_view.h:103: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: /home/andrej/ifcopenshell/src/ifcparse/rocksdb_set_view.h:106: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `IfcParse::impl::rocks_db_file_storage::process_deletion_inverse(IfcUtil::IfcBaseClass*)':
/home/andrej/ifcopenshell/src/ifcparse/IfcFile.cpp:526: undefined reference to `rocksdb::WriteBatch::~WriteBatch()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::WriteBatch::WriteBatch(unsigned long, unsigned long)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/write_batch.h:67: undefined reference to `rocksdb::WriteBatch::WriteBatch(unsigned long, unsigned long, unsigned long, unsigned long)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `rocksdb::WriteBatch::DeleteRange(rocksdb::Slice const&, rocksdb::Slice const&)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/write_batch.h:164: undefined reference to `rocksdb::WriteBatch::DeleteRange(rocksdb::ColumnFamilyHandle*, rocksdb::Slice const&, rocksdb::Slice const&)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o): in function `IfcParse::impl::rocks_db_file_storage::process_deletion_inverse(IfcUtil::IfcBaseClass*)':
/home/andrej/ifcopenshell/src/ifcparse/IfcFile.cpp:526: undefined reference to `rocksdb::WriteBatch::~WriteBatch()'
/usr/bin/ld: /home/andrej/ifcopenshell/src/ifcparse/IfcFile.cpp:547: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: /home/andrej/ifcopenshell/src/ifcparse/IfcFile.cpp:526: undefined reference to `rocksdb::WriteBatch::~WriteBatch()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTIN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x10): undefined reference to `typeinfo for rocksdb::AssociativeMergeOperator'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x20): undefined reference to `rocksdb::Customizable::GetOption(rocksdb::ConfigOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x28): undefined reference to `rocksdb::Customizable::AreEquivalent(rocksdb::ConfigOptions const&, rocksdb::Configurable const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x38): undefined reference to `rocksdb::Configurable::PrepareOptions(rocksdb::ConfigOptions const&)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x40): undefined reference to `rocksdb::Configurable::ValidateOptions(rocksdb::DBOptions const&, rocksdb::ColumnFamilyOptions const&) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x50): undefined reference to `rocksdb::Configurable::ParseStringOptions(rocksdb::ConfigOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x58): undefined reference to `rocksdb::Configurable::ConfigureOptions(rocksdb::ConfigOptions const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >*)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x60): undefined reference to `rocksdb::Configurable::ParseOption(rocksdb::ConfigOptions const&, rocksdb::OptionTypeInfo const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*)'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x68): undefined reference to `rocksdb::Configurable::OptionsAreEqual(rocksdb::ConfigOptions const&, rocksdb::OptionTypeInfo const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void const*, void const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x70): undefined reference to `rocksdb::Customizable::SerializeOptions(rocksdb::ConfigOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0x78): undefined reference to `rocksdb::Customizable::GetOptionName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0xb8): undefined reference to `rocksdb::MergeOperator::FullMergeV3(rocksdb::MergeOperator::MergeOperationInputV3 const&, rocksdb::MergeOperator::MergeOperationOutputV3*) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0xc0): undefined reference to `rocksdb::AssociativeMergeOperator::PartialMerge(rocksdb::Slice const&, rocksdb::Slice const&, rocksdb::Slice const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, rocksdb::Logger*) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcFile.cpp.o):(.data.rel.ro._ZTVN12_GLOBAL__N_126ConcatenateIdMergeOperatorE+0xc8): undefined reference to `rocksdb::MergeOperator::PartialMergeMulti(rocksdb::Slice const&, std::deque<rocksdb::Slice, std::allocator<rocksdb::Slice> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, rocksdb::Logger*) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_map_adapter<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, DefaultCodec<unsigned long> >::iterator::operator*() const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:261: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: /home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:263: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_map_adapter<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, DefaultCodec<unsigned long> >::iterator::operator==(rocksdb_map_adapter<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, DefaultCodec<unsigned long> >::iterator const&) const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:296: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: /home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:296: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::PinnableSlice(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:141: undefined reference to `rocksdb::Cleanable::Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: /home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::PinnableSlice(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:141: undefined reference to `rocksdb::Cleanable::Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_map_adapter<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DefaultCodec<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::iterator::operator*() const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:261: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: /home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:263: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_map_adapter<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DefaultCodec<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::find(unsigned long const&) const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:327: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_map_adapter<std::tuple<int, int, int>, std::vector<unsigned int, std::allocator<unsigned int> >, DefaultCodec<std::vector<unsigned int, std::allocator<unsigned int> > > >::find(std::tuple<int, int, int> const&) const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:327: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_map_adapter<std::tuple<int, int, int>, std::vector<unsigned int, std::allocator<unsigned int> >, DefaultCodec<std::vector<unsigned int, std::allocator<unsigned int> > > >::iterator::operator*() const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:261: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o):/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:263: more undefined references to `rocksdb::Slice::ToString[abi:cxx11](bool) const' follow
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::PinnableSlice(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:141: undefined reference to `rocksdb::Cleanable::Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_map_adapter<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, DefaultCodec<unsigned long> >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:327: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_map_adapter<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, DefaultCodec<unsigned long> >::iterator::iterator(rocksdb_map_adapter<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, DefaultCodec<unsigned long> >::iterator const&)':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:230: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: /home/andrej/ifcopenshell/src/ifcparse/rocksdb_map_adapter.h:233: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::PinnableSlice(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:141: undefined reference to `rocksdb::Cleanable::Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb::PinnableSlice::~PinnableSlice()':
/home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: /home/andrej/ifcopenshell/build/Linux/x86_64/install/rocksdb-9.11.2/include/rocksdb/slice.h:138: undefined reference to `rocksdb::Cleanable::~Cleanable()'
/usr/bin/ld: ../ifcparse/libIfcParse.a(IfcParse.cpp.o): in function `rocksdb_set_view<unsigned long>::iterator::operator==(rocksdb_set_view<unsigned long>::iterator const&) const':
/home/andrej/ifcopenshell/src/ifcparse/rocksdb_set_view.h:170: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
/usr/bin/ld: /home/andrej/ifcopenshell/src/ifcparse/rocksdb_set_view.h:170: undefined reference to `rocksdb::Slice::ToString[abi:cxx11](bool) const'
collect2: error: ld returned 1 exit status
make[2]: *** [ifcconvert/CMakeFiles/IfcConvert.dir/build.make:236: ifcconvert/IfcConvert] Error 1
make[1]: *** [CMakeFiles/Makefile2:569: ifcconvert/CMakeFiles/IfcConvert.dir/all] Error 2
2026-02-26 17:12:44 +05:00
Andrej730
6492fdeb05
build-all - add zlib and openssl to RHEL packages
2026-02-26 17:12:44 +05:00
Andrej730
8eb0641e70
build-all - mention zlib requirement
2026-02-26 17:12:44 +05:00
Andrej730
6face696cb
build-all - use cmake arg instead of a patch to disable ExpToCasExe
2026-02-26 17:12:42 +05:00
Andrej730
4c4eed5dd4
build_rocky - switch to rocky 9
...
As rocky 8 is not updating anymore for 2 years and we need some updated dependencies (e.g. `bison` 3.5+ for newer version of `swig`).
2026-02-26 17:01:56 +05:00
Andrej730
634600b65f
FindOpenCASCADE - rescan dependencies for cmake config
2026-02-26 17:01:56 +05:00
Andrej730
d43b9ee353
build-all - ensure Python was built with openssl
2026-02-26 17:01:56 +05:00
Andrej730
5ea4290920
build-all - ensure bison is installed
2026-02-26 17:01:56 +05:00
Andrej730
c8ca904333
build-all - distinct command and path in logs
2026-02-26 17:01:56 +05:00
Andrej730
59c28b5ae6
build_rocky - use dnf instead of yum
...
It's using `dnf` either way, but just to make it more explicit.
2026-02-26 17:01:56 +05:00
Andrej730
c649a4b522
build-all - don't fail silently on missing Python dependencies
2026-02-26 17:01:55 +05:00
Andrej730
5ebd4256a1
build-all-win.py - fix missing compression
...
Resulting in larger zip files for builds, reported in 7404
2026-02-26 17:01:55 +05:00
Andrej730
3ec9d69556
build-deps - support building Boost for VS2026
2026-02-26 17:01:55 +05:00
Andrej730
54a6fb651e
tool.ps1 - support commands with 0 args
...
No such commands atm though.
2026-02-26 17:01:55 +05:00
Andrej730
dcac336b98
tool.ps1 - refer to cecho.cmd directly, use return instead of exit 0
...
Which is useful when debugging and calling tools.ps1 directly - less thing to modify to make it work.
Also replaced `exit 0` with `return`, so it would be possible to reuse functions inside `tools.ps1`
2026-02-26 17:01:55 +05:00
Andrej730
88a5717295
build-deps.cmd - fix issue building opencollada in cmake 4
2026-02-26 17:01:55 +05:00
Andrej730
8bfceec1fd
vs-cfg.cmd - document some output vars
2026-02-26 17:01:55 +05:00
Andrej730
3807479e42
build-deps - update occt config to support cmake 4
...
And also to make it work in sync with `build-all.py`.
2026-02-26 17:01:54 +05:00
Andrej730
aebcb676f2
windows - add occt patch to support cmake 4
2026-02-26 17:01:54 +05:00
Andrej730
ba5ea08aee
Bump swig version to support cmake 4
2026-02-26 17:01:54 +05:00
Andrej730
d4ebf3f308
cmake - error if svgpp submodule is not initialized
2026-02-26 17:01:54 +05:00
Andrej730
d9e488d518
cmake format
2026-02-26 17:01:54 +05:00
Andrej730
1fb6227d13
build-deps - use other mpir fork to support VS 2026
2026-02-26 17:01:54 +05:00
Andrej730
0e90cd81b3
vs-cfg.cmd - add support for Visual Studio 18 2026
2026-02-26 17:01:53 +05:00
Andrej730
ac23c7a74b
vs-cfg.cmd - more readable error on supported versions of VS
2026-02-26 17:01:51 +05:00
Andrej730
7322082a0d
typing
2026-02-26 17:01:48 +05:00
Andrej730
0234809d0b
Prefer direct api calls over tool.Ifc.run
2026-02-26 17:01:48 +05:00
Andrej730
38381f44b9
ci-bonsai-daily - generate timestamp once for all builds
...
To avoid running in a situation when some builds are using one tag and some are using another and then unstable repo script fails to find builds for some platforms.
2026-02-26 17:01:47 +05:00
Andrej730
83fed6257e
run-cmake.bat - deduplicate cmake args code
2026-02-26 17:01:47 +05:00
Andrej730
40d43732ca
build-deps - bump proj version to avoid errors in cmake 4+
2026-02-26 17:01:47 +05:00
Andrej730
521c8eae0d
run-cmake.bat - document USE_NINJA env var
2026-02-26 17:01:47 +05:00
Andrej730
5aa7ba6be6
IfcConvert - fix Windows builds stuck on 0.8.0 version
2026-02-26 17:01:47 +05:00
Thomas Krijnen
e3464b395e
--recursion-limit option in validate.py
2026-02-26 12:38:36 +01:00
Thomas Krijnen
9ab9da2ca8
Update black exclude dirs
2026-02-26 12:36:17 +01:00
Thomas Krijnen
077a0c3755
Run black on express/
2026-02-26 12:36:01 +01:00
Thomas Krijnen
18527a78e1
rule_executor.py don't log RecursionError as error
2026-02-26 12:35:40 +01:00
falken10vdl
0be348707c
Update scale_font_size method to accept a None parameter so it is cleaner the calls from the rest of the code base
2026-02-25 13:28:58 -03:00
falken10vdl
1b784e22af
Add decorator font scale property addon setting
2026-02-25 13:28:58 -03:00
falken10vdl
c0857c715a
Refactor scale_font_size to improve DPI and pixel size handling for better font scaling
2026-02-25 13:28:58 -03:00
falken10vdl
ecaea5f776
refactor scale_font_size as per developers feedback
2026-02-25 13:28:58 -03:00
falken10vdl
dde6e2d62b
black
2026-02-25 13:28:58 -03:00
falken10vdl
8df4b2cd56
Scale font size in PolylineDecorator and BoundingBoxDecorator based on Blender's UI preferences
2026-02-25 13:28:58 -03:00
Richard Brice
ece7d6b97f
Fixes example in documentation
2026-02-25 14:21:10 +01:00
Thomas Krijnen
2d7a556dd5
Fix sectioned solid cap #7674
2026-02-24 11:26:18 +01:00
Dion Moult
dcc25038f9
Fix #7646 . Bug with layer thumbnail orientation.
2026-02-24 10:03:33 +11:00
Dion Moult
0d382119dd
Fix docs table for selector syntax
2026-02-24 09:53:57 +11:00
Dion Moult
41afaaec0d
Revert "Fix #7681 : Fix isolate_objects ignoring hide_select/hide_viewport ( #7710 )"
...
This reverts commit 7d8c7a2c3d .
2026-02-24 09:53:28 +11:00
Dion Moult
f69ea82789
Revert "Fix #7646 : Fix layer thumbnail orientation for IFC types"
...
This reverts commit 514cbb49cc .
2026-02-24 09:53:27 +11:00
Dion Moult
2f5c71588e
Revert "Table was not rendering correctly."
...
This reverts commit 9ff4a7f0e0 .
2026-02-24 09:53:24 +11:00
Ryan Schultz
7d8c7a2c3d
Fix #7681 : Fix isolate_objects ignoring hide_select/hide_viewport ( #7710 )
...
Objects with hide_select=True could not be selected during
isolation, causing hide_view_set to incorrectly hide them.
Objects with hide_viewport=True had their H-key hide state
modified as a side effect of hide_view_clear/hide_view_set.
Both are now left unaffected by bim.activate_drawing.
Generated with the assistance of an AI coding tool.
2026-02-23 07:09:18 -06:00
Ryan Schultz
514cbb49cc
Fix #7646 : Fix layer thumbnail orientation for IFC types
...
Use EPset_Parametric.LayerSetDirection exclusively to
determine horizontal vs vertical layer rendering in type
thumbnails, rather than hardcoding IfcSlabType checks.
Also fix line drawing to use the is_horizontal flag
consistently.
Generated with the assistance of an AI coding tool.
2026-02-22 17:46:10 -06:00
Ryan Schultz
9ff4a7f0e0
Table was not rendering correctly.
...
Fix Sphinx docs: replace csv-table with list-table for formatting functions
The documentation table of formatting/query functions was not rendering
because `.. csv-table::` requires strict RFC4180 CSV escaping. The table
contains nested quotes, inch marks (e.g. `3' - 0"`), backticks, and code
examples, which cause the CSV parser in docutils to treat rows as malformed
and drop the entire directive.
Replaced the directive with `.. list-table::`, which parses reStructuredText
instead of CSV and safely supports inline code, quotes, and multi-line cells.
Also moved the examples text outside the directive block and ensured a blank
line after the table so Sphinx does not interpret following paragraphs as
table rows.
No content changes — documentation now renders correctly.
Generated with the assistance of an AI coding tool.
2026-02-22 15:10:29 -06:00
dependabot[bot]
8afe05601e
Bump tar from 7.5.7 to 7.5.9 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.7 to 7.5.9.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.7...v7.5.9 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-20 08:56:50 +11:00
falken10vdl
1751c36c67
AddReferenceImage: implement option to show texture in solid mode ( #7689 )
2026-02-19 21:02:57 +11:00
falken10vdl
d4388ec76d
AddReferenceImage: fix regression with IFC2X3 support, refactor to no longer depend on add_representation or update_representation, remove legacy style updating functionality
...
* Enhance AddReferenceImage operator to use file browser instead of independent popup dialogue
* Fix dimensions assertion in TestAddReferenceImage
* Remove error in return in _execute (it is not execute)
* Add IFC2X3 support to AddReferenceImage
* Adde unit="LENGTH" to the x/y properties (every length dimension everywhere in the UI is in project length units. No need to say it explicitly)
* Manually create the texture always, not just for IFC2X3
* Add poll method to AddReferenceImage operator to check for loaded IFC project
* Refactor AddReferenceImage to add representation manually following pattern in root/operator.py's bim.add_element
* Improve File explorer options between new and select from existing project Ifc Reference Images
* Refactor get_existing_reference_images to use selector for filtering image annotations
* No extra args needed after should_add_representation is False
* Doing clean=True deletes everything
* Don't manually add geometry and materials, don't call bpy.ops. Only create IFC data, then use preexisting loading functions to create geometry.
* Black formatting, also now we can start to remove this operator as it becomes obsolete
* Consolidate duplicate UV generation into Loader.load_generated_uv_map
Replace 3 identical XY-UV baking blocks (create_object IMAGE,
bm_add_image_plane, ImageScalingTool) with a single reusable
classmethod in tool.Loader.
* Fix IFC4 texture display in Solid viewport Texture mode
IFC4 IfcTextureCoordinateGenerator Mode=COORD is used, load_texture_maps
falls back to load_generated_uv_map to bake XY-UV data onto the mesh.
* Fix IFC2X3 texture display
* This looks wrong
* Remove legacy override image feature, because we now have a proper styles and texture manager
* Remove legacy override existing image element, because we now have a dedicated styles texture manager
* Remove unnecessary roundtrip to bmesh and mesh
---------
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2026-02-19 11:56:10 +11:00
falken10vdl
7141f2cf90
Fixes to PR7607 (Linked IFC Projects): Wireframe toggle. More permisive to get has_transformation = False. Show enable_editing_link if link is loaded
2026-02-19 10:53:01 +11:00
Sebastian Schilling
418d410b5c
moved change of bsdd baseurl change to addon settings
2026-02-18 09:11:25 +11:00
Sebastian Schilling
a5461c0748
buildingSMART Data Dictionary module: added textfield to change data dictionary url
2026-02-18 09:11:25 +11:00
Bruno Postle
291e815770
Add AGENTS.md contributor guide
...
Guidelines for external contributors using AI coding tools,
covering licensing, AI disclosure requirements, PR scope,
commit style, code formatting, and testing expectations.
Generated with the assistance of an AI coding tool.
2026-02-18 09:09:46 +11:00
Dion Moult
ed500d58ba
For consistency, maxfail=1 for module tool tests
2026-02-17 18:16:33 +11:00
Dion Moult
8023a992da
Fix tests where panel name and tab panel name is identical
...
For now probably just easier to skip tabs. They are just containers and
not worth testing. Famous last words :)
2026-02-17 18:16:20 +11:00
Dion Moult
fcc80ad14a
Simplify add reference image size implementation and fix segfaulting tests
...
Previously, there was a dance between invoke, execute, and draw. This
can probably be resolved, but is a high-risk for undo bugs. This
simplifies the logic flow to just a traditional _invoke -> _execute.
I add a new feature test to at least make sure it does something, and
this also fixes the segfault in tool tests as it no longer requires the
launching of the file browser.
2026-02-17 18:11:13 +11:00
José Aliste
c6b14d1474
Fixes snap angle.
...
In my previous commit, I mistakenly believed that there was an API change from
snap_angle_increment to snap_angle_increment_3d
But since the feature was introduced in blender 4.2 the setting is called
snap_angle_increment_3d.
2026-02-17 13:39:03 +11:00
Dion Moult
37fe0ad993
Reimplement adding multiple references / schedules cf5ffad9af
...
Previously it was implemented inline. This now implements it as a
tool.Blender function with tests. Also the previous tests didn't
actually run and weren't actually testing any tools despite being in a
tool tests.
2026-02-17 11:18:24 +11:00
Dion Moult
e20e286168
Revert "feat(drawing): support multiple file selection in Add Reference"
...
This reverts commit cf5ffad9af .
2026-02-16 18:25:54 +11:00
Dion Moult
8c0bed0c61
Stub open command so running tests doesn't keep on launching apps
2026-02-16 18:24:37 +11:00
Dion Moult
8cfb162851
Fix #7656 . Regression in text editing where leaders were accidentally removed. Added tests.
2026-02-16 17:57:09 +11:00
dependabot[bot]
379c74b31f
Bump ruff from 0.15.0 to 0.15.1
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.0 to 0.15.1.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.0...0.15.1 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-16 14:57:13 +11:00
Dion Moult
1d1f158fe2
Remove no longer relevant invoke code for linking IFCs
2026-02-16 08:23:35 +11:00
Richard Brice
65d5df7801
IfcAxis2PlacementLinear mapping used with IfcSectionedSurface and IfcSectionedSolidHorizontal
...
IfcSectionedSurface and IfcSectionedSolidHorizontal both of CrossSectionPositions attributes which are lists of IfcAxis2PlacementLinear. The implementation of each class used its own bespoke mapping of IfcAxis2PlacementLinear, which were identical to each other and slightly different than IfcAxis2PlacementLinear. Now the two sectioned classes use the one and only mapping for IfcAxis2PlacementLinear
2026-02-15 11:16:07 -08:00
falken10vdl
b246998f68
Linked IFC projects enhancement (multiple links to same project file) ( #7607 )
...
* Linked IFC projects enhancement (multiple links to same project file)
- Implement link management system using UUIDs as identifiers to support multiple links to the same IFC file
- Add georeferencing compatibility detection and UI display (NONE, NOT_COMPATIBLE, PARTIAL_COMPATIBLE, FULL_COMPATIBLE)
- Support for duplicate link creation with Shift+D shortcut and automatic position offset
- Add false origin and project north calculation from 3D cursor for MANUAL mode
- Only store one cache per file, regardless of the amount of links
- Prevent duplicate links based on filepath and position comparison
- Improve error handling for missing files and loading failures
- Update tests
* Remove duplicate georef UI
I try to avoid duplicate UI (especially for one that can be as
sophisticated as georef - e.g. missing is WCS) as it means double the
code, double the tests, potential user confusion. BTW the note about
vertical datum isn't quite accurate as it may be included in the CRS
definition so vertical datum is optional.
* Remove depsgraph_update_post handler for update_link_ui_on_transform as per core developer feedback
* Move get_projected_crs to geolocation module
* Refactor get_projected_crs to simplify as per core developer feedback
* Remove unused import of bonsai.tool from project module
* Use IfcDocumentInformation per linked file and IfcDocumentReference for locaiton information
* Refactor SaveBlendMetadataFile operator to remove try-except blocks and remove linked projects collections since they are recreated by bonsai
* Cleanup removing empty collection instances for linked models in metadata.blend file and call determine_georeferencing_compatibility on link reload
* Add locking mechanism for linked models and update UI to reflect lock status
* Update logic that track IFC to execute_ifc_duplicate_operator instead of having it in execute() which does not track IFC undo/redo
* Refactor link handling to use get_link_empty_handle and set_link_empty_handle methods which in turn use the standard blender-ifc integrations patters (tool.Ifc.get_object(doc_reference) and tool.Ifc.link(doc_reference, empty_handle)
* remove operator.DuplicateLink and move it to tool.Project.duplicate_link()
* Refactor link handling to use sequential identifiers (no need for STEP ID DocRef)
* Refactor IFC linking logic to handle cases without a parent IFC file loaded. Firts link flase origin becomes parent origin
* Lock should not affect selection.
This makes it consistent with grid / spatial lock, and also toggle
selectability is already implemented.
* Remove unnecessary check for loaded library as Blender seems to do this internally already
* Rename util to get_crs because in IFC4X3 you can also have geographic CRS not just projected
* Remove unnecessary call to determine_georeferencing_compatibility
This function is already always called prior to calculate_link_position
so shouldn't be called here. It's also a very expensive function: as it
currently stands, just to link a single IFC, ifcopenshell.open() is
called 3 times. This reduces it to 2.
* Store CRS as metadata for linked models, and compare metadata when indicating georeferencing compatibility
Previously, to check georeferencing compatibility, ifcopenshell.open()
was used. When linking large models, this adds considerable time and
memory usage. This instead captures the georef as standard metadata in
our .cache.json. This now reduces the ifcopenshell.open() calls back
down to only 1 as necessary (see previous commit).
* Use link index instead of link name to fetch link collection item
Link name runs into issues with name uniqueness. This is why you created
a function for "get next link ID". After this refactoring, we can no
longer worry about uniqueness and that function may be removed.
* Simplify reloadlink into just unload and reload (with cache disabled)
This function should not be responsible for editing any data.
* Remove unnecessary get_next_link_id as names no longer need uniqueness
This now frees up the name variable to track a more meaningful, human
name like IfcDocumentInformation's Name attribute.
* Rewrite get / set link_empty_handle to just use the link directly
This prevents needless logic to fetch the link and also removes issues
related to duplicate names.
* Temporarily remove logic in prop callback
Right now, pretty much all the logic is done in a prop callback. In
general logic in prop callbacks should be minimised, since it's hard to
test and easily triggered as a domino effect of another change, and may
also impact undo/redo.
* Remove code that unnecessarily removes cache
This code removes cache, which means any project unlinking an IFC auto
clears the cache for any other project which doesn't make sense, and
also breaks the ability to readd it quickly.
* Rewrite link, unlink, load, and unload IFC
There were a few issues tackled here:
- Operators that change any IFC data must use tool.Ifc.Operator and
_execute, otherwise undo/redo will break. That's one of the risks of
using prop callbacks, as it is not explicit when an IFC edit happens.
- The usage of IfcDocumentReference was not correct. The Location
should store the URL, _not_ the position. The position should be in the
Identification attribute.
- The URL was stored in IfcDocumentInformation location, which does not
work in IFC2X3. There are a few changes here to make it IFC2X3
compatible.
- Generally move logic in operators, not prop callback.
* Remove restriction around manual mode.
Users should be able to use manual mode if they want.
* Restore AUTOMATIC mode to identical behaviour to file open
This is the first step to reusing cache files agnostic of the host.
* Revert tests for a fresh start for updating tests
* Revert "test_feature - clean up .ifc.cache. files after test was executed"
This reverts commit 99ae768ddf .
* Update tests and reimplement calculations for matrix of empty handle
Previously, the empty would always be placed at the origin, unless a
"position" offset was present. This is a problem, because the "position"
is simply a local offset relative to the Blender cache! If the cache was
regenerated, the offsets would be outdated. Also, the cache appeared in
different locations depending on the false origin mode, so the offset
would mean different things to different people.
Instead, a more robust method is:
1. When you link a file, a Blender cache is generated. The Blender
origin of this cache is arbitrary! It depends on the user's false origin
mode and is purely a Blender session specific thing.
2. When you load a link, a link is _always_ loaded into the correct
location with regards to IFC global coordinates. All math is done from
the perspective of IFC.
3. If you choose to transform (move / rotate / scale!?) this link from
its correct location, that gets recorded as a 4x4 transformation matrix.
Note: I haven't implemented this properly yet.
Tests all pass, with a minor modification to the new behaviour that
false origin mode now won't affect the location it ends up in, only the
generation of the cache.
* Remove arbitrary convention around display name
Not needed anymore now that A/M/D is a detail and not significant on
actual coordinates, and also that the UUID is no longer needed.
* Simplify implementation of loading linked models when opening an IFC
* Move link matrix calculation from operator to tool for reuse
* Implement editing link location and calculation of transformation matrix
I changed my mind on the is_locked thing, since it isn't clear to the
user that locking need to be done to save changes.
* Remove old is_locked, prop update callback no longer needed (dedicated operator instead), remove old calculation code
* Simplify code related to placed_as_per_georef
* For now, simple skip for duplicate / delete
IMO duplicate / delete / move a link are very rare and explicit
operations.
* Update tests
* Remove host_model coordinate data as cache is no longer host model dependent
* Move icons outside list because there are too many
* Minor tweaks
---------
Co-authored-by: Dion Moult <dionmoult@gmail.com >
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2026-02-15 19:28:43 +11:00
Ryan Schultz
a88c5938dc
typos
2026-02-14 12:18:29 -06:00
Thomas Krijnen
7978f1fb08
Fix compilation on gcc #7666
2026-02-13 10:17:28 +01:00
ssg3d
7b4889d2ec
Update IfcParse.cpp
...
IfcOpenshell read file, and write file without changes. This round trip introduces truncation noise. It should not hurt to increase the precision to keep this clean.
2026-02-13 10:03:05 +01:00
José Aliste
740fcf7768
Use Blender's angle snap setting in wall.py and profile.py
...
Replace hardcoded 5-degree angle snapping with Blender's
snap_angle_increment setting in create_wall_from_2_points()
and create_profile_from_2_points().
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-11 22:29:43 -03:00
José Aliste
067e04b564
Use Blender's angle snap setting in model/polyline.py
...
Replace hardcoded 5-degree angle snapping with Blender's
snap_angle_increment setting in handle_lock_axis() for:
- Initial angle rounding when locking axis (A key)
- Angle rounding and increments on Shift+Wheel scroll
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-11 22:29:43 -03:00
José Aliste
cd95f46db5
Use Blender's angle snap setting in tool/polyline.py
...
Replace hardcoded 5-degree angle snapping with Blender's
snap_angle_increment setting in calculate_distance_and_angle().
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-11 22:29:43 -03:00
José Aliste
348e48b49c
Add get_angle_snap_value() helper to tool/snap.py
...
This function retrieves the angle snap increment from Blender's
tool_settings.snap_angle_increment property, which was added in
Blender 4.2. This allows users to configure the angle snap value
through Blender's native UI instead of using hardcoded values.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-11 22:29:43 -03:00
Thomas Krijnen
6bb8abdc5a
Fix for 4.2 schema after a46cdbb907
2026-02-11 12:11:23 +01:00
Thomas Krijnen
b7a8c9b330
Fix for 4.2 schema after a46cdbb907
2026-02-11 11:43:58 +01:00
Thomas Krijnen
e6780973da
arrange_poly: Refactor into logical blocks; add timing
2026-02-10 14:01:10 +01:00
Thomas Krijnen
c6072e416c
N-Section Lofting for Non-Polygonal (Curved) Shapes #7658
2026-02-10 11:04:43 +01:00
Thomas Krijnen
f5686fff26
Simplify destructor by removing null check #7650
2026-02-10 09:25:02 +01:00
Thomas Krijnen
a46cdbb907
Ignore site placement also for site geometry - add queue #7654
2026-02-09 21:37:21 +01:00
Thomas Krijnen
a4d5d4e19a
Ignore site placement also for site geometry #7654
2026-02-09 21:21:10 +01:00
dependabot[bot]
17b88fff22
Bump aws-actions/configure-aws-credentials from 5 to 6
...
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials ) from 5 to 6.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases )
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md )
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-08 19:17:56 +11:00
dependabot[bot]
3fe9980aa4
Bump ruff from 0.14.14 to 0.15.0
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.14.14 to 0.15.0.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.14...0.15.0 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-08 19:17:45 +11:00
Dion Moult
dffa3515c0
Reimplement sort / reverse / join function to format language, simplify text annotation variables, add tests
...
Previously, sort, reverse list, and join functionality was implemented
as special cases in Bonsai itself. Given that it has usecases
(especially in material lists, but any sort of list applies) I've moved
this function into the IOS formatting language.
The IOS formatting language previously wasn't capable of this, but the
awesome addition by @falken10vdl made the formatting language accept
queries inline, so that means it can handle lists. I also added tests
for all the new functions and expression syntax (+-*/ operators).
I simplified the code that gets the evaluated text literal - previously
it seems to call format() multiple times.
2026-02-08 19:17:12 +11:00
Bruno Postle
1d5108f934
Fix linking for builds with -Wl,--as-needed
2026-02-06 16:51:41 +00:00
Dion Moult
02fab6eee2
Fix #7634 . Support formatting signed numbers.
2026-02-06 16:35:04 +11:00
Dion Moult
5e9f97a0c7
Fix #5220 . See #7629 . See #7505 . Reimplement text bulk copying using established copy attribute paradigm.
...
Previously, copy attribution was coupled with text editing. This meant
that you couldn't just do something like change the font or alignment
without also affecting literals. Now like most apps you can just select
bunch of text and change font size etc, using the same UI look and feel
that copying attribute has when editing attributes.
This refactor also removes the need for explicit props tracking each
possible attribute to copy, and the settings collection group. Bulk
applying is now done in core with no calls to UI.
2026-02-06 16:12:14 +11:00
Richard Brice
2692341d3a
Fixes typo
2026-02-05 15:10:33 -08:00
Richard Brice
a54b21b838
Fixes documentation and adds test for expected type
2026-02-05 04:37:58 -08:00
Andrej730
79ef6eb55c
validate_object_selection - fix missing check for active object not present in a view layer
2026-02-04 19:58:26 +05:00
Andrej730
7e1843b962
dev_environment - support Blender 5.1 with Python 3.13
2026-02-04 19:58:25 +05:00
Andrej730
7411da2ae8
bim.search - fix error when unselectable objects get in the way #7635
2026-02-04 19:58:25 +05:00
Andrej730
2f586d6b9e
bonsai prefs - shorten some description strings for readibility
2026-02-04 19:58:25 +05:00
Andrej730
f10d4602fc
typing
2026-02-04 19:58:25 +05:00
Andrej730
50d00eba20
black .
2026-02-04 19:58:25 +05:00
Andrej730
95480a231c
Move handling legacy mathutils buffer types to separate methods
2026-02-04 19:58:24 +05:00
Andrej730
a62b177b19
Bonsai - fix error drag'n'dropping ifc files in Blender 4.5.6
...
Example error:
```
Error: Couldn't find IFC file: 'L:/OD_Cool_Car_Guys.ifc'.
Traceback (most recent call last):
File "\Blender Foundation\Blender\4.5\extensions\.local\lib\python3.11\site-packages\bonsai\bim\module\project\operator.py", line 2759, in invoke
return bpy.ops.bim.load_project(filepath=(filepath / clean_up_path(self.files[0].name)).as_posix())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blender-4.5.6-lts.a78963ed6435\4.5\scripts\modules\bpy\ops.py", line 109, in __call__
ret = _op_call(self.idname_py(), kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Error: Couldn't find IFC file: 'L:/OD_Cool_Car_Guys.ifc'.
```
2026-02-03 19:20:05 +05:00
Andrej730
d6b636909f
bonsai Makefile - revert d745882
...
Since https://github.com/LBNL-ETA/pyradiance/issues/56 is resolved now.
2026-02-03 14:55:14 +05:00
Andrej730
abf0d6f81a
bonsai chaching - save ears for those running the tests
2026-02-03 14:55:14 +05:00
Andrej730
015431fa1f
bonsai - drop unrelated pypi aud module
...
Turned out `aud` module we had in our makefile had nothing to do with Blender built-in `uad` module 🫣
So no need to install anything from PyPI since this module is generally available in Blender
2026-02-03 14:55:14 +05:00
Andrej730
95cc52a6f3
bonsai - revive very important chaching sound
...
`get_data_dir_path` doesn't have `filename` argument, therefore leading to an error
2026-02-03 14:55:14 +05:00
Dion Moult
9dff1441d7
See #7632 . See #5848 . Just disable indexed colour map loading for now, it's pretty rare.
...
Famous last words, at least the KDTree implementation is much faster.
2026-02-03 18:23:39 +11:00
Dion Moult
fdf23ece85
Fix #7632 . See #2824 . Optimise vertex matching trick for IfcIndexedColourMap.
2026-02-03 18:20:49 +11:00
Dion Moult
1445f89f19
See #7629 . Partially reimplement bulk text editing.
...
This isn't complete yet, but it hopefully demonstrates a preferred
implementation:
* Logic in core, not operator
* Loop done in core, without needing to call other core functions, so
the overhead of enabling and disabling editing per object is removed. No
more Blender logic, just straight editing in IFC.
* Reuse existing function to grab text attributes instead of
reimplementing it twice.
* Remove dead code, there seems to be a function
apply_to_selected_objects which was completely unused and duplicated
code twice.
2026-02-03 18:09:15 +11:00
Dion Moult
fe395f9024
Revert "fixes #7629 : close editing mode for text objects after batch edit"
...
This reverts commit 950e147bde .
2026-02-03 09:13:26 +11:00
Ryan Schultz
950e147bde
fixes #7629 : close editing mode for text objects after batch edit
...
Fix issue where selected text annotations remained in editing mode after
applying changes. Now properly restores original editing state for each
selected object.
2026-02-02 09:34:28 -06:00
Thomas Krijnen
c385b93701
Add option --make-volume to apply BOPAlgo_MakerVolume API to non-manifold first operands in opening subtraction
2026-02-01 21:08:11 +01:00
falken10vdl
2d2e8e51aa
Merge pull request #7611 from falken10vdl/connect-ports-for-cable-polyline-operator
...
connect the ports when creating several conected IfcFlowSegment with polyline
2026-02-01 09:21:27 +01:00
falken10vdl
13f03b7487
Merge pull request #7619 from falken10vdl/MEP-Segment-tool-add-rectangular-hollow-profile
...
MEP-Segment-tool-add-rectangular-hollow-and-U-shape-profile
2026-02-01 09:00:14 +01:00
Richard Brice
c6257a4b3a
Fixes errors in ifc_curve_rebar.cpp
...
M_PI was not defined,. Replaced it with boost::math::constants::pi<double>
Calculation of area was incorrect. Area of a circle = PI*r*r = PI*dia*dia/4
2026-01-31 05:30:36 -08:00
dependabot[bot]
9b8b05a570
Bump gersemi from 0.25.1 to 0.25.4
...
Bumps [gersemi](https://github.com/BlankSpruce/gersemi ) from 0.25.1 to 0.25.4.
- [Release notes](https://github.com/BlankSpruce/gersemi/releases )
- [Changelog](https://github.com/BlankSpruce/gersemi/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BlankSpruce/gersemi/compare/0.25.1...0.25.4 )
---
updated-dependencies:
- dependency-name: gersemi
dependency-version: 0.25.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-31 10:04:17 +11:00
Bruno Postle
611a898ada
IFC Git close and reopen repo after cloning
...
Apparently on Windows clone can leave 'stale processes'
2026-01-30 20:07:04 +00:00
Andrej730
6409f41cdf
Bonsai Makefile - sort of simplify pyversion check
2026-01-30 16:05:27 +05:00
Andrej730
35dc029898
bonsai - add a dockerfile
2026-01-30 16:05:27 +05:00
Andrej730
2f72346845
bonsai Makefile - fix platform tag to use the latest pyradiance
...
Apparently `pip download` is matching tag exactly, which was leading to Linux using pyradiance 0.5.3 instead of 1.1.5.
2026-01-30 16:05:27 +05:00
Andrej730
40e4894f8e
ci-bonsai-daily - exclude intel mac build for Python 3.13
...
Since Blender dropped support for it in Blender 5.0 and Python 3.13 is only needed for Blender 5.1.
2026-01-30 16:05:27 +05:00
Andrej730
91ee2b9222
bonsai Makefile - require Blender 5.1 for Python 3.13
2026-01-30 16:05:27 +05:00
Andrej730
ac4ffd91e7
Bonsai Makefile - drop wheel renaming workaround #5743
2026-01-30 16:05:27 +05:00
Andrej730
d74588246a
bonsai Makefile - workaround for pyradiance in Python 3.13
...
Until https://github.com/LBNL-ETA/pyradiance/issues/53 is resolved.
2026-01-30 16:05:26 +05:00
Andrej730
e8a4590d0a
Bonsai Makefile - error for missing PYVERSION
2026-01-30 16:05:26 +05:00
Andrej730
38f9f309e7
Bonsai Makefile - enable Python 3.13 build
2026-01-30 16:05:26 +05:00
Andrej730
47ac909a81
ruff - sort imports
2026-01-30 16:05:26 +05:00
Andrej730
6a63c651d3
black .
2026-01-30 16:05:26 +05:00
falken10vdl
2727bec929
Reorder representation_template to improve clarity and organization as per user feedback
2026-01-30 10:24:53 +01:00
dependabot[bot]
22f91e11b3
Bump tar from 7.5.6 to 7.5.7 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.6 to 7.5.7.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.6...v7.5.7 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.7
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-30 17:57:12 +11:00
Dion Moult
398cd7571e
Add array feature tests
...
I'm thinking of moving array into its own module. The "model" module is
getting a bit full and it'll only grow bigger in the future.
2026-01-30 17:32:30 +11:00
Dion Moult
83d97d7e95
Fix #7616 . Make regenerate array an operator instead of an array preference
...
Sync children was a bit odd because it's not actually an "array
parameter" per se, just a way to regenerate. It's now an operator.
There was a deeper issue I encountered where the way arrays work is that
they duplicate the parent element. (first encountered in e51d2d )
However, the duplication code has special array handling too. To avoid
issues with this cyclical coupling the previous solution was to
reimplement object duplication (with all sorts of pitfalls that has).
Now, I've tried to decouple it further by clearing all array psets prior
to any change, and readding the pset after everything has been
regenerated.
This can be improved upon but I don't feel confident until there is more
comprehensive test coverage for the duplicate operator.
2026-01-30 17:18:02 +11:00
falken10vdl
e47694458f
Add support for FLOW_SEGMENT_U_SHAPE in the AddElement operator
2026-01-29 23:21:14 +01:00
falken10vdl
98a3b2b132
Merge remote-tracking branch 'upstream/v0.8.0' into MEP-Segment-tool-add-rectangular-hollow-profile
2026-01-29 13:17:53 +01:00
falken10vdl
d06f5a6cb9
Add thickness dimension to profile name
2026-01-29 13:12:47 +01:00
falken10vdl
966751a928
Add support for FLOW_SEGMENT_RECTANGULAR_HOLLOW in profile creation in the MEP Segment Tool
2026-01-29 13:10:54 +01:00
Dion Moult
c1aa1dedba
Fix #7615 . Forgot a line when refactoring type geometry regeneration. Added test.
2026-01-29 19:33:44 +11:00
Dion Moult
cc995db98b
Minor fix to 46a6356 to use the collector tool
...
This has a few advantages:
- The collection logic is centralised
- The collection logic is configurable based on the collection mode
- The name is not hardcoded
2026-01-29 19:12:02 +11:00
Ryan Schultz
0e8c98a7bb
Fix: Handle emoji encoding error in dev_environment.py
...
Prevents UnicodeEncodeError on Windows when displaying success message.
2026-01-28 18:34:14 -06:00
Dion Moult
5ce6d927f3
Revert "fix #7537 - Layer thickness correct when slab is rotated and few other features... "
...
This reverts commit 7f87f1fb89 .
2026-01-28 23:39:45 +11:00
Dion Moult
34303c2cfe
Revert "fix to https://github.com/IfcOpenShell/IfcOpenShell/commit/7f87f1fb89fb001320223a4d85e6267f342bf13c : have rotation around the object's origin, not the world origin"
...
This reverts commit 249e68f163 .
2026-01-28 23:28:14 +11:00
Dion Moult
6cfb6d74fe
Revert "fix #7559 : DirectionSense works again."
...
This reverts commit d79524b087 .
2026-01-28 23:25:35 +11:00
Dion Moult
e76c2a70e6
Add tests for aggregate containment changing
2026-01-28 23:18:57 +11:00
Dion Moult
53e5f84730
Fix failing core unit tests
2026-01-28 21:49:25 +11:00
Dion Moult
bcff5c7449
Remove unused tool
2026-01-28 21:49:13 +11:00
Dion Moult
6f78d60c9f
Minor fix for tests to prevent ambiguous labeling
2026-01-28 21:22:19 +11:00
Dion Moult
ff35666ad9
Reimplement feature to reassign inherited containers if you select a child element
...
This reimplements @theoryshaw 's commit 9adbd4 but has a few upgrades:
- Considers all parent / child relationships, not just aggregates
- Puts business logic in core where it belongs and tool code in tool
- Uses existing utils where possible like get_decomposition
- Does not use name based collection checking which is fragile
- Reuses tool.Collector
- Makes container assignment handle the API's capability to do things
in bulk instead of one by one in a loop, so it's faster
- Tests
2026-01-28 18:00:04 +11:00
Dion Moult
79fa47fc2f
Allow specifying MODULE in make test-core for convenience
2026-01-28 17:49:31 +11:00
Dion Moult
35ae1e927d
Fix missing model prophet in core test bootstrap
2026-01-28 17:49:15 +11:00
Dion Moult
24a58cba40
Remove functionality to unlink from non-IFC collections
...
This is a cool idea, but users have all sorts of Blender collection
strategies and I think it's a good idea for Bonsai code to just touch
Bonsai's stuff and leave everything else. Separate functionality can be
built for non-Bonsai workflows and preferrably in a more discoverable
way than in individual Bonsai features.
2026-01-28 09:14:40 +11:00
falken10vdl
8a32d7bea0
Add EstablishPathDirection operator and update UI to integrate it
2026-01-27 18:05:19 +01:00
Dion Moult
bbf8fc2b64
Revert "feat: auto-assign containers to root aggregates and organize parts in outliner"
...
This reverts commit 9adbd47181 .
2026-01-27 19:27:34 +11:00
Dion Moult
2a60f46516
Refactor parse_distance_string into tool classmethod and add tests including e9eca5e behaviour
2026-01-27 19:13:43 +11:00
Dion Moult
6ad9949571
Update tests based on new simpler unit settings code
2026-01-27 19:12:43 +11:00
Dion Moult
e41df68124
Reintroduce public API for IfcTester after ruff purge 72f8218fcd
2026-01-27 15:57:47 +11:00
Ryan Schultz
de6f6cc8b2
Skip incompatible objects instead of failing IFC join operation
...
When joining objects with mismatched representation types, deselect and
skip incompatible objects rather than canceling the entire operation.
This allows users to join compatible objects even when the selection
includes incompatible ones.
2026-01-26 19:53:41 -06:00
falken10vdl
fed98451d4
connect the ports when creating several conected IfcFlowSegment with polyline
2026-01-27 01:32:06 +01:00
Dion Moult
44a52863a2
Fix #3764 . WARNING: Preserve material usage attributes when switching types and refactor type regeneration API listeners
...
This is a dangerous commit because the effect of refactoring of the listeners is hard to know.
2026-01-26 23:30:39 +11:00
Esteban Dugueperoux
f725e05655
Merge pull request #7486 from EstebanDugueperoux2/TestAllExamples
...
cmake: Try to build and run others examples
2026-01-26 13:20:21 +01:00
Andrej730
953c5fddc6
bonsai - sort imports
2026-01-26 17:13:18 +05:00
Andrej730
1319391a6b
ci-bonsai-daily - enable Python 3.13 build
...
Since it's coming in Blender 5.1 which is soon to go Beta (at 4 Feb).
2026-01-26 17:10:04 +05:00
Andrej730
bc675ef9b2
cmake_uninstall - fix always skipped if-block condition
2026-01-26 17:10:03 +05:00
Andrej730
c6766cefb7
cmake_uninstall - speed up the process and fix cmake warnings
2026-01-26 17:10:03 +05:00
Andrej730
c4c1e2ebf9
cmake_uninstall - simplify by using common variable
2026-01-26 17:10:03 +05:00
Andrej730
dbb4e91d55
apply cmake file formatting
2026-01-26 17:10:03 +05:00
Andrej730
44f0a4a39b
pyproject.toml - simplify cmake formatter command
...
Since the latest gersemi version, it now respects gitignore.
2026-01-26 17:10:03 +05:00
Andrej730
6d4eb06d89
black .
2026-01-26 17:10:03 +05:00
Andrej730
72f8218fcd
ruff - check for more unused imports
2026-01-26 17:10:02 +05:00
Andrej730
4edcad13b8
fix ruff
2026-01-26 17:10:02 +05:00
Andrej730
d4d10b2eb5
ifcsverchok - polyline node
...
Demo - https://files.catbox.moe/azv66e.mp4
2026-01-26 17:10:02 +05:00
Andrej730
523bcf3443
ifcsverchok - node to convert sverchok geometry to ifc
...
Example - https://files.catbox.moe/wecgw9.mp4
2026-01-26 17:10:02 +05:00
Andrej730
b96a21350c
ifcsverchok - document value types in doc-strings
2026-01-26 17:10:02 +05:00
Andrej730
2f5bcccd2c
bim.assign_class - don't flip normals for objects with negative scale in Blender 5.1+
...
The issue was fixed upstream - https://projects.blender.org/blender/blender/issues/102266
2026-01-26 16:10:02 +05:00
Dion Moult
d62a6186b5
Demo project preset shouldn't have mass or time by default
2026-01-26 00:01:43 +11:00
Dion Moult
a6394d8628
Revert "Closes #3764 : When switching an instance to a different beam type, preserve the CardinalPoint."
...
This reverts commit 4874f7770b .
2026-01-25 20:58:29 +11:00
Dion Moult
b4caf3b2dd
Fix #7153 . Fix regression in purging types in IFC2X3 from 56861b9
2026-01-25 15:27:23 +11:00
Dion Moult
0e4f2fada1
Fix #7519 . Do not import parametrically locked item attributes.
...
The previous fix by @theoryshaw had the correct conclusion but had some
issues:
1. Don't implement anything that fetches IFC data in the UI draw calls.
This historically has lead to race conditions and crashes. The data
classes are much preferred.
2. Rather than load the inapplicable attribute then selectively omit it
in the UI, it's preferred to just never load it in the first place.
2026-01-25 14:16:35 +11:00
Dion Moult
12f8863014
Revert "Fix #7519 : Hide depth attribute in Item Mode for elements with material layer sets"
...
This reverts commit 99b162f712 .
2026-01-25 14:12:16 +11:00
Dion Moult
884661a454
See #7537 . Quick fix for regression in editing slabs. Needs further investigation.
2026-01-25 10:43:27 +11:00
Dion Moult
0d8c4c7795
Fix #7587 . See #7550 . Bug where you couldn't load or edit arrayed voids.
...
Reuse tool.Geometry.duplicate_ifc_objects because that's where all
duplication logic should stay instead of half reimplementing it every
time which introduces subtle bugs.
2026-01-24 23:03:18 +11:00
Esteban DUGUEPEROUX
8f3715c0f1
review: Take into account remarks
2026-01-24 12:09:29 +01:00
Dion Moult
cf52607528
Fix #7591 . Save pset as template now considers all psets in the file, not just the active one.
2026-01-24 14:20:02 +11:00
dependabot[bot]
7636ff3fdb
Bump ruff from 0.14.13 to 0.14.14
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.14.13 to 0.14.14.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.13...0.14.14 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.14.14
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-24 13:47:32 +11:00
dependabot[bot]
0577dbe865
Bump black from 25.12 to 26.1.0
...
Bumps [black](https://github.com/psf/black ) from 25.12 to 26.1.0.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md )
- [Commits](https://github.com/psf/black/compare/25.12.0...26.1.0 )
---
updated-dependencies:
- dependency-name: black
dependency-version: 26.1.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-24 13:45:01 +11:00
Esteban DUGUEPEROUX
a86c333a99
make: Try to build and run others examples
2026-01-23 20:49:16 +01:00
Thomas Krijnen
3983bfa467
Don't crash on passing indeterminate to instance expecting aggregates #7529
2026-01-23 14:36:06 +01:00
Thomas Krijnen
1137e7b77b
Fix rule compilation regarding indeterminate #7529
2026-01-23 14:36:06 +01:00
Dion Moult
cc542ad074
See #7503 . Add docs about geometry_library
2026-01-23 22:33:20 +11:00
Dion Moult
b41d3ae2b7
Bump IfcConvert documentation including .json and .rdb support
2026-01-23 22:32:48 +11:00
Dion Moult
5c31ae4c37
Remove preference to mass/time and make it default with simpler code
...
I generally like to minimise knobs and dials, so this is now part of the
wizard but now defaults to a "NONE" unit. You also now have the option
to choose "NONE" for area / volume units which makes things consistent.
Enum names also match the IFC lowercase convention for conversion based
units. This also simplifies the core logic and treats all units the same
way instead of special cases for each unit type. (length is still
special and required in Bonsai as we are inherently graphical)
2026-01-23 22:03:32 +11:00
Thomas Krijnen
92ad7d2ba2
Fix #7554
2026-01-23 11:54:04 +01:00
Thomas Krijnen
ad0c97a6bb
Fix #7561
2026-01-23 11:44:14 +01:00
Thomas Krijnen
3d530b1d39
No occt multi-threading since we have our own
2026-01-23 11:44:14 +01:00
Thomas Krijnen
f0308962aa
Clash: Increase robustness of processing triangulated elements - fully co-planar element #7467
2026-01-23 11:44:14 +01:00
Thomas Krijnen
9c6a8bdb90
Clash: Increase robustness of processing triangulated elements - skip empty #7467
2026-01-23 11:44:14 +01:00
Thomas Krijnen
a6a9f9d0a7
Only enable--fat on x86 in build-all.py #7458 #7556
2026-01-23 11:22:56 +01:00
Thomas Krijnen
ab3108ff59
Set GMP --enable-fat during build #7458 #7556
2026-01-23 11:16:06 +01:00
Esteban DUGUEPEROUX
128fdcb62e
fix: Add IfcGeom as a dependency of kernels target instead of the inverse
2026-01-23 10:22:16 +01:00
Esteban DUGUEPEROUX
a609bc61b9
fix: Define OPENCASCADE_LIBRARIES as expected by generic CMakeLists.txt for ifcgeom kernels
2026-01-23 10:22:16 +01:00
Esteban DUGUEPEROUX
c739b93389
fix: Have kernels targets built as library
2026-01-23 10:22:16 +01:00
Thomas Krijnen
6b7b834ac0
Don't try and solve 2d bools in cgal-simple #7503
2026-01-23 10:12:33 +01:00
Dion Moult
ac128e3395
Close #7601 . Clearer docs that there is a single mesh item.
2026-01-23 15:56:44 +11:00
Dion Moult
5dd771c5e5
Fix #7596 . Bug where IFC2X3's workspace didn't use IfcDoorStyle and IfcWindowStyle instead
2026-01-23 15:51:39 +11:00
Dion Moult
247f0c41d9
Increase default deflection tolerance to improve performance
...
This only results in a lower resolution for things like advanced brep
geometry which isn't a biggie (I'll eat my words later)
2026-01-23 15:32:04 +11:00
falken10vdl
bbda8d2aff
Merge pull request #7543 from falken10vdl/MEP-ports
...
Simplified handling of Ports in MEP
Addresses https://community.osarch.org/discussion/comment/27740#Comment_27740
2026-01-22 09:34:52 +01:00
Dion Moult
c2cc6f80be
IfcTester webapp now shows prohibited more clearly
...
- is_skipped is calculated upstream instead of reimplementing logic
- the viewer now shows cardinality (not just in edit mode) to make it
clear what the requirements are
- prohibited specs are not allowed to have any requirements, so that
section is hidden
- failed prohibited specs now shows list of failed (applicable)
entities
2026-01-22 14:36:46 +11:00
Dion Moult
4c47eb573a
Improve IDS static HTML reporter to report list of prohibited entities (they aren't passes or fails, just prohibited applicability)
2026-01-22 11:18:35 +11:00
falken10vdl
84d55d8969
cleanup
2026-01-21 20:54:20 -03:00
falken10vdl
587fc63843
Refactor PolylineDecorator to simplify label indexing and improve text spacing calculation
2026-01-21 20:54:20 -03:00
falken10vdl
3c3525f205
display angles and area/length values conditionally based on polyline points
2026-01-21 20:54:20 -03:00
falken10vdl
4da0b04162
add adjunt_overlapping_labels
2026-01-21 20:54:20 -03:00
Vincent Cadoret
a3801a0ce9
Fix UnboundLocalError in reporter.py cardinality assignment
...
The report_specification() method in the Json reporter class was raising
an UnboundLocalError when processing IDS specifications with certain
minOccurs/maxOccurs combinations that weren't explicitly handled.
Problem:
The cardinality variable was only assigned for three specific cases:
- minOccurs=1, maxOccurs="unbounded" → "required"
- minOccurs=0, maxOccurs="unbounded" → "optional"
- minOccurs=0, maxOccurs=0 → "prohibited"
However, the IDS schema allows other valid combinations such as:
- minOccurs=0, maxOccurs=1 (commonly used for optional specifications)
- minOccurs=1, maxOccurs=1 (exactly one occurrence required)
- Any other valid XML Schema cardinality values
When processing IDS files with these combinations, the cardinality
variable remained unassigned, causing an UnboundLocalError at line 382
when attempting to use it in ResultsSpecification().
Solution:
Added fallback logic to handle all valid IDS cardinality combinations:
- If minOccurs >= 1: cardinality = "required" (must occur at least once)
- Otherwise (minOccurs == 0): cardinality = "optional" (may occur)
This maintains semantic compatibility with the existing codebase, which
expects cardinality to be one of the semantic strings ("required",
"optional", "prohibited") rather than numeric ranges. This is critical
for:
- HTML template rendering (line 457: .capitalize())
- Conditional logic for skipped specs (line 454)
- UI rendering for prohibited specs (line 456)
Testing:
- Tested with IDS file containing minOccurs=0 without explicit maxOccurs
(defaults to 1 per XML Schema specification)
- Validation now completes successfully without UnboundLocalError
- HTML report generation works correctly with semantic cardinality labels
- Maintains backward compatibility with existing IDS files
Fixes: Validation failure when using valid IDS cardinality combinations
2026-01-22 10:21:45 +11:00
Christoph Mellüh
aafa1b95e8
bSDD Add new class properties and relations API Endpoints ( #7502 )
...
* black .
* add typing
* move function
* add get_class_relations
* add test for class relation
---------
Co-authored-by: Dion Moult <dionmoult@gmail.com >
2026-01-22 10:19:09 +11:00
falken10vdl
f89cf88bc0
Add use_factory_startup to src/bonsai/test/bim/test_feature.py def an_empty_blender_session()
...
This addresses https://github.com/IfcOpenShell/IfcOpenShell/issues/7590
Cheers!
2026-01-22 09:36:04 +11:00
dependabot[bot]
0cc3ce8709
Bump tar from 7.5.3 to 7.5.6 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.3 to 7.5.6.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.3...v7.5.6 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-22 08:40:44 +11:00
Andrej730
421d454ce8
Fix missing Literal import
2026-01-21 17:39:41 +05:00
Andrej730
64865c58a5
remove debug print
2026-01-21 17:39:41 +05:00
Andrej730
784415e464
ifcsverchok bonsai integration - support editing parametric properties from UI
...
Demo - https://files.catbox.moe/extsxf.mp4
But now it requires ifcsverchok graph to be nested inside a subgroup because we need a way to indicate which graph parameters are important, so user can modify them from Parametric Geometry tab without actually explicitly opening sverchok graph.
2026-01-21 17:39:41 +05:00
Andrej730
c33969d589
ifcsverchok - correct socket type for position
2026-01-21 17:39:40 +05:00
Dion Moult
41c6eba193
IfcTester should not check requirements for prohibited specifications
2026-01-21 19:43:37 +11:00
Dion Moult
db52703ce3
Revert "Use hide_set() for IfcSpaces instead of hide_viewport"
...
This reverts commit 96fe9b5398 .
This commit contains a logical error where hide_viewport is checked in
the if statement but hide_set() is used as the effect. This causes a
regression in tests about project visibility. `hide_viewport` is the
correct hiding setting to use, because hide_set is more ephemeral and
affected by Shift-H, Alt-H etc.
2026-01-21 18:52:27 +11:00
Dion Moult
e55955b72a
See #7566 . Fix unusable lag due to dense meshes with product preview
...
Previously, when the add occurrence modal operator was executed, on
every modal loop (i.e. every mouse movement) it would fetch the mesh
geometry to be previewed, store the verts / edges / faces in mesh
collections, then the decorator would fetch that geometry, the clear the
collections, in a loop.
I've removed the Blender collections. Instead the same strategy is used
as in ItemDecorator i.e. the mesh and verts are fetched once during
decorator installation, then on each draw call only a single vertex loop
to multiply by the transformation matrix for snapping and mouse
position.
You can test with the LOD400 model in #7566 . On my machine it would
cause lag on anything with >500 faces. Now it seems to work without lag
on a 26k polygon mesh.
2026-01-21 18:11:20 +11:00
dependabot[bot]
4c1b3221ce
Bump gersemi from 0.24 to 0.25.1
...
Bumps [gersemi](https://github.com/BlankSpruce/gersemi ) from 0.24 to 0.25.1.
- [Release notes](https://github.com/BlankSpruce/gersemi/releases )
- [Changelog](https://github.com/BlankSpruce/gersemi/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BlankSpruce/gersemi/compare/0.24.0...0.25.1 )
---
updated-dependencies:
- dependency-name: gersemi
dependency-version: 0.25.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-19 12:40:44 +11:00
dependabot[bot]
9e2b7ba7c8
Bump tar from 7.4.3 to 7.5.3 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.4.3 to 7.5.3.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.4.3...v7.5.3 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-19 12:39:38 +11:00
falken10vdl
1576ade147
Merge pull request #7576 from falken10vdl/support-enum-for-search-suggestions
...
Enhance filter value suggestions to support enumerated properties in search
2026-01-18 00:13:44 +01:00
falken10vdl
db8a1b9262
Merge pull request #7575 from falken10vdl/simplify-new-filter-mode-with-just-chained-filters-with-set-operations
...
Refactor filter mode handling to simplify chained filters with set operations
2026-01-18 00:12:40 +01:00
falken10vdl
09d193045a
Enhance filter value suggestions to support enumerated properties in search
2026-01-18 00:05:07 +01:00
falken10vdl
f3295e2663
Refactor filter mode handling to simplify chained filters with set operations
2026-01-17 20:02:09 +01:00
Dion Moult
16a90cadb5
Cap product decorator at 500 triangles to prevent unresponsive UI during dense product placement
2026-01-17 17:57:07 +11:00
Dion Moult
2065d4ce78
Minor optimisation to prevent looping through all verts twice in decorator draw
2026-01-17 17:55:11 +11:00
dependabot[bot]
5cadfd693f
Bump ruff from 0.14.10 to 0.14.13
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.14.10 to 0.14.13.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.10...0.14.13 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.14.13
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-17 15:39:57 +11:00
Andrej730
9d1dcf9034
external parametric geometry - integrate with ifcsverchok
...
Still very experimental, but here's a short demo - https://files.catbox.moe/u6vnhj.mp4
Sverchok graph I've used - https://files.catbox.moe/1x7b7q.png
2026-01-16 17:16:29 +05:00
Andrej730
ed38d2347c
ifcsverchok - check for unused imports
2026-01-16 17:16:29 +05:00
Andrej730
47e259ff2f
ifcsverchok - operator to apply graph to Bonsai file
2026-01-16 17:16:29 +05:00
Andrej730
413530bb0a
ifcsverchok - shape output node
2026-01-16 17:16:29 +05:00
Andrej730
a3bcea008a
util.shape - move typing stuff to TYPE_CHECKING block
2026-01-16 17:16:29 +05:00
Andrej730
d93363b9bb
ifcsverchok - specify extrusion axis
2026-01-16 17:16:29 +05:00
Andrej730
77a912c756
shape_builder.rectangle - clarify 3d size use
2026-01-16 17:16:28 +05:00
Andrej730
668b63a323
shape_builder - clean up redundant default values from doc-strings
2026-01-16 17:16:28 +05:00
Andrej730
dbc0cca36e
ifcsverchok - experimenting with shape builder nodes
2026-01-16 17:16:28 +05:00
Andrej730
009652f97d
ifcsverchok - fix by query node
2026-01-16 17:16:28 +05:00
Andrej730
c77c4ce968
model.ui - more specific typing from props
2026-01-16 17:16:28 +05:00
Andrej730
a0b81e333e
black .
2026-01-16 17:16:25 +05:00
Andrej730
dfc91e6639
ifcopenshell-python - clean up unused imports
2026-01-16 17:16:24 +05:00
Dion Moult
233ad63bca
Remove document menu for UI consistency
...
Although it is a very cool trick, I feel this essentially duplicates the
UI in two spots, and is an outlier in UX. I'd prefer for all IFC data
and relationships to be in one location only (the panels). I think there
are a better unified solutions (e.g. favourite bookmark panels) for
quick access for things like this.
2026-01-16 20:11:43 +11:00
Dion Moult
242f1aab35
Fix #7563 . Regression in normalising document URIs.
2026-01-16 10:26:23 +11:00
Ryan Schultz
d79524b087
fix #7559 : DirectionSense works again.
2026-01-15 14:21:39 -06:00
Dion Moult
8060c790ed
Black
2026-01-15 22:00:51 +11:00
Dion Moult
47a2c1d21a
Refactor panel visibility to not use any helpers, operators, and shift config UI into add-on settings
...
To be consistent with all other settings, I've moved the visibility
config UI from inline into the add-on settings. This restores the
previous tab layout and no longer needs the "settings" icons to be
there. This also removes the need for a "enable UI config" checkbox.
Most of the code previously had dedicated operators to toggle booleans.
This has been removed. This new approach also means helpers aren't
needed.
2026-01-15 21:59:53 +11:00
Christoph Mellüh
ed81a0a4b3
update api to V5 ( #7409 )
2026-01-15 20:52:06 +11:00
Dion Moult
26fb6ebd3c
Refactor tab visibility to use data cache
...
Previously calculation of visibility was done on every draw (3x 10tabs x
10 collection items). The data class is intended to calculate UI data
once only which is more efficient. This also removes all helper calls
from the UI.
2026-01-15 11:30:28 +11:00
Dion Moult
bb50be389e
Refactor should_show_panel into tool.Blender (avoid helper.py) and merge into is_tab
...
This moves the logic from ui.py into tool.Blender. In general, helper.py
is a bit generic (and historic) and we should use tool instead.
2026-01-15 09:15:13 +11:00
Richard Brice
df7318973d
Adds support for IfcOpenCrossProfileDef and branching with IfcSectionedSurface
2026-01-14 13:28:07 -08:00
Ryan Schultz
46a6356f93
update the name of the blender collection, as well, when updating the name of the spatial container.
2026-01-13 12:33:54 -06:00
Ryan Schultz
9adbd47181
feat: auto-assign containers to root aggregates and organize parts in outliner
...
When assigning a container to an aggregated element, automatically promote
the operation to the root aggregate and move all nested parts to the
container's collection in the Blender outliner.
Changes:
- AssignContainer now traverses the aggregate hierarchy to find the root
aggregate when a user selects any nested part
- All parts and sub-aggregates are moved to the container's collection in
the outliner while preserving IFC aggregate relationships
- Parts remain aggregated in IFC (not directly contained), only their
Blender collection membership changes
- RefreshLinkedAggregate now also moves all parts to the correct container
collection when restoring original data
This provides a more intuitive UX - users can select any part and the entire
assembly moves together, properly organized under the spatial container.
Fixes the previous behavior where:
- Aggregated elements were skipped with a warning
- Parts weren't organized under the container in the outliner
- Aggregate nesting was broken after container assignment
2026-01-13 11:45:34 -06:00
falken10vdl
96a0e9f72d
Adapt tests for create_port_at_cursor method
2026-01-13 10:07:10 +01:00
falken10vdl
791a41d649
cleanup and black .
2026-01-13 08:49:57 +01:00
Ryan Schultz
249e68f163
fix to https://github.com/IfcOpenShell/IfcOpenShell/commit/7f87f1fb89fb001320223a4d85e6267f342bf13c : have rotation around the object's origin, not the world origin
2026-01-12 19:37:25 -06:00
Dion Moult
3c8ab26274
Do not scale georef WCS decorator if it is <1km (i.e. small site definition)
...
Previously it was scaled which misled users into thinking the point was
in the wrong location.
2026-01-13 09:30:31 +11:00
Andrej730
18a25ffb0e
Remove redundant label in project info UI
2026-01-12 18:20:11 +05:00
Andrej730
cc341b5ffd
Remove debugging print statements
2026-01-12 18:20:11 +05:00
Andrej730
c8ac61a9d0
CI - bump Blender we use for testing to 5.0
2026-01-12 18:20:11 +05:00
Andrej730
7d49113407
typing
2026-01-12 18:20:11 +05:00
Andrej730
153de70a71
black .
2026-01-12 18:20:10 +05:00
falken10vdl
1f845569a5
Merge pull request #7466 from DrInfiniteExplorer/vscode-debug-integration
...
vscode config for Bonsai debugging
2026-01-12 12:23:23 +01:00
falken10vdl
1eb2b65268
Add flow direction handling to port connection logic and UI updates
2026-01-12 12:19:13 +01:00
Pierre LeMoine
d7ad0a352e
vscode config for Bonsai debugging
2026-01-12 07:30:02 +01:00
Ryan Schultz
d29cecab30
Fix aggregate duplication to include parts and preserve hierarchy ( #7550 )
...
- Auto-include all parts when duplicating aggregates
- Preserve nested aggregate relationships during duplication
- Select all duplicated objects for immediate moving
2026-01-11 20:35:32 -06:00
Ryan Schultz
7f87f1fb89
fix #7537 - Layer thickness correct when slab is rotated and few other features...
...
- Add dual-rotation support for AXIS3 slabs (IFC angle + object rotation)
- Fix profile editing to display horizontal projection for tilted slabs
- Fix AXIS2 layer slicing to use local extrusion direction for walls
- Fix ChangeExtrusionDepth to refresh geometry after depth changes
- Remove rotation lock on slabs to allow free rotation
- Fix undefined variable bug in add_slab_representation.py
2026-01-11 18:43:07 -06:00
falken10vdl
e5ccd26762
Update port UI to indicate disconnection status more clearly
2026-01-11 14:46:17 +01:00
falken10vdl
0243519a68
Refactor port connection logic and UI integration for improved usability
2026-01-11 14:22:58 +01:00
Ryan Schultz
15bbdc8085
Fix #7539 : preserve nested aggregate structure when refreshing linked aggregates
2026-01-10 09:36:36 -06:00
falken10vdl
c2b72440a2
Use helper function for search suggestions in literal property drawing ( #7547 )
2026-01-10 08:30:43 -06:00
falken10vdl
8205408a66
Add filter_mode property to BIMFacet for selection management ( #7548 )
2026-01-10 08:24:04 -06:00
falken10vdl
b78db3cae0
Merge pull request #6825 from falken10vdl/UI_documents_tree
...
UI documents tree
2026-01-10 11:43:42 +01:00
falken10vdl
81fdf63bd0
adapted to get pytest -p no:pytest-blender test/core/test_document.py working. Black formating
2026-01-10 10:44:51 +01:00
falken10vdl
454ed2c5a1
updated to get make test-bim MODULE=document working
2026-01-10 10:44:51 +01:00
falken10vdl
df6592c7b9
updated to get make test-tool MODULE=document working
2026-01-10 10:44:51 +01:00
falken10vdl
e4ba633d94
cleanup nomenclature and some redundant code
2026-01-10 10:44:51 +01:00
falken10vdl
6f400c8e44
updates based on core developer's feedback
2026-01-10 10:44:51 +01:00
falken10
128fe66837
cleanup and formatting
2026-01-10 10:44:51 +01:00
falken10
9c8c40c0ff
nicer ui
2026-01-10 10:44:51 +01:00
falken10
ca8eb9b358
misc panel working
2026-01-10 10:44:51 +01:00
falken10
b6cfd165c2
updates based on developers feedback
2026-01-10 10:44:51 +01:00
falken10
aa8c146f9d
Refactoring based on developer's feedback
2026-01-10 10:44:51 +01:00
falken10
d2adfc8c5d
updated document ui
2026-01-10 10:44:51 +01:00
falken10
5ea66730d4
Implemented tree like structure for documents
2026-01-10 10:44:51 +01:00
falken10vdl
7ef11361b0
Update flow direction icons for ports in UI
2026-01-10 10:12:25 +01:00
Bruno Postle
0c3153ab7f
Docs, link fedora Bonsai/IfcOpenShell packages
2026-01-09 23:19:39 +00:00
falken10vdl
dfbaa6ac8e
Reset related_port_object to None after connecting ports
2026-01-09 17:39:42 +01:00
falken10vdl
c41496a9c3
import IfcDistributionPorts with assets when executing append_library_element and for type products, use the type product's collection, not the container
2026-01-09 17:11:02 +01:00
falken10vdl
ed7ae0da9c
Enhance show_ports (also shows ports of connected objects) and refine UI layout
2026-01-09 13:18:01 +01:00
falken10vdl
4463235728
Remove ShowPortFlowError operator and update flow direction handling for connected ports
2026-01-09 08:43:46 +01:00
falken10vdl
628a76e487
Simplified handling of Ports in MEP
2026-01-09 02:02:43 +01:00
Ryan Schultz
a460e29473
retain current selection in bim.select_similar_type
2026-01-08 09:41:29 -06:00
Ryan Schultz
e9eca5e3f2
If feet is negative, inches should also be negative (subtractive)
2026-01-07 09:08:12 -06:00
falken10vdl
c848462905
Merge pull request #7536 from falken10vdl/per-file-save-metadata
...
Add Ifc Document information element to decide if blend metadata info should be used in this project file
2026-01-07 15:46:42 +01:00
falken10vdl
321878e1bb
Add Ifc Document information element to decide if blend metadata info should be used in this project file
2026-01-06 22:14:08 +01:00
Ryan Schultz
831c3190cc
Fix #7531 : Add BBIM_MaterialLayer pset for custom offset persistence and UI improvements
...
This commit introduces a new BBIM_MaterialLayer property set to persist custom
material layer offset settings in IFC files, along with significant UI improvements
for material editing.
Features Added:
- New BBIM_MaterialLayer pset with properties:
- UseCustomOffset (bool): Toggle for custom offset
- CustomOffset (float): Offset value in SI units
- CustomWallReference (str): Wall reference point (EXTERIOR/CENTER/INTERIOR)
- CustomSlabReference (str): Slab reference point (TOP/MIDDLE/BOTTOM)
Tool Updates (tool.py):
- Added save_custom_offset_to_pset(): Saves custom offset from UI props to pset
- Added load_custom_offset_from_pset(): Loads custom offset from pset to UI props
- Updated get_material_layer_custom_offset(): Reads from pset when props unavailable
Operator Updates (operator.py):
- EnableEditingAssignedMaterial: Loads custom offset from pset on edit start
- EditAssignedMaterial: Saves custom offset to pset on edit completion
- Fixed KeyError for CardinalPoint in material constituent sets
Data Layer (data.py):
- Added bbim_material_layer_pset() to ObjectMaterialData for caching pset data
- Improves performance by avoiding repeated IFC queries during UI drawing
UI Improvements (ui.py):
- Added custom offset display in both editable and read-only material UIs
- Added OffsetFromReferenceLine display in read-only UI
- Implemented dynamic headers based on material type (Layers/Profiles/Constituents)
- Improved visual hierarchy with consistent boxing and indentation
- Aligned editable and read-only UI layouts for consistency
- Fixed layer set boundary labels (Top/Bottom for slabs, Interior/Exterior for walls)
- Reorganized "Add Material" section into material layers box
Bug Fixes:
- Fixed format_distance() to correctly handle negative imperial values
(e.g., -0.5' now displays as "-0' - 6"" instead of "0' - -6"")
This allows users to set custom material layer offsets that persist in the IFC
file and remain available across sessions, with clear visual feedback in both
editing and viewing modes.
2026-01-04 13:15:39 -06:00
Bruno Postle
a17b0604e1
api.project.append_asset deduplicate material sets
...
When appending a wall type and a slab type in turn, if their material
layer sets have the same name then the slab type would have a wall
construction. Now the material sets are compared before reusing an
existing material set.
2026-01-04 11:36:05 +00:00
Bruno Postle
db623f4e73
api.project.append_asset Material Layer orphan fix
...
Fixes typo introduced in b4740b6 where `element in MATERIAL_SETS` should
have been `element.is_a() in MATERIAL_SETS`. This resulted in
deduplication of layersets, but not of the layers themselves.
2026-01-04 10:12:16 +00:00
Ryan Schultz
cb08191083
close #3451 : support comma-separated stylesheet paths
...
Enable multiple CSS files in stylesheet_path using comma separation.
Files are loaded in order with natural CSS cascading behavior.
Example: "base.css, overrides.css"
2026-01-03 18:10:21 -06:00
Ryan Schultz
4874f7770b
Closes #3764 : When switching an instance to a different beam type, preserve the CardinalPoint.
2026-01-03 16:52:10 -06:00
Ryan Schultz
56861b9403
fix #7153 : Include IfcSpatialElementTypes in purge_unused_objects(object_type='TYPE')
2026-01-03 16:04:58 -06:00
Bruno Postle
c20ed44a0f
More python 3.14 fixes, see 9bac66a
2026-01-03 21:58:05 +00:00
Bruno Postle
9bac66a01b
Fix for python 3.14
...
"In some versions of Python, instances of classes may have an
__annotations__ attribute. However, this is not supported functionality.
If you need the annotations of an instance, you can use type() to access
its class" https://docs.python.org/3/howto/annotations.html
2026-01-03 17:53:59 +00:00
Ryan Schultz
93de429e03
Previous commit should only apply to LAYER3 objects, since extrusion depth still works for LAYER2 objects.
2025-12-31 07:52:19 -06:00
Ryan Schultz
99b162f712
Fix #7519 : Hide depth attribute in Item Mode for elements with material layer sets
...
When editing representation items for elements with IfcMaterialLayerSetUsage
(LAYER2/LAYER3), the depth attribute is now hidden from the UI as it should
not be modified at the item level for these parametric elements.
The check is performed by accessing the parent element through the
representation_obj property in geometry props and checking its material
usage type.
2025-12-31 07:43:34 -06:00
falken10vdl
22dddea0e0
Merge pull request #7521 from falken10vdl/fix-queries-with-backticks-in-annotations
...
Update formatting expression evaluation to include element context
2025-12-30 17:40:45 +01:00
falken10vdl
f83fd665da
Merge pull request #7518 from falken10vdl/fix-metadata-loading-with-styles
...
Fix: LoadBlendMetadataAndIFC by using load_handler
2025-12-30 05:58:04 +01:00
falken10vdl
c0f240379c
Update formatting expression evaluation to include element context
2025-12-29 19:17:30 +01:00
falken10vdl
1fd8878796
Merge pull request #7505 from falken10vdl/text-annotations-squash-merge
...
PR7500 squashed commit
2025-12-28 12:47:30 +01:00
falken10vdl
315b8b7112
Fix: LoadBlendMetadataAndIFC by using load_handler
2025-12-27 20:58:19 +01:00
Ryan Schultz
d69b4927a2
Fix: Add window to shader editor context override
...
The copy_node_graph() method checks for a "window" key in the context
override, but get_shader_editor_context() wasn't providing it. This
caused the function to return early, preventing external styles from
loading.
Updated get_shader_editor_context() to include the window when the
screen differs from the current context, following the same pattern
used in get_viewport_context().
2025-12-27 09:59:47 -06:00
Ryan Schultz
7fcdec0a4c
extending a2a5780d59: Reuse opening if mapped.
2025-12-27 09:23:33 -06:00
Ryan Schultz
bc6209ad91
Fix #7372 : Increase almost_zero tolerance to handle matrix transformation precision
...
Changed tolerance from 1e-5 to 1e-4 to account for floating-point errors
introduced by matrix transformations. Fixes section annotations being
incorrectly excluded from drawings when they should be visible.
2025-12-25 21:18:22 -06:00
Ryan Schultz
19534e225f
Fix #6661 : Have update_drawing_name function update the camera object's name in Blender, as well.
2025-12-25 19:29:57 -06:00
Ryan Schultz
96fe9b5398
Use hide_set() for IfcSpaces instead of hide_viewport
...
Moves IfcSpace hiding from collection assignment to after scene
addition, allowing hide_set() to work properly once objects are
in the view layer. Fixes RuntimeError during IFC import.
2025-12-25 19:05:30 -06:00
Ryan Schultz
05f7ffcbcc
fix #6682 : avoid applying styles directly to geometry when inherited from material
...
When duplicating elements, skip assign_body_styles if the element's
constituent materials already have style representations. This prevents
creating redundant IfcStyledItem entities on the geometry when styles
should be inherited from the material definition.
2025-12-25 18:32:03 -06:00
Andrej730
9f8a4d25b5
cmake export - fix issue finding zstd config on Windows
2025-12-25 19:09:22 +05:00
Thomas Krijnen
7fdf815d3c
Re-run express rule codegen #7501
2025-12-24 15:33:44 +01:00
Thomas Krijnen
35e2be955b
Test files #7501
2025-12-24 15:33:44 +01:00
Thomas Krijnen
8d3c610965
Map None -> Indeterminate to prevent iterating over none in non-shortcircuiting rule execution #7501
2025-12-24 15:33:44 +01:00
Andrej730
633c3bc7eb
build-deps - move some code to powershell
2025-12-24 19:20:00 +05:00
Andrej730
8e639b00e3
Skip freetype dependency as it's not required anymore
...
It's not required since OCCT 7.6.0 https://github.com/Open-Cascade-SAS/OCCT/commit/5c9493b34878267b65879270951026982507917b
2025-12-24 19:20:00 +05:00
Andrej730
c6220b79b6
build-deps - use cmake --build
2025-12-24 19:20:00 +05:00
Andrej730
5d8d6a0a4c
build-deps - use cpp files compilation multiprocessing
...
To speed up the process. Previously we were using `/m` which build different targets in parallel, but not .cpp files. So rocksdb could have been building for 30 mins because of this.
2025-12-24 19:20:00 +05:00
Andrej730
f3669db8e7
black .
2025-12-24 19:18:56 +05:00
falken10vdl
1a7947aa75
Merge pull request #7515 from falken10vdl/metadata-blend-file-suffix-configuration
...
Metadata-blend-file-suffix-configuration
2025-12-24 08:30:08 +01:00
falken10vdl
2403428d12
copy_node_graph handle missing temp_override keys
2025-12-23 07:12:19 +01:00
falken10vdl
48bb541f2f
add configurable suffix for metadata blend file
2025-12-23 06:54:43 +01:00
Andrej730
cc559212a3
cmake - fix regression with policy not taking effect after 3971408
2025-12-22 19:57:26 +05:00
Andrej730
a3fda66dec
black .
2025-12-22 19:57:26 +05:00
Andrej730
3a697e3062
dependabot - track Python tools versions
2025-12-22 18:44:42 +05:00
Andrej730
d41985f23a
format cmake files
2025-12-22 18:44:42 +05:00
Andrej730
b686c19a25
Create .gersemirc
2025-12-22 18:44:42 +05:00
falken10vdl
b0450597d0
Merge pull request #7513 from falken10vdl/fixes-ui-customization
...
SaveBlendMetadataFile to use IFC directory for temporary file path and fix panel visibility logic in UI
2025-12-21 13:57:28 +01:00
falken10vdl
2cac0bdca6
SaveBlendMetadataFile to use IFC directory for temporary file path and fix panel visibility logic in UI
2025-12-21 12:17:54 +01:00
Kristoffer Andersen
fb3e35c964
Fix macOS platform entries in CI workflow
2025-12-20 08:56:06 +01:00
falken10vdl
276a488c7e
Merge pull request #7509 from falken10vdl/Improve-saving-metadata.blend-file
...
Refactor SaveBlendMetadataFile to improve speed and IFC data cleanup
2025-12-20 04:16:55 +01:00
falken10vdl
9a1b0ce44c
Refactor SaveBlendMetadataFile to improve speed and IFC data cleanup
2025-12-20 04:10:26 +01:00
Ryan Schultz
45de750790
Fixes #7507 : Fix: Prevent spatial element placement corruption during drawing activation
...
sync_references was syncing spatial element placements FROM Blender TO IFC,
corrupting their correct positions. Spatial elements (storeys, spaces,
buildings) often have Blender objects at Z=0 for modeling convenience, but
their IFC placements store absolute positions.
Solution: Skip syncing placements for IfcSpatialElement and IfcGrid types,
as their IFC placement is the source of truth.
Fixes storey elevation corruption during SECTION_LEVEL annotation generation.
2025-12-19 12:44:23 -06:00
Andrej730
b1b67de420
cmake - move ccache usage to an option
2025-12-19 19:11:06 +05:00
Andrej730
13be6ccd45
Sort imports
2025-12-19 18:53:14 +05:00
Andrej730
29176330e8
Revert "Make dataclasses args optional to support Python 3.9 #6725 "
...
This reverts commit ad7473ff1f .
2025-12-19 18:43:17 +05:00
Andrej730
b784cb06ae
Revert "Make zip strict argument optional to support Python 3.9"
...
This reverts commit 3bdce4fbc3 .
2025-12-19 18:43:17 +05:00
Andrej730
5d42ded154
Fix unsorted __all__ ruff check
2025-12-19 18:43:17 +05:00
Andrej730
4db9d60a97
Drop Python 3.9 support as it reached EOL
2025-12-19 18:43:17 +05:00
falken10vdl
85aeb6e1cc
PR7500 squashed commit
2025-12-19 14:06:16 +01:00
dependabot[bot]
eba4405310
Bump actions/download-artifact from 6.0.0 to 7.0.0
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v6.0.0...v7.0.0 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-19 13:40:39 +01:00
dependabot[bot]
22c972d88a
Bump actions/upload-artifact from 5 to 6
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-19 13:40:27 +01:00
dependabot[bot]
abb19e0870
Bump actions/checkout from 5 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-19 13:39:50 +01:00
Andrej730
cc63e79186
simple_spf - bump #7363
2025-12-19 17:39:00 +05:00
Andrej730
a40e211f25
ci - add black formatter annotations
2025-12-19 17:34:57 +05:00
Andrej730
d8b8fb628b
ci - github summary for ruff
2025-12-19 17:34:57 +05:00
Andrej730
fda3bd319f
Use black formatter action for pretty summaries
2025-12-19 17:34:57 +05:00
Andrej730
2c3281917a
black .
2025-12-19 17:34:57 +05:00
falken10vdl
f2eb777b3b
Merge pull request #6638 from falken10vdl/USER_UI_CUSTOMIZATION
...
User UI customization
This can be enabled in Extras at user discretion.
2025-12-19 09:16:09 +01:00
falken10vdl
2264fbeb44
put settings at the end. black
2025-12-19 09:07:26 +01:00
falken10vdl
53115e0654
Improve command handling in drawing tool to skip None values
2025-12-19 08:56:19 +01:00
falken10vdl
5dab742623
Remove documentation files: restore original state
...
- Removed interface.rst (was added in this PR)
- Removed all PNG documentation images that were added in this PR:
- bonsai_customization1.png
- bonsai_customization2.png
- bonsai_interface.png
- bonsai_interface2.png
- bookmarks.png
- gear_tabs.png
These files were not present in the upstream v0.8.0 branch and have been removed to restore the original documentation state.
2025-12-19 08:56:19 +01:00
falken10vdl
70cc77df90
Enhance IFC collection removal
2025-12-19 08:56:19 +01:00
falken10vdl
633474b4f6
Refactor UI preferences to use 'save_metadata_blend_file' instead of 'user_ui_customization' for metadata handling
2025-12-19 08:56:19 +01:00
falken10vdl
08d9e31a3a
provide user feedback in IFC export
2025-12-19 08:54:01 +01:00
falken10vdl
e4e1364eaa
align underscore below the active tab icon
2025-12-19 08:54:00 +01:00
falken10vdl
76b6f6b16b
Implement user interface customization features and enhance metadata handling
2025-12-19 08:54:00 +01:00
falken10vdl
888ab85548
Refactor UI helpers into helper module for better organization
2025-12-19 08:51:07 +01:00
falken10vdl
34cf69e3fb
cleanup
2025-12-19 08:51:07 +01:00
falken10vdl
89973a7a76
Refactor to use blender properties so loading metadata preserves session settings
2025-12-19 08:51:07 +01:00
falken10vdl
ba3c96485a
major refactor using blender props which we cna now save teh belnd metadata
2025-12-19 08:51:07 +01:00
falken10vdl
3d18aca2f2
Add operators for saving and loading blend metadata files
2025-12-19 08:51:07 +01:00
falken10
71538455b4
black executed in root directory
2025-12-19 08:51:06 +01:00
falken10vdl
7a90388f54
documentation
2025-12-19 08:51:06 +01:00
falken10
403d761e14
remove comments
2025-12-19 08:51:06 +01:00
falken10
7852102b33
load and save json settings
2025-12-19 08:51:06 +01:00
falken10
9aea302d92
added reset option
2025-12-19 08:51:06 +01:00
falken10
1fd3e2791f
added TAB visibility
2025-12-19 08:51:06 +01:00
falken10
4a71ea1fd6
code simplification
2025-12-19 08:51:06 +01:00
falken10
d0dbdbc205
added lb_labels
2025-12-19 08:51:06 +01:00
falken10
c8306d44b9
First version complete
2025-12-19 08:51:06 +01:00
falken10
0c428c54ad
eye icon to show or hide panel
2025-12-19 08:51:06 +01:00
falken10
50fa245a56
added uilist for subpanels
2025-12-19 08:51:06 +01:00
falken10
6ba738fcaa
Added bookmarks TAB
2025-12-19 08:51:06 +01:00
Ryan Schultz
2ed991ebce
Filter drawing search to only match DRAWING annotations
2025-12-18 12:37:31 -06:00
Ryan Schultz
30dbf48f6d
Extending https://github.com/IfcOpenShell/IfcOpenShell/commit/3ebb046619e43a1f42087e95fb9be1959cbfe0a4 :
...
Force UI redraw to flush pending Blender operations, as Blender was crashing during bulk printing. Not 100% this fixed everything, as there are a few crashes that spring up still, but is better.
2025-12-18 10:28:58 -06:00
falken10vdl
ba142d3b16
Merge pull request #7498 from falken10vdl/New-search-tool
...
New search tool interface. This one supersedes #7315 .
Cheers!
2025-12-18 15:41:54 +01:00
Andrej730
2581c36a5f
black .
2025-12-18 18:47:13 +05:00
Andrej730
4d52480cbe
cmake - find dependencies from exported config file
2025-12-18 18:46:04 +05:00
Andrej730
f8144cdbad
ci.yml - color cmake output
2025-12-18 18:46:04 +05:00
falken10vdl
59c9b16276
Migrate old filter prefixes to new filter_mode system and enhance filter handling based on user preferences
2025-12-18 10:56:18 +01:00
falken10vdl
affaa859ef
Enhance filter operation modes with new preferences for chaining and default behaviors
2025-12-18 10:20:28 +01:00
falken10vdl
738a068474
Refactor filter suggestion handling to streamline preference access and improve code clarity
2025-12-18 09:12:42 +01:00
Ryan Schultz
bc5e4d7935
removed debugging print statements from previous commit.
2025-12-17 21:30:09 -06:00
Ryan Schultz
3ebb046619
Fix #7138 : rasterized background from wrong drawing when printing all
...
Force viewport to use scene camera before rendering underlay. When
print_all was used, viewport remained locked to local camera from
previous drawing, causing OpenGL render to capture wrong view.
2025-12-17 21:19:39 -06:00
Ryan Schultz
3f7eba2467
Include 'Commercial Kitchen Hood' in IFC suggestions
...
Added new suggestion for 'Commercial Kitchen Hood' under IfcAirTerminal and IfcAirTerminalType.
2025-12-17 12:48:48 -06:00
falken10vdl
1477d650a4
Rename to chain_filter_with_set_operations for clarity and update related preferences
2025-12-17 19:28:00 +01:00
falken10vdl
8912cca652
Increase dialog width for filter value suggestions to improve usability
2025-12-17 11:13:17 +01:00
Esteban DUGUEPEROUX
9d14369656
cmake: Add missing WITH_OPENCOLLADA definition
2025-12-17 11:09:05 +01:00
falken10vdl
d6e9d7d339
use edit_filter_query to edit json configuration
2025-12-17 10:55:14 +01:00
falken10vdl
965a303b4b
Add edit filter query option for backward compatibility in draw_filter function
2025-12-17 00:25:57 +01:00
falken10vdl
bf75509fdf
Enhance filtering capabilities with JSON support for include/exclude operations
2025-12-16 19:47:41 +01:00
falken10vdl
ce35903459
First commit for a simplified searching operation with suggestions
2025-12-16 17:13:07 +01:00
Ryan Schultz
21c4382b71
Small UI tweaks
2025-12-16 06:56:00 -06:00
falken10vdl
33ba7c45b9
Merge pull request #7316 from falken10vdl/Show-attributes-for-relating-type
...
Add attribute info for relating type
2025-12-16 09:48:50 +01:00
falken10vdl
76f4f4e212
Merge pull request #7207 from falken10vdl/unwrap-ifcreferenceimage
...
Add unwrapping of UV for IfcReferenceImage
2025-12-16 09:45:09 +01:00
falken10vdl
fdf741b209
Add description to Image Scaling Tool operator for clarity + black
2025-12-16 09:26:28 +01:00
falken10vdl
5a108b1c0e
Merge pull request #7077 from falken10vdl/Add-Mass-and-Time-Unit-to-New-Project-Wizard-panel
...
Add mass and time unit to new project wizard panel
2025-12-16 08:46:46 +01:00
falken10vdl
6135d07b67
Merge pull request #7072 from falken10vdl/Enhanced-Classification-Display-in-Object-Information
...
Add classification system to the Object Information, Classification References Subpanel
2025-12-16 08:43:42 +01:00
Ryan Schultz
cf5ffad9af
feat(drawing): support multiple file selection in Add Reference
...
Enable importing multiple .svg reference files at once using
standard Blender multi-select (Shift/Ctrl+click).
Includes backward compatibility and test coverage.
2025-12-15 13:18:29 -06:00
Andrej730
b42581b223
cmake - fix WSOCK32 lib required for OCCT on Unix ( ce7fdcc)
2025-12-15 19:02:06 +05:00
Andrej730
bf2c27528c
cmake - fix issue with using cmake occt packages <7.7.0
2025-12-15 19:02:06 +05:00
Andrej730
deb6243ce5
cmake - use INCLUDES DESTINATION for includes paths export
...
As it's more idiomatic.
2025-12-15 19:02:06 +05:00
Andrej730
621cc4f039
build scripts - don't provide ccache explicitly
...
as it's autodetected
2025-12-15 19:02:05 +05:00
Andrej730
cd87217f4e
build scripts - don't provide cxx-std-17
...
As it's automatically set by the cmake script.
2025-12-15 19:02:05 +05:00
Andrej730
87e4846f71
ci.yml - use ccache for examples too
2025-12-15 19:02:05 +05:00
Andrej730
4138d9f464
ci.yml - drop OCCT cmake variables preferring cmake config
...
Just found that it's available from `occt-misc` package.
2025-12-15 19:02:05 +05:00
Andrej730
c7b75d2863
ci.yml - add packages to use occt cmake config
2025-12-15 19:02:05 +05:00
Andrej730
57197dd439
cmake export - export OpenCASCADE_INTERFACE target
...
To avoid issues if user provided OCC_INCLUDE_DIR and OCC_LIBRARY_DIR.
2025-12-15 19:02:05 +05:00
Andrej730
46dc6cf08b
ci.yml - use depth 1 for swig
2025-12-15 19:02:04 +05:00
Andrej730
4a2058ebc6
build-all - remove debug print
2025-12-15 19:02:04 +05:00
falken10vdl
5294fa1cbe
Add preference for mass and time units visibility in project wizard
2025-12-15 13:39:46 +01:00
falken10vdl
a98cad161e
Refactor mass and time units panel into collapsible section using .panel method in project wizard UI
2025-12-15 13:27:20 +01:00
falken10vdl
f222a8ba4f
Add mass and time units as a panel to project wizard UI
2025-12-15 13:27:20 +01:00
falken10vdl
f902c7a50a
ui change to add or not add mass and time units
2025-12-15 13:27:20 +01:00
falken10vdl
b1c4822315
black formatting
2025-12-15 13:27:20 +01:00
falken10vdl
93579b8f66
Cleanup based on core developer's feedback
2025-12-15 13:27:20 +01:00
falken10vdl
169ca806c0
Updated with core developer feedback
2025-12-15 13:27:20 +01:00
falken10vdl
a4e76ed6ee
Updated with core developer feedback: fixed for Tonne and added tests
2025-12-15 13:27:20 +01:00
falken10vdl
146301b0c0
use kilogram as default for SI and Seconds for Imperial
2025-12-15 13:27:20 +01:00
falken10vdl
487a2014f5
proposal to add massunit and timeunit in project creation wizard
2025-12-15 13:27:19 +01:00
falken10vdl
cb89fbfd86
Add attribute info for relating type
2025-12-15 12:23:30 +01:00
Ryan Schultz
6ab7acfa57
closes #3340 : right click on section/elevation tag to open corresponding drawing.
...
video: https://github.com/IfcOpenShell/IfcOpenShell/issues/3340#issuecomment-3650097896
2025-12-13 20:45:48 -06:00
Ryan Schultz
a2a5780d59
Fix #6392 : when duplicating a window/door/etc, the associated IfcOpenElement duplicates as well.
...
Also when `bim.append_library_element` it copies the IfcOpenElement, as well.
2025-12-13 09:37:56 -06:00
Andrej730
276c9c9833
ci - also temp disable ifcopenhouse executables execution
2025-12-12 20:54:39 +05:00
Andrej730
31740784de
examples - disable ifcopenhouse build temporarily to fix CI
2025-12-12 20:41:22 +05:00
Andrej730
dd683d1115
examples - further simplify linking
2025-12-12 20:19:42 +05:00
Andrej730
b237fac4b8
examples - don't provide cxx_std_17 to targets explicitly
...
As it's already defined for the entire project.
2025-12-12 20:19:42 +05:00
Andrej730
20812ecd80
examples - don't provide boost components explicitly
...
Since they're already included to `IfcParse`.
2025-12-12 20:19:42 +05:00
Andrej730
1d7d0f6d05
cmake export - export some variables to inspect installation
2025-12-12 20:16:14 +05:00
Andrej730
d5210e0d75
cmake export - propagate HAS_SCHEMA definitions to exported IfcParse target
2025-12-12 20:16:14 +05:00
Andrej730
d303acd660
cmake export - propagate IFOPSH_WITH_ROCKSDB to cmake config
...
Apparently, cmake isn't exporting definitions defined globally `add_definitions`, so creating interface target to combine rocksdb and our definitions.
2025-12-12 20:16:13 +05:00
Andrej730
8f44f60546
cmake - remove unused FOPSH_WITH_ROCKSDB_ZSTD definition
2025-12-12 19:30:23 +05:00
Andrej730
01f97a5860
IfcParse - export include path
2025-12-12 19:30:23 +05:00
Andrej730
4d34e4296c
examples - build IfcAlignment using cmake package
2025-12-12 19:30:22 +05:00
Andrej730
43533706a4
examples - build IfcOpenHouse/IfcAdvancedHouse using cmake package
2025-12-12 19:30:22 +05:00
Andrej730
61269136cd
cmake - clean up a bit in non-advanced variables
2025-12-12 19:30:22 +05:00
Andrej730
5a0f8d30cf
cmake - install headers using PUBLIC_HEADER, deprecate INCLUDEDIR
2025-12-12 19:30:21 +05:00
Andrej730
99835fcab3
IfcParseExamples not to rely on includes
2025-12-12 19:30:21 +05:00
Andrej730
92964fb5ef
cmake - option to build only common schemas
2025-12-12 19:30:21 +05:00
Andrej730
159538e2bb
cmake - add _d debug postfix for libraries on Windows
2025-12-12 18:33:48 +05:00
Andrej730
a62a4bb158
cmake - install examples too
2025-12-12 18:33:48 +05:00
Andrej730
084992ddcc
Make IfcParseExamples buildable outside of the main build tree
...
It's a very verbose version of consuming IfcOpenShell cmake package, but we'll be able to use it as a start point to build upon.
2025-12-12 18:33:48 +05:00
Andrej730
39dd08c84e
cmake - keep VERSION_OVERRIDE option description ( 3971408a0)
2025-12-12 18:12:43 +05:00
Ryan Schultz
37f3199749
When selected, preserve text decorations for IfcAnnotation in local view
2025-12-11 13:38:53 -06:00
Andrej730
2627052b55
cmake - export IfcOpenShellConfig.cmake
2025-12-11 19:55:41 +05:00
Andrej730
f5b1d7695a
build-deps - remove unused gmp and mpfr paths
...
Since it's header-only it doesn't need them
2025-12-11 18:03:44 +05:00
Andrej730
d876c001e2
Remove deprecated BOOST_LIBRARYDIR var
2025-12-11 18:03:44 +05:00
Andrej730
20d6547e54
run-cmake.bat - use cgal config instead of explicit paths
2025-12-11 18:03:44 +05:00
Andrej730
71a36147a6
FindCGAL - another fix for 6591a6981
2025-12-11 18:03:44 +05:00
Andrej730
f708594853
svgfill cmake - drop special cmake_minimum_required
2025-12-11 18:03:44 +05:00
Ryan Schultz
01b2124102
small tweak to previous commit
2025-12-11 07:02:39 -06:00
Ryan Schultz
592ac168c5
add "Fire Extinguisher" to Ifc_classes_suggestions
2025-12-10 21:09:05 -06:00
Esteban DUGUEPEROUX
4b56cc7916
cmake: Add HDF5 to IFCOPENSHELL_LIBRARIES
2025-12-10 18:25:33 +01:00
falken10vdl
d91d7257c8
Merge pull request #7308 from falken10vdl/Extras-subpanel-in-addon-settings
...
Add Extras in addon preferences to conditionally add functionality. One extra added from commit from sjb007 to allow for container hide/show/isolate
2025-12-10 16:44:16 +01:00
Andrej730
dbe23ca809
FindPROJ - fix outputs description
2025-12-10 20:04:02 +05:00
Andrej730
9880ee79b2
FindPROJ - restore CMAKE_MODULE_PATH after module is executed
2025-12-10 20:04:02 +05:00
Andrej730
6591a69816
FindCGAL - keep CGAL::CGAL target name
2025-12-10 20:04:02 +05:00
Andrej730
c475a377b7
build-deps - use precompiled headers to speed up OCCT building process
2025-12-10 19:52:42 +05:00
Andrej730
ce7fdcc191
build-deps - use OCC_INSTALL_DIR instead of includes/libs path
2025-12-10 19:52:42 +05:00
Andrej730
e503dad510
build-deps - fix typo
2025-12-10 19:52:42 +05:00
Andrej730
517ba237f9
build-deps - coexisting Release and Debug installations
2025-12-10 19:52:41 +05:00
Andrej730
994a364474
build-deps - simplify build/install commands
2025-12-10 19:52:41 +05:00
Andrej730
9d828852c0
Use cmake configs to find USD
...
Also renamed `USD::` namespace to `pxr::` to match packaage name.
2025-12-10 19:52:41 +05:00
Ary Obenholzner
7a62f65af0
Fix large BCF file creation by allowing Zip64
2025-12-10 15:21:11 +01:00
Esteban DUGUEPEROUX
d566ba6e1f
cmake: Use correct proj target
...
See-Also: https://proj.org/en/stable/development/cmake.html
2025-12-10 15:20:02 +01:00
Esteban DUGUEPEROUX
c32a6dc0ca
cmake: Support shared build for rocksdb
2025-12-10 15:19:33 +01:00
Esteban DUGUEPEROUX
3971408a07
cmake: Add project() command before options to be able to toggle them
2025-12-10 15:16:13 +01:00
Esteban DUGUEPEROUX
13ed0c3096
Take into account remarks
2025-12-10 15:07:56 +01:00
Esteban DUGUEPEROUX
02233f86cf
cmake: Add install command for qtViewer
2025-12-10 15:07:56 +01:00
falken10vdl
75881aab24
place new code after the current preferences one to follow the order. Added to type checking
2025-12-08 09:35:08 +01:00
falken10vdl
c4da1dda4d
Refactor addon preferences to make it cleaner as per developer's feedback
2025-12-08 09:25:49 +01:00
falken10vdl
9f6e92eefd
black
2025-12-07 23:11:29 +01:00
falken10vdl
db2234acef
Add Extras in addon preferences to conditionally add functionality. One extra added form commit from sjb007
2025-12-07 23:09:18 +01:00
sboddy
b4135194ca
Merge pull request #7431 to hide the clash decorator in the 3D view.
2025-12-07 18:07:29 +00:00
Andrej730
d174ecf760
cmake - make USD_SUPPORT build succeed
2025-12-05 20:24:01 +05:00
Andrej730
2213c3773d
UNIFY_ENVVARS_AND_CACHE - check if var is defined to fix some warnings
2025-12-05 20:24:01 +05:00
Andrej730
1ad1883f0e
Findnlohmann_json.cmake
2025-12-05 20:24:01 +05:00
Andrej730
c2a03eb658
cmake - fix uninitialized vars
2025-12-05 20:24:00 +05:00
Andrej730
225039aa96
cmake - remove unused LIBXML2_INCLUDE_DIR after 6a0caa798
2025-12-05 20:24:00 +05:00
Andrej730
3cc8477a01
cmake - move ifcgeom installs to ifcgeom cmake
...
we don't install kernel libraries as they now have `OBJECT` type
IFCGEOM_SCHEMA_LIBRARIES and headers were handled in b7a9199 30184a3 9d28628
2025-12-05 20:24:00 +05:00
Andrej730
40cffe2dd1
cmake - remove unused installs after 8fb10d2
2025-12-05 20:24:00 +05:00
Andrej730
0d651e377a
run-cmake.bat - add usage
2025-12-05 20:24:00 +05:00
Andrej730
8ea4b9e38c
Remove redundant links in 0555523c9
2025-12-05 20:24:00 +05:00
Andrej730
0555523c98
cmake - move all cgal related stuff to CGAL::CGAL target
2025-12-04 19:59:07 +05:00
Andrej730
db09744428
Temporarily disable setting point3 tag to fix build ( 4fc2f623c)
...
Since `point3` don't currently have `tag` member.
Ping @aothms
2025-12-04 19:59:07 +05:00
Andrej730
91f19f7a54
cmake - remove unused CMP0074 policy
...
it's automatically applied since cmake 3.12
2025-12-04 17:44:13 +05:00
Andrej730
6a0caa7989
cmake - fix missing xml.lib in debug builds #7413
...
After 5d56025 we were using `LibXml2::LibXml2` instead of `LIBXML2_LIBRARIES` for linking, but this target was missing debug variants leading to issues during linking.
2025-12-04 17:44:13 +05:00
Andrej730
9820adb337
svgfill - use standard cmake installation (same as 083fab525)
2025-12-04 17:44:13 +05:00
Andrej730
a588d15438
run-cmake.bat - option to use ninja generator for debugging
2025-12-04 17:44:13 +05:00
Andrej730
bf308995fb
install-ifcopenshell.bat - add usage example
2025-12-04 17:44:12 +05:00
Andrej730
172d840a77
cmake - remove unused WITH_RELATIONSHIP_VALIDATION compilation definition
2025-12-04 17:44:12 +05:00
Andrej730
16336766da
build-all - remove WASM_TOOLCHAIN_FILE doc deprecated after 89a6eac
2025-12-04 17:44:12 +05:00
Andrej730
549b2e6ff8
black .
2025-12-04 17:44:12 +05:00
Ryan Schultz
30e750d770
some old vestige of a bygone era.
2025-12-02 11:13:47 -06:00
Ryan Schultz
f50bbe83a3
extend https://github.com/IfcOpenShell/IfcOpenShell/commit/a038fa62baadff8793f8a17e9367b9be03d283a4 : Use spacebar to edit IfcAnnotations, as well.
2025-12-02 10:00:57 -06:00
Thomas Krijnen
4fc2f623cf
Count number of emitted normals in OBJ serializer, which might be less than verts when writing line geometries
2025-12-02 16:32:37 +01:00
Andrej730
1468bf3c97
parse_ifcxml - remove redundant ifdef WITH_IFCXML
...
The entire file is already wrapped in `WITH_IFCXML`, so no need to do it again for some block.
2025-12-02 19:55:56 +05:00
Andrej730
c7df59e961
cmake - indicate that OpenCascade is only used by IfcGeom
2025-12-02 19:55:56 +05:00
Andrej730
6cbd3ed014
cmake - drop OPENCASCADE_LIBRARIES variable #7388
2025-12-02 19:55:56 +05:00
Andrej730
a5d0187343
ifcparse cmake - fix missing ifcxml symbols in python wrapper #7406
2025-12-02 19:55:56 +05:00
Andrej730
67421c533c
ifcparse cmake - make compile definition more explicit #7406
2025-12-02 19:55:56 +05:00
Esteban DUGUEPEROUX
2e5d87b5d7
cmake: Link Eigen3 only against targets needing it
2025-12-02 14:53:44 +01:00
Andrej730
9807c2bedf
Fix possible crash on bim.split_along_edge #7394
2025-12-02 16:11:39 +05:00
Andrej730
52baba0fe0
cmake - don't use debug Python by default, move it to USE_DEBUG_PYTHON option
2025-12-02 16:11:38 +05:00
Andrej730
e304154037
Fix deprecated typing symbols
2025-12-02 16:11:38 +05:00
Andrej730
dfb8298ecf
black .
2025-12-02 16:11:38 +05:00
Ryan Schultz
0ee084b5d9
Support IfcAnnotation to IfcAnnotation assignment in AssignSelectedObjectAsProduct
2025-12-01 17:34:37 -06:00
Gorgious
c769c9e67c
Update to gizmos system
...
Added more gizmos for multi-panel windows and for the door transom.
Support negative dimension values (lining offset for door and window)
Fix railing, stair, and roof being regenerated during UI panel draw instead of on property change
Various code quality changes and DRY improvements
2025-12-01 23:13:34 +01:00
Ryan Schultz
349cbf27b9
updated comment for previous commit.
2025-12-01 11:06:09 -06:00
Ryan Schultz
f083425656
Fix #7438 - increase tolerance in making Shapely fills
2025-12-01 11:01:52 -06:00
Ryan Schultz
ad812bda47
fix #3238 : Auto-switch representation to match active drawing on type assign
2025-11-30 21:01:41 -06:00
Ryan Schultz
5b7888984e
Fix #6495 : when Shift+G is run to regenerate a wall, it refreshes the cut decorator as well.
2025-11-30 20:02:57 -06:00
Ryan Schultz
e3d254d3e5
fix #6250 : have name of duplicated type show in outliner, as well.
2025-11-30 19:07:14 -06:00
Ryan Schultz
3b83f978ab
Fix #6334 : Preserve annotation vertex order during subdivision to prevent arrow/text flip ( #7437 )
2025-11-30 15:54:57 -06:00
Gorgious
5b1e599b5f
Fix bug when snapping to mesh with the parametric gizmos
2025-11-30 21:57:54 +01:00
Gorgious
ad4fc76546
Major refactor of parametric gizmo system: dimension lines and code consolidation
...
Major changes:
- Relocate gizmo infrastructure from bim/gizmo.py to module/drawing/gizmos.py
- Replace arrow-based property gizmos with dimension line gizmos throughout
- Add view-dependent positioning: gizmos automatically reposition based on camera angle to stay visible and avoid overlapping geometry
- Add special icons for stair to deal with edge cases
Code quality:
- Add DRY helper methods for gizmo positioning across stair, door, and window
- Remove redundant visibility logic
- Extract integer input handling to dedicated module for reuse
- Add comprehensive documentation for gizmo architecture
2025-11-30 21:55:36 +01:00
Esteban DUGUEPEROUX
b7a9199253
cmake: Externalize geometry mapping target cmake config
2025-11-30 15:29:21 +01:00
Esteban DUGUEPEROUX
986cb905b2
cmake: Externalize geometry_serializer cmake config files to their own directory
2025-11-30 15:29:21 +01:00
Esteban DUGUEPEROUX
30184a3f6d
cmake: Externalize geometry_serializer cmake config files to their own directory
2025-11-30 12:29:26 +01:00
Gorgious
8f7cf76d98
Fix wrong stair length calculation when having no custom first or last tread run
2025-11-30 11:28:40 +01:00
Esteban DUGUEPEROUX
083fab5255
cmake: Use standard install way
...
For specific install customization, use CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR variables.
See-Also: https://cmake.org/cmake/help/latest/guide/tutorial/Installation%20Commands%20and%20Concepts.html
2025-11-30 11:11:51 +01:00
Esteban DUGUEPEROUX
0724fac698
cmake: Enable svgfill only for Python wrapper
2025-11-30 11:10:03 +01:00
Esteban DUGUEPEROUX
9775dfc2c1
Add svgfill directly in IfcOpenShell git repo
2025-11-30 11:09:36 +01:00
Esteban DUGUEPEROUX
658713f142
Remove svgfill as git module to add it directly in next commit
2025-11-30 11:09:36 +01:00
Esteban DUGUEPEROUX
81bf187ee6
cmake: put IFCXML_SUPPORT related config in IfcParse cmake config file
2025-11-30 11:05:46 +01:00
Gorgious
8f3e67b747
Prevent user from setting parametric stair properties to a value that can't generate valid geometry
2025-11-30 10:36:24 +01:00
Thomas Krijnen
bd57cc8735
Move sweep directrix closer to origin #7408
2025-11-30 09:56:27 +01:00
Ryan Schultz
8d617c87c8
Extend github.com/IfcOpenShell/IfcOpenShell/commit/1b2ad6c93f633df46d55f65bf97e730461fd7e6c - apply new type to all the selected objects.
2025-11-29 15:53:08 -06:00
Ryan Schultz
1b2ad6c93f
Add interactive dialog for type duplication with assignment option
...
Add dialog to DuplicateType operator allowing users to set name, description,
and optionally assign the active object to the duplicated type. Add duplicate
button to product UI in type panel with auto-assignment enabled by default.
2025-11-29 15:13:38 -06:00
Gorgious
ffe9f65b3c
Refactor and improve parametric gizmo system
...
- You can now input values using the keyboard once you clicked on a gizmo
- Gizmos now support click > move > click in addition to drag and drop (yay carpal tunnel !)
- Optimize snapping performance
- Consolidate door and window type in model.py
- You can now cycle through window and door types using the cycle gizmo
- Pen, validate, cancel, lock, and cycle gizmos are now billboards and follow view direction
- Draggable gizmos are now billboard 2D arrows instead of 3D cones
2025-11-28 23:22:42 +01:00
Stephen Boddy
1e212f7b23
black
2025-11-28 18:44:06 +00:00
Stephen Boddy
121acfe6b3
Minor Feature: Add ability to hide the clash decorator in the 3D view.
2025-11-28 18:37:10 +00:00
Ryan Schultz
5a8f557e7f
Fix #7398 : move purge funtions with other purge functions
2025-11-28 10:41:34 -06:00
Andrej730
5b56093147
black .
2025-11-28 21:03:50 +05:00
Andrej730
bcb63f450b
build-deps - make rocksdb installation minimal
2025-11-28 21:03:50 +05:00
Andrej730
e4c82e2c92
FindOpenCASCADE - log found config
2025-11-28 21:03:50 +05:00
Esteban DUGUEPEROUX
8fb10d2ff3
cmake: Use OBJECT target instead of STATIC one to avoid mix static and shared targets in a same build
2025-11-28 17:03:25 +01:00
Esteban DUGUEPEROUX
37d29e5d47
cmake: Use same PRIVATE scope for Serializers target
2025-11-28 16:17:41 +01:00
Diego Mateos
7221e72cfa
fix some target folders to respect parent cmake
2025-11-28 14:11:57 +01:00
Gorgious
c828c1b08d
Refactor parametric element gizmos
...
- Add gizmos for windows and stairs
- Add BaseParametricGizmoGroup mixin for doors, windows, and stairs
- Improve snapping with screen-space distance calculation
- Add GizmoPlus, GizmoMinus, GizmoCycle icon gizmos
- Add GizmoPropConfig dataclass for cleaner gizmo configuration
2025-11-27 22:56:27 +01:00
Ryan Schultz
fcf5614004
Is user saving .blend file?
2025-11-27 09:50:31 -06:00
myoualid
5a4d60e08c
util functions to retrieve material profiles and material layers for an element
2025-11-27 13:30:38 +01:00
Bruno Postle
a675365dfd
Correct fix for OCC built with VTK support
2025-11-26 22:53:38 +00:00
Bruno Postle
5ab6deb121
Revert cbd2689 Propagate CMP0167 policy
2025-11-25 23:08:52 +00:00
Bruno Postle
cbd26896ba
Propagate CMP0167 policy to fix cmake warnings
2025-11-25 18:45:59 +00:00
Bruno Postle
ceeca752ea
Fix build error from OCC with VTK support
...
OpenCASCADE may be built with VTK support. Try to find VTK first to avoid
CMake errors when OpenCASCADE's config references VTK targets.
2025-11-25 18:44:32 +00:00
Thomas Krijnen
9d437b5bc3
Mark simple type instance file ownership #7226
2025-11-25 09:19:28 +01:00
Andrej730
1d0b4675c0
Ruff - fix usage of deprecated Tuple, List
2025-11-24 11:01:26 +05:00
Andrej730
497ebc55e7
black .
2025-11-24 11:01:26 +05:00
Ryan Schultz
97a501036b
Have dimensions like 4' - 1/2" read like 4' - 0 1/2", as is more the convention.
2025-11-23 18:22:40 -06:00
Gorgious
592c51b526
Add interactive gizmo system for editing parmeterized door
...
Implement visual parameter manipulation in 3D viewport with reusable
gizmo components. Features snap-to-mesh (Ctrl), precision mode (Shift),
and real-time feedback. Includes cone gizmos for dimensions,
arc gizmo for swing direction, and icon gizmos for edit controls. Gizmos are globally are individually toggleable in the addon preferences.
May be expanded upon later to add gizmos to other paramaterized elements (window, railing, roof, stairs, array, ...).
Unfortunately gizmos can't tap into the builtin snap system or bonsai snap system which is built for modal operators so gizmos implement yet another custom rather naive snap system.
2025-11-23 20:16:27 +01:00
Gorgious
3dd7290ee1
Display default parameters for parametric elements under "Model" in the preferences
2025-11-23 15:43:59 +01:00
Ryan Schultz
d7ac5f2441
Fix #7397 - don't delete aggregate if relatingobject is a IfcSpatialElement
2025-11-23 08:09:13 -06:00
Thomas Krijnen
461404cd45
Don't terminate parsing on invalid entity names
2025-11-23 11:16:47 +01:00
Ryan Schultz
bfd5b1bede
add to https://github.com/IfcOpenShell/IfcOpenShell/commit/57bc709b6fef6381bbb2810da15e568290c4a77a : Fix elevation display by converting from project units to meters on import
...
When importing spatial decomposition, get_storey_elevation() returns values in the project's unit system (e.g., feet), but format_distance() expects values in meters. Added unit_scale conversion (elevation * unit_scale) before formatting to ensure elevations display correctly regardless of project units.
2025-11-22 16:53:28 -06:00
Ryan Schultz
0d0b6cc6b2
Additional fixes to https://github.com/IfcOpenShell/IfcOpenShell/commit/57bc709b6fef6381bbb2810da15e568290c4a77a
2025-11-22 15:40:47 -06:00
falken10vdl
d2dfeb79a3
Refactor AddReferenceImage to use public property for dimensions dialog
2025-11-22 22:26:44 +01:00
falken10vdl
43b12d55d4
Add dimensions dialog for reference image and update scaling logic
2025-11-22 22:26:44 +01:00
falken10vdl
834634aedb
Properly AddReferenceImage operator initialization (ready for IFC edit mode)
2025-11-22 22:26:44 +01:00
falken10vdl
069873053a
Add Image Scaling Tool and integrate with workspace hotkeys
2025-11-22 22:26:44 +01:00
falken10vdl
ec51c67373
For ifcReferenceImage by default set color type to "Texture" and warn user
2025-11-22 22:26:44 +01:00
falken10vdl
d8263349cd
Add UV mapping for IfcAnnotation images in IfcImporter
2025-11-22 22:26:44 +01:00
falken10vdl
2be142eff2
Add unwrapping of UV for IfcReferenceImage
2025-11-22 22:26:44 +01:00
Ryan Schultz
57bc709b6f
Fix imperial unit conversion for plan and section level decorators
...
Level annotations were incorrectly converting feet to meters and back,
causing values like 3ft to display as 9'10". Updated format_value() to
accept in_unit_length parameter and pass it to format_distance(), since
Blender's Z coordinates are already in project units.
- Add in_unit_length parameter to BaseDecorator.format_value()
- Set in_unit_length=True in PlanLevelDecorator.draw_labels()
- Set in_unit_length=True in SectionLevelDecorator.draw_labels()
2025-11-22 14:39:13 -06:00
Ryan Schultz
b7b6e4aadf
Consolidate format_distance functions and fix imperial unit formatting
...
Replaced duplicate format_distance in unit.py with comprehensive MeasureIt-ARCH version from helper.py. Fixed critical floating point errors by changing inPerFoot from 11.9999 to 12.0, eliminating spurious fractions on whole numbers. Implemented auto-precision detection to simplify fractions (64/256 → 1/4) while preserving precise values like 3/256 when needed. Enhanced imperial parsing to support flexible input formats (optional symbols, mixed fractions, leading decimals) and fixed suppress_zero_inches functionality in dimension annotations.
2025-11-22 13:49:30 -06:00
falken10vdl
19b9a55404
Add posibility to edit classification system name in menu after invoking enable_editing_classification_reference
2025-11-22 20:12:49 +01:00
Gorgious
9c39ac0a48
You can now edit default parameters when generating a new parametric geometry for Door, Window, Railing, Roof and Stair types.
...
UI is in the addon preferences.
2025-11-22 18:12:50 +01:00
Gorgious
a77f1b9fd1
Fix bug where one could setup negative lengths in the parametric door properties that whould throw an error when validating the geometry
2025-11-22 15:28:51 +01:00
Gorgious
63921e3fd8
Improve formatting for imperial units for the elevation of spatial elements elevation in the spatial decomposition panel (Re #7373 )
2025-11-22 13:32:19 +01:00
falken10vdl
ffc538da87
cleanup consistent calling
2025-11-22 09:56:00 +01:00
falken10vdl
c3c63370ba
sort rows black formatting
2025-11-22 09:56:00 +01:00
falken10vdl
a4743b5e04
refactor using row in uy and util.classification.get_classifiation(reference)
2025-11-22 09:56:00 +01:00
falken10vdl
1cdd44996b
Add classification system to the Object Information, Clasifiction References Subpanel
2025-11-22 09:56:00 +01:00
Massimo Fabbro
27d0b04db5
black
2025-11-22 09:02:53 +01:00
Massimo Fabbro
87283874a1
Add simple examples for ifc5d import from csv
2025-11-22 09:02:53 +01:00
Gorgious
584d37de50
Fix #6048 (and #7373 ?) Adding a distance with a unit for an IfcSpatialElement in the Spatial Decomposition list doesn't save value
...
Support imperial units
Spatial element empty is moved in the 3d viewport accordingly
2025-11-22 01:16:39 +01:00
Gorgious
ca2058d56b
Fix #4974 - remap parent relationships when duplicating objects
2025-11-22 00:30:01 +01:00
Gorgious
481676e51b
fix - recalculate normals for wall-mounted handrail railings
...
Fixes inverted normals on SweptDiskSolid end caps by recalculating
face normals after IFC geometry is loaded into Blender.
Fixes #6483
2025-11-22 00:04:57 +01:00
Gorgious56
fe502577c9
Merge pull request #7400 from IfcOpenShell/0.8.0
...
fix - apply object scale before using it to void an element #6378
2025-11-21 23:56:10 +01:00
Gorgious
65e8ca17d2
fix - apply object scale before using it to void an element #6378
2025-11-21 23:54:20 +01:00
Gorgious56
6bd7f02208
Merge pull request #7399 from IfcOpenShell/main
...
fix - handle float64 checksums from files saved in previous Blender v…
2025-11-21 23:28:28 +01:00
Gorgious
452d0f6023
fix - handle float64 checksums from files saved in previous Blender versions
...
Files saved in previous Blender versions stored position checksums as float64
(24 bytes for location, 72 bytes for rotation), but the current code only
expected float32 format. This caused a shape mismatch error (6,) vs (3,) when
comparing checksums during save operations.
Added byte size detection in is_moved() methods to automatically handle both
old float64 and new float32 checksum formats, ensuring backward compatibility
with files from previous versions.
Fixes ValueError when saving IFC files loaded from older Blender versions.
2025-11-21 23:23:57 +01:00
Andrej730
07005a9d3b
build-deps - switch to freetype github archives for stability #7390
2025-11-22 01:02:41 +05:00
Andrej730
450ce689ba
build-deps - fix set resetting ERRORLEVEL in commands logged in 52d3bae54 #7390
2025-11-22 01:02:41 +05:00
Andrej730
7c210721e6
build-deps - add pushd/popd for consistency
2025-11-22 01:02:16 +05:00
Andrej730
7e48d712a2
cmake - fix error building with GLTF_SUPPORT=OFF ( 487a4f3, #7390 )
2025-11-21 18:28:06 +05:00
Andrej730
9eedbc6f72
FindOpenCASCADE - fix linking issue with non-configs #7390
...
Unexpected consequence of #7365 - previously `OPENCASCADE_LIBRARIES` supposed to be a list of libraries filepaths, but after refactor `OpenCASCADE_LIBRARIES` end up being both list of library names and list of filepaths.
And since link directories for the names was not provided, it failed to find the libraries to link.
If using OpenCASCADEconfig it wouldn't fail as cmake would evaluate library names as imported target names.
To fix it and simplify it even further, in case of manually provided paths, it now creates `OpenCASCADE_INTERFACE` target and stores it in `OpenCASCADE_LIBRARIES` - target will automatically have all the includes, library names and library dirs.
2025-11-21 18:28:06 +05:00
Andrej730
68b021b0e6
build-deps - fix hdf5 warnings in logs (similar to 890665b77)
2025-11-21 18:28:06 +05:00
Andrej730
a559b72e18
build-deps - fix boost project cache reset targeting wrong path
...
Noticed by another "The system cannot find the path specified." in logs 😅
2025-11-21 18:28:06 +05:00
Andrej730
32496c40b3
build-deps - fix missing popd for mpfr dir leading to issues installing hdf5 #7390
2025-11-21 18:28:05 +05:00
Andrej730
1b249b1013
build-deps - fix very very old bug with GitCloneAndCheckoutRevision not always checking out revision
...
Since this if-block happens in parentheses, then all `%VAR%` are expanded at the start and then `%ERRORLEVEL%` and `%RET%` values have no relation to the actual result of `git clone`. So if user were (un)lucky, then `%RET%` would be not yet set to "0" (by the previous function call), then it would skip checking out revision.
`GitCloneOrPullRepository` had similar issue, but it was never used anywhere.
2025-11-21 18:28:05 +05:00
Andrej730
d3fcf39c76
Windows build scripts - ECHO_ON env variable for debugging
2025-11-21 18:28:05 +05:00
Andrej730
692ef5ecea
cmake - fix error finding Eigen::Eigen target #7390
...
`EIgen::Eigen` target used in #7340 for linking exists only if there's a cmake config, while there are cases when there's just include directory. Added same name interface target to mimic config.
2025-11-20 20:12:48 +05:00
Andrej730
f56a97512a
Rename IFC_GEOM_EXPORTS replaced in #7340
2025-11-20 20:12:48 +05:00
Andrej730
4f5ebef5da
cmake - use HDF5_INCLUDE_DIR instead HDF5_INCLUDE_DIRS
...
As this is the variable defined by `FindHDF5`.
2025-11-20 20:12:48 +05:00
Andrej730
57a724e80f
FindCGAL.cmake
2025-11-20 20:12:48 +05:00
Andrej730
1b8652a789
FindOpenCOLLADA.cmake
2025-11-20 20:12:48 +05:00
Andrej730
c1aa702896
FindHDF5 - describe used variables, initialize from env
2025-11-20 20:12:47 +05:00
Andrej730
5b43d2b75e
HDF5Config -> FindHDF5
...
See the reasoning in https://github.com/IfcOpenShell/IfcOpenShell/pull/7193#issuecomment-3552830928
2025-11-20 20:12:47 +05:00
Andrej730
3330e79556
FindLibXml2 - initialize from env variables
2025-11-20 20:12:47 +05:00
Andrej730
88d09c83b7
FindLibXml2 - add_debug_variants
2025-11-20 20:12:47 +05:00
Andrej730
5e6b96ee99
cmake - remove wasm_sysroot as superseded by e833d0c
2025-11-20 20:12:47 +05:00
Thomas Krijnen
bd07078def
Remove spurious cd
2025-11-20 16:12:26 +01:00
Andrej730
1d01d1f184
build-all.py - postpone 4396126
2025-11-20 16:58:04 +05:00
Dion Moult
3cee0811d4
Update VERSION
2025-11-20 22:06:24 +11:00
Dion Moult
a46228a57e
Hotfix to generate IOS docs until we properly package bsdd
2025-11-20 21:16:57 +11:00
Andrej730
158fe92644
HDF5Config.cmake - use CMAKE_SOURCE_DIR instead PROJECT_SOURCE_DIR
...
It doesn't really matter in this case - it matters really only for FindLibXml2, because `PROJECT_SOURCE_DIR` point to svgfill, when it's config executed, instead of `CMAKE_SOURCE_DIR` - so `CMAKE_SOURCE_DIR ` is never removed from the path, leading to cyclic calls. Adding for HDF5 too just for consistency.
2025-11-19 19:41:30 +05:00
Andrej730
12166ddbba
HDF5Config.cmake - restore patched module path at the end
2025-11-19 19:41:30 +05:00
Andrej730
36a0c22217
FindUSD.cmake (untested)
2025-11-19 19:41:30 +05:00
Andrej730
59cc9d4a23
FindLibXml2.cmake
2025-11-19 19:41:29 +05:00
Andrej730
f3d918f76c
FindOpenCASCADE - describe used variables at the top, move env vars
2025-11-19 19:41:29 +05:00
Esteban Dugueperoux
613015e37e
cmake: Externalize OpenCascade config ( #7365 )
...
Co-authored-by: Andrej <azhilenkov@gmail.com >
2025-11-19 18:02:07 +05:00
Esteban DUGUEPEROUX
be0eea1bed
cmake: Have a dedicated CMakeLists.txt for IfcConvert & co
2025-11-19 13:28:45 +01:00
dependabot[bot]
37bbc0b693
Bump actions/upload-artifact from 4 to 5
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:11:39 +01:00
dependabot[bot]
30093499fa
Bump aws-actions/configure-aws-credentials from 4 to 5
...
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials ) from 4 to 5.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases )
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md )
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:08:39 +01:00
dependabot[bot]
8e95bf73f1
Bump actions/upload-pages-artifact from 3 to 4
...
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact ) from 3 to 4.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases )
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:08:09 +01:00
dependabot[bot]
05f7aac853
Bump docker/setup-buildx-action from 1 to 3
...
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) from 1 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:08:02 +01:00
dependabot[bot]
b135dd6994
Bump actions/setup-python from 2 to 6
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 2 to 6.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v2...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:07:34 +01:00
dependabot[bot]
a5e7d7c4cc
Bump docker/login-action from 1 to 3
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 1 to 3.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:07:26 +01:00
dependabot[bot]
9680f6b29c
Bump docker/build-push-action from 2 to 6
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 2 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v2...v6 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:05:03 +01:00
dependabot[bot]
bc8dd3a3ab
Bump mamba-org/setup-micromamba from 1 to 2
...
Bumps [mamba-org/setup-micromamba](https://github.com/mamba-org/setup-micromamba ) from 1 to 2.
- [Release notes](https://github.com/mamba-org/setup-micromamba/releases )
- [Commits](https://github.com/mamba-org/setup-micromamba/compare/v1...v2 )
---
updated-dependencies:
- dependency-name: mamba-org/setup-micromamba
dependency-version: '2'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:04:39 +01:00
dependabot[bot]
9caf47b41f
Bump docker/setup-qemu-action from 1 to 3
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 1 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:04:14 +01:00
dependabot[bot]
5e1787b146
Bump actions/download-artifact from 4.1.7 to 6.0.0
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4.1.7 to 6.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4.1.7...v6.0.0 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:03:52 +01:00
dependabot[bot]
07147f4b7f
Bump actions/checkout from 2 to 5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-19 13:02:55 +01:00
dependabot[bot]
4dfe15bd88
Merge pull request #7270 from IfcOpenShell/dependabot/npm_and_yarn/src/ifctester/webapp/vite-6.4.1
2025-11-19 17:00:32 +05:00
Andrej730
5896630630
Add dependabot to track github actions versions
2025-11-19 16:58:22 +05:00
Andrej730
48b1493c5c
build_win - use official ccache-action as PR got merged
2025-11-19 16:58:22 +05:00
Andrej730
ee75ea1182
black .
2025-11-19 16:58:22 +05:00
Esteban DUGUEPEROUX
1876a788a9
cmake: Externalize cmake config for Serializers
2025-11-19 11:24:15 +01:00
Esteban DUGUEPEROUX
9d28628157
cmake: Have a dedicated CMakeLists.txt for kernels
2025-11-19 11:23:04 +01:00
Esteban DUGUEPEROUX
9b257b0a10
Remove support of cityjson for ifcconvert binary
2025-11-19 11:19:58 +01:00
Thomas Krijnen
db7900027e
fix stub
2025-11-19 10:43:52 +01:00
Andrej730
2af7470950
run-cmake.bat - use boost installation path
...
Now there's no need for BOOST_ROOT and BOOST_LIBRARYDIR anymore.
2025-11-18 19:59:34 +05:00
Andrej730
e1c3c44fb3
IfcGeomServer cmake - remove headers from source files
2025-11-18 19:59:34 +05:00
Andrej730
e7c422469a
IfcGeomServer cmake - remove not required chrono component #7337
...
Noticed Linux build failing now
2025-11-18 19:59:34 +05:00
Andrej730
52d3bae543
build-deps - add some logs to make errors easier to narrow donw
2025-11-18 19:59:34 +05:00
Andrej730
b130925c5f
build-deps - fix missing cd before trying to extract boost archive
...
Not sure when it was introduced, but it was still using previous dependency path and leading to confusing error:
```
Boost 1.86.0 already downloaded. Skipping.
Extracting Boost 1.86.0 into L:\Projects\Github\IfcOpenShell\_deps from boost-1.86.0-b2-nodocs.7z
An error occurred
```
2025-11-18 19:59:34 +05:00
Andrej730
890665b77b
build-deps - fix reappearing "The system cannot find the file specified." error in logs
...
because of the failing rename
2025-11-18 19:59:34 +05:00
Andrej730
99c95bc92d
black .
2025-11-18 19:59:34 +05:00
Bruno Perdigão
8647f9c357
Polyline tool - avoids rounding angle when distance is too big.
2025-11-17 20:38:34 -03:00
Bruno Perdigão
300855276f
See #7046 . Add Numpy version of a few Blender fuctions to improve precision. The snapping system was having a poor precision with large numbers. Some functions were rewritten to use Numpy instead of Mathutils. This seems to solve the issue, but further adjustments might be necessary
...
Note: rv3d.perspective_matrix should be avoided in these context. Use a numpy version of np.array(window_matrix) @ np.array(view_matrix). See https://github.com/IfcOpenShell/IfcOpenShell/issues/7046
Note2: region_2d_to_origin_3d_np clamp should be used for the snap to work in orthographic view.
2025-11-17 20:38:34 -03:00
Bruno Perdigão
1a8831012b
Fix snapping for blender curve objects
2025-11-17 20:38:34 -03:00
Thomas Krijnen
1bc4e82b7d
reorder
2025-11-17 19:15:20 +01:00
Thomas Krijnen
fc197c1d32
anon namespace
2025-11-17 19:09:31 +01:00
Thomas Krijnen
33cfa9e2b1
function3
2025-11-17 18:57:22 +01:00
Thomas Krijnen
9e9d664511
.glb --separate-z-up-node option
2025-11-17 18:26:00 +01:00
Ryan Schultz
1b9acadd81
Disable text decorations when not in camera view
2025-11-17 09:01:19 -06:00
Andrej730
c5f6d47c44
build-deps - include swig version to dependency name
2025-11-17 19:29:07 +05:00
Andrej730
d19b6d72ef
build-all.py - include swig-version to dependency name
...
Otherwise it doesn't update and keeps using older cached version.
2025-11-17 19:28:10 +05:00
Andrej730
919231b096
build-all.py - remove outdated comment
2025-11-17 19:28:10 +05:00
Andrej730
cead5cc75d
ci - add swig build to fix failing stub test
...
Older swig versions have some redundant symbols, using the one we use in other build scripts.
2025-11-17 19:28:09 +05:00
Andrej730
9396cb226f
ci - add opencollada to fix failing stub test
2025-11-17 19:28:09 +05:00
Andrej730
56a63cab6e
build-deps - sync swig version with build-all.py
2025-11-17 19:28:09 +05:00
Andrej730
449d13bd5f
Fix stub missing construct_iterator
2025-11-17 19:26:14 +05:00
Thomas Krijnen
487a4f345d
Creoox json serializer
2025-11-17 14:06:39 +01:00
Thomas Krijnen
d6daa64c48
Support --element-hierarchy in .glb output
2025-11-17 14:05:59 +01:00
Thomas Krijnen
bf0aa247a0
IfcConvert: only conditionally bypass properties
2025-11-17 13:50:50 +01:00
Andrej730
a7c8c908fe
Fix left out invalid mesh data blocks and fix failing geom core test (after fcee54c)
2025-11-17 16:30:28 +05:00
Andrej730
64686dde5c
Remove redundant :type from doc-strings
...
Args types already covered by annotations
2025-11-17 16:30:27 +05:00
Andrej730
29ab446f8c
use common rst syntax in doc-strings
2025-11-17 16:30:27 +05:00
Andrej730
51e2e7cd82
Fix boundary bim test after 6c31d43
2025-11-17 16:30:27 +05:00
Andrej730
e879dac4bd
Remove obsolete tests after e662308
2025-11-17 16:30:26 +05:00
Andrej730
145c629d92
Fix core geometry tests after e662308 c4d54f7
2025-11-17 16:30:26 +05:00
Andrej730
3fe9279bb4
pyproject - fix typo
2025-11-17 16:30:26 +05:00
Andrej730
428d88f01c
Fix missing bsdd pydantic dependency in #7145
2025-11-17 16:30:26 +05:00
Andrej730
3986d4e85b
Remove unused tool.sequence methods
2025-11-17 16:30:26 +05:00
Andrej730
02d35b6047
Fix missing ifc_file definition in 471bd34
2025-11-17 16:30:25 +05:00
Andrej730
3cc5931eae
Fix missing imports and don't use api.run
2025-11-17 16:30:25 +05:00
Andrej730
db5ec77730
black format src/pyodide
2025-11-17 16:30:25 +05:00
Andrej730
bec46562f5
gitignore running_pid.json
2025-11-17 16:30:25 +05:00
Andrej730
1508c4ab05
test_feature - restore EPset_Drawing.ifc
2025-11-17 16:30:24 +05:00
Andrej730
99ae768ddf
test_feature - clean up .ifc.cache. files after test was executed
2025-11-17 16:30:24 +05:00
Andrej730
fb902a04f5
test_feature - use common prompts for loading/saving temp projects
2025-11-17 16:30:24 +05:00
Andrej730
e46a99870b
typing
2025-11-17 16:30:24 +05:00
Andrej
3fbba405d4
Merge pull request #7362 from sboddy/fix_7348_ci_test_normalize_path
2025-11-17 07:12:11 +01:00
Andrej730
989415f423
setup_pytest - use check_call and less repetition
2025-11-17 11:09:15 +05:00
Andrej730
7a3c7704b5
preferences descriptions - document autoreplaced strings in commands
2025-11-17 11:09:14 +05:00
Andrej730
5d7407e2b9
preferences descriptions - adjust line length
2025-11-17 11:09:08 +05:00
Andrej730
4a5f1b01a1
black .
2025-11-17 11:09:08 +05:00
Ryan Schultz
a038fa62ba
Use spacebar to toggle on/off direct profile edit mode. Works on IfcExtrudedSolids, LAYER2 objects(slabs), and axis-based geometry.
2025-11-16 15:00:10 -06:00
Ryan Schultz
bb1127d815
prompt for Blender version
2025-11-15 19:10:15 -06:00
Ryan Schultz
40cf322fb4
fall back to a Windows system font if the font isn’t found in addon folder
2025-11-15 09:58:37 -06:00
Ryan Schultz
f32ccec154
Fix #7364 : If you change the width/height of a drawing camera it doesn't scale the text decoration.
2025-11-15 08:25:27 -06:00
Ryan Schultz
dc0b73f46f
Ensure annotation is in front of a RCP camera.
2025-11-15 08:06:06 -06:00
Ryan Schultz
36cb625c4e
Fix #7353 : Fix section annotations squashed in section views
...
Add target view detection to generate_section_reference_points() to create
appropriate geometry for each view type. Plan views get horizontal lines
(clip_segment), section/elevation views get vertical lines (elevate_segment).
2025-11-15 07:52:07 -06:00
Stephen Boddy
89314733ff
blackwq
2025-11-14 15:47:50 +00:00
Stephen Boddy
d4e945222d
Fix #7348 : test_normalize_path failure on CI/Linux.
2025-11-14 15:41:13 +00:00
Andrej730
fe80620a5d
Add basic parametric objects tests #7355
2025-11-13 19:13:28 +05:00
Andrej730
166ddb4799
Fix parametric stair editing after 3617d11 #7355
2025-11-13 19:13:28 +05:00
Andrej730
8e2a310f92
stair generation - remove debug prints ( b46136e)
2025-11-13 19:13:28 +05:00
Andrej730
339a0606c0
Fix failing product assignment test after 5a511ee
...
Moved code from `core`, added a warning so we could possibly narrow down #4014 in the future.
2025-11-13 19:13:27 +05:00
Andrej730
b6f1119eaa
Fix failing product assignment test after 555621c
2025-11-13 19:13:27 +05:00
Andrej730
139a024d5f
dev_environment.py - bump Blender version to 5.0
2025-11-13 19:13:27 +05:00
Andrej730
9491096485
black .
2025-11-13 19:13:27 +05:00
Thomas Krijnen
a34e42a519
Handle infra sweeps of open loops #7338
2025-11-13 12:43:41 +01:00
Esteban DUGUEPEROUX
6a7ecf7f58
cmake: Have a dedicated CMakeLists.txt for IfcGeomServer
2025-11-13 10:14:59 +01:00
Richard Brice
96da78c670
Updates IfcSectionedSurface so it works with taxonomy::function_item
2025-11-12 11:37:07 -08:00
Andrej730
9adc8e484a
Bonsai - bump ifcopenshell build #7330
2025-11-12 22:34:42 +05:00
kaplus
e8eb5e4d0a
Add continue statement to skip duplicate calculations
...
Skip general path to avoid duplicate calculations.
2025-11-12 13:14:38 +01:00
Andrej730
080222ffe6
black .
2025-11-12 12:56:35 +05:00
Ryan Schultz
abef655482
Fix #6938 - Have parent facet select the parent aggregate as well.
2025-11-11 20:19:38 -06:00
Ryan Schultz
85b3f831dc
copy query for aggregates into clipboard, to align with common UI pattern.
2025-11-11 20:17:37 -06:00
falken10vdl
d8ece32d62
Add markdown-it-py and mdurl dependencies for drawing module annotations ( #7346 )
2025-11-11 16:33:19 -06:00
Ryan Schultz
0df7117d37
Sort annotations to ensure FILLAREA types are drawn first (at the bottom)
2025-11-11 14:26:55 -06:00
sboddy
91d67e6371
Improve Merge/Mirror error messages to reduce confusion. ( #6911 )
2025-11-11 13:57:52 -06:00
Ryan Schultz
87d1b0637a
Close #7294 : Add target-view and scale classes to SVG parent group from IFC data
...
Reads from EPset_Drawing.TargetView and EPset_Drawing.Scale to add
CSS classes to the linework parent group for view-specific styling.
2025-11-11 12:47:58 -06:00
Esteban Dugueperoux
b8adddc648
fix test_number_formatting tests and add cases ( #7332 )
2025-11-11 11:25:00 -06:00
Andrej730
25d3edc537
Avoid producing test artifacts in src/bonsai
2025-11-11 19:56:57 +05:00
Andrej730
7f8cb80281
Fix TestDrawingStyles after 44cc127
2025-11-11 19:56:57 +05:00
Andrej730
a2ce2ea23a
Fix TestDisableEditingText crash after 679fa6d
2025-11-11 19:56:56 +05:00
Andrej730
7f7aef0e6e
Fix duplicate drawing core test ( 8ffa6fc)
2025-11-11 19:56:56 +05:00
Andrej730
821b5380ea
Fix copy to container test ( ddbe627)
2025-11-11 19:56:56 +05:00
Andrej730
e8bcbc83a4
Update operator.py
2025-11-11 19:56:56 +05:00
Andrej730
091af3c1c9
Add todo for unused expression ( 17d6b8a)
2025-11-11 19:56:55 +05:00
Andrej730
4cc50301dd
Remove unused variable ( 17d6b8a)
2025-11-11 19:56:55 +05:00
Andrej730
f643a1615e
Fix failing aggregate duplication test after 17d6b8a
2025-11-11 19:56:55 +05:00
Andrej730
71e78c67f8
Add visibility and lock steps to geometry.feature
...
Added steps to set 'is_visible' to TRUE and 'is_locked' to FALSE in the 'Spatial Decomposition' panel for the 'Override paste buffer - with active IFC data' scenario. This ensures the test covers visibility and lock state handling for IFC objects.
2025-11-11 19:56:55 +05:00
Andrej730
e7c4a19d9e
bim.override_object_duplicate_move - sync poll with object.duplicate_move
2025-11-11 19:56:54 +05:00
Andrej730
6c31d43e72
Fix feature tests after a11f81f
2025-11-11 19:56:54 +05:00
Andrej730
83b56d591b
Fix error activating drawing style
...
Example error:
```
TypeError: bpy_struct: item.attr = val: enum "Default" not found in ('city.exr', 'courtyard.exr', 'forest.exr', 'interior.exr', 'night.exr', 'studio.exr', 'sunrise.exr', 'sunset.exr')
```
There was a bug in shading_styles.json where we were using `Default` for `studio_light`, which is only available for `SOLID` shading type. Changed value to `forest.exr`, added code to handle old bugged value since users already copied and possibly modified shading_styles.json
2025-11-11 19:56:54 +05:00
Andrej730
e5b26067ab
typing
2025-11-11 19:56:54 +05:00
Andrej730
a4fae94be8
test_feature - add separate non-debug option to save ifc project
...
Also clean up temp folder before save (met issues when tests were using not updated shading_styles.json)
2025-11-11 19:56:53 +05:00
Andrej730
af4851f03a
Fixing bsdd feature tests ( a929ab0)
2025-11-10 18:58:02 +05:00
Andrej730
155d4c44ae
PanelSpy - fix error handling methods that have a return value
...
E.g. `ReferenceUI` has `self.get_object_name(context)` - since value wasn't returned, it was returning `None`, breaking the tests.
2025-11-10 18:58:02 +05:00
Andrej730
48119baf97
test_feature - non-background mode for debugging
2025-11-10 18:58:02 +05:00
Andrej730
dd1989aebb
test_feature - use pformat to print props for readibility
2025-11-10 18:58:01 +05:00
Andrej730
0806430700
TemplateListSpy - add repr
2025-11-10 18:58:01 +05:00
Andrej730
2d97f6638b
test_feature - add debugpy option
2025-11-10 18:58:01 +05:00
Andrej730
b10e5ad4d6
PanelSpy - target not all callables
...
Because sometimes we have `Data` classes as panel attributes and they're also callable.
2025-11-10 18:58:01 +05:00
Andrej730
24f991ceb1
Fix feature tests after a11f81f
2025-11-10 18:58:01 +05:00
Andrej730
ac11baa0c4
Fix the_object_name_does_not_exist not checking for errors
...
`assert True` was introduced in 1c1035e and original implementation with `assert False` was removed in b0d8101
2025-11-10 18:58:01 +05:00
Andrej730
1609a77b77
typing for PanelSpy related options
2025-11-10 18:58:00 +05:00
Andrej730
dd2f091a52
object.delete and outliner.delete overrides to reuse original poll methods for consistency
2025-11-10 18:58:00 +05:00
Andrej730
a7bf0e7d5e
Fix remove drawing feature test ( f11d79f)
2025-11-10 18:58:00 +05:00
Andrej730
19bdd3e622
i_set_the_prop_property_to_value - don't fail silently on incorrect bool values
2025-11-10 18:58:00 +05:00
Andrej730
e1bf891ec6
PanelSpy - also support draw_header for panels
2025-11-10 18:58:00 +05:00
Andrej730
4009834b97
PanelSpy - rename panel attr to blender_panel to avoid conflicts with panel method
...
Also added support for `panel` method.
2025-11-10 18:57:59 +05:00
Andrej730
77f5e1fbad
PanelSpy - add typing
2025-11-10 18:57:59 +05:00
Andrej730
c4eb77d544
Blender 5.0 - update shadint_styles eevee name
2025-11-10 18:57:59 +05:00
Andrej730
8a4ea43239
Blender 5.0 - fix error activating drawing styles
...
Some props were removed in Blender 5.0
2025-11-10 18:57:59 +05:00
Thomas Krijnen
f056e22f60
ruff
2025-11-10 11:59:10 +01:00
Thomas Krijnen
05e81040ce
black
2025-11-10 11:53:33 +01:00
Thomas Krijnen
8d8133e780
submodule
2025-11-10 11:45:05 +01:00
Thomas Krijnen
dceb35782e
Add platform tag for linuxarm64 in Makefile #7325
2025-11-10 11:17:24 +01:00
Thomas Krijnen
2c5f0c6cf2
Add Linux ARM 64bit to CI workflow #7325
2025-11-10 11:16:27 +01:00
Thomas Krijnen
abd667684d
Supply CGAL_WITH_GMPXX to ifcopenshell configure #7330
2025-11-10 10:48:24 +01:00
Thomas Krijnen
31b5f88497
Rename WITH_GMPXX to CGAL_WITH_GMPXX in build script #7330
2025-11-10 10:33:48 +01:00
Thomas Krijnen
77a7026d33
Disable GMPXX in CGAL build #733
2025-11-10 10:15:14 +01:00
Thomas Krijnen
9c5f3f9754
Disable GMPXX in CGAL build #7330
2025-11-10 09:51:38 +01:00
Esteban DUGUEPEROUX
5d56025014
cmake: Separate ifcparse build in its own CMakeLists.txt file
2025-11-10 09:42:51 +01:00
Bruno Postle
ad62c75f4f
ifcclash ifccsv ifcdiff ifcpatch: README.md stubs
...
The pyproject.toml files were referencing these missing files
2025-11-09 20:52:12 +00:00
Ryan Schultz
7a5bd03216
Close #7220 : Duplicate multiple selected Linked Aggregates at one time
2025-11-09 13:45:09 -06:00
Ryan Schultz
593e0e28a9
fix #4189 : local_view turns off/on text decorations, as well as cut decorator.
2025-11-08 16:35:46 -06:00
Massimo Fabbro
ed2b2de79a
Add profiler in ifcopenshell util and ifc5d quantify function time
...
Useful for quantify function optimization
2025-11-08 20:00:35 +01:00
Ryan Schultz
5a511eecc1
Fix #4014 : Unassign annotation from all products before reassignment
...
The edit_assigned_product() function now removes the annotation from all
existing IfcRelAssignsToProduct relationships instead of just one, preventing
annotations from being incorrectly assigned to multiple products simultaneously.
This fixes issues where leader lines wouldn't update correctly because the
annotation retained old product assignments.
2025-11-08 12:46:33 -06:00
Bruno Postle
83e0fa1287
Bump python bindings maximum python version
...
Python 3.14 is now a thing and the build seems ok
2025-11-08 17:38:56 +00:00
Ryan Schultz
a2dbdbf8cc
Fix #7274 : Add unique CSS class suffix to all selectors in sheet drawings
...
Previously, when multiple CSS selectors were comma-separated in a rule,
only the last selector received the unique drawing ID suffix. This caused
style conflicts when multiple drawings were placed on the same sheet.
Now all selectors in comma-separated lists receive the unique suffix,
ensuring proper style isolation between drawings.
Example:
Before: .cut.Status-DEMOLISH, .cut.Option-D.d2156 { ... }
After: .cut.Status-DEMOLISH.d2156, .cut.Option-D.d2156 { ... }
2025-11-08 10:41:43 -06:00
Ryan Schultz
3d68bbc0ca
Fix #7287 : to correctly position IfcAnnotation on RCP's.
2025-11-08 09:11:38 -06:00
Thomas Krijnen
40f9f261ae
submodule
2025-11-07 16:22:51 +01:00
Andrej730
c08cc58904
Blender 5.0 - fix opening Web UI
...
In Blender 5.0 some theme attributes were removed and moved to other places and code broke.
In the commit I've also switched the code to less dynamic approach, so static type checker could caught potential errors.
2025-11-07 19:13:44 +05:00
Andrej730
ebdb122a22
Fix error removing systems 6469f79
2025-11-07 19:13:44 +05:00
Andrej730
5de2752685
light ui - use calendar for simplicity
2025-11-07 19:13:44 +05:00
Andrej730
d2245a95c7
Blender 5.0 - fix issues related to EEVEE renamed again
...
Ahh, it was a mistake warning about non-`_NEXT` values previously - didn't realized that this name was temporary for Blender.
2025-11-07 19:13:43 +05:00
Andrej730
47075e95bd
Blender 5.0 - fix error enabling Rendered mode in Solar Analysis
2025-11-07 19:13:43 +05:00
Thomas Krijnen
9d4c980e02
black
2025-11-07 11:50:33 +01:00
Thomas Krijnen
53c1a1537d
ruff
2025-11-07 11:50:18 +01:00
Thomas Krijnen
7db2f66685
WKT footprint massaging
2025-11-07 10:59:33 +01:00
Thomas Krijnen
6dd34b1fa4
Fix failing test by bumping commit ref #7193
2025-11-07 10:59:10 +01:00
Ryan Schultz
862713cda4
related to #7298 - skip material, as well.
2025-11-06 20:56:56 -06:00
Ryan Schultz
06c1668e42
Closes #7298 - skips count on csv import.
2025-11-06 13:20:55 -06:00
Thomas Krijnen
5f9f0f26eb
submodule
2025-11-06 19:06:51 +01:00
Andrej730
8db22cdaf7
test_model - fix incorrect stair profile values in generation tests
2025-11-06 18:46:28 +05:00
Andrej730
3bed9262e5
Fix miscalculated stair lengths in some cases ( f52aafd)
...
`get_active_stair_calculated_params` wasn't updated when zero tread runs support was added and it's still was relying on a convention that `0.0` custom tread run = no custom tread run.
2025-11-06 18:46:06 +05:00
Andrej730
0c171a457b
stair generation - fix bug with extended top nib with zero first tread run
...
`s0 = V_(custom_first_last_tread_run[0] or tread_run, tread_rise) + td_vector` was assuming `0` means "no custom first tread run", not it means actually "zero first tread run", so could should be adjusted
before - https://files.catbox.moe/5ovqnh.mp4
after - https://files.catbox.moe/srorl2.mp4
2025-11-06 18:44:49 +05:00
Andrej730
b5e8dfd863
generate_stair_2d_profile - add typing
2025-11-06 18:44:49 +05:00
Thomas Krijnen
c9df87fc25
submodule
2025-11-06 10:48:12 +01:00
Esteban DUGUEPEROUX
30925a4b3c
fix format
2025-11-05 19:26:22 +01:00
Esteban DUGUEPEROUX
ccf0efffce
cmake: Simplify hdf5 linkage
2025-11-05 19:26:22 +01:00
Andrej730
169c4392a9
test_model - simplify stair generation kwargs
2025-11-05 19:30:36 +05:00
Andrej730
e543785959
Fix breaking tests for stair length calculations with custom zero tread run ( f52aafd)
...
In both cases it was providing arguments `(0,0)`, but was assuming only one tread will be zeroed.
2025-11-05 19:30:36 +05:00
Andrej730
3617d119cb
Fix breaking old stair generation tests after f52aafd
...
Before f52aafd default `(0,0)` meant that there are no custom tread runs, but after the change it actually means that runs for first and last treads are 0. So default value should be adjusted.
Added explicit `None` value for clarity.
2025-11-05 19:30:36 +05:00
Andrej730
5d1f28c3cb
validate_object_selection - don't invalidate active objects when they're not in view layer
...
Since it's not illegal in Blender and can be helpful - e.g. when you were assigning class to ifc space, you would lose selection completely and would need to reselect object to continue working on it.
2025-11-05 19:19:49 +05:00
Andrej730
6f04eb12d0
black .
2025-11-05 19:18:11 +05:00
Ryan Schultz
b46136e9f8
For stairs, Lock total length now takes first and last tread widths into account as well.
2025-11-05 06:55:03 -06:00
Andrej730
c3fe2d0ee3
build_win - revert schema versions limit
...
Committed by accident when debugging 🥲
2025-11-05 14:05:00 +05:00
Andrej730
aeed371888
ifcopenshell.file - add todo notes for temp workarounds, make workaround more explicit
2025-11-04 19:24:22 +05:00
Andrej730
a50c8869a5
bonsai - fix ifcsqlite import ( 546a042)
2025-11-04 19:24:21 +05:00
Andrej730
04d1fe4052
sql, stream - more clear error message when accessing wrapped_data
2025-11-04 19:24:21 +05:00
Andrej730
4e1d0bcf22
Fix failing selecting products tests ( 3aa5ddb07)
...
After 3aa5ddb07 `select_products` adds to current selection, instead of resetting it.
So couple tests started to fail since they create new objects and `view_layer` is not yet updated (previously `bpy.ops.object.select_all(action="DESELECT")` was also implicitly updating view layer).
```
FAILED test/tool/test_spatial.py::TestSelectProducts::test_select_products - AssertionError: assert bpy.data.objects['Object'] in []
FAILED test/tool/test_system.py::TestSelectSystemProducts::test_run - AssertionError: assert bpy.data.objects['Object'] in []
```
2025-11-04 19:24:21 +05:00
Andrej730
d2126e5929
Blender 5.0 - avoid using deprecated use_nodes
2025-11-04 19:24:20 +05:00
Andrej730
3bdfbebc02
Blender 5.0 - accomodate new mathutils buffer protocol type
...
Long story short - since 5.0 `np.array(Vector())` is now producing `np.float32` instead of `np.float64`. So we have to provide `dtype` explicitly to support both <5.0 and >= 5.0.
See https://projects.blender.org/blender/blender/issues/149283
2025-11-03 19:32:59 +05:00
Andrej730
1a9bd1891e
blender 5.0 - fix moved bl_ui_utils module (bonsai is now launchable in 5.0)
2025-11-03 18:33:34 +05:00
Andrej730
1599bc14b3
Fix core/test_system.py ( 5de96c9)
2025-11-03 18:33:34 +05:00
Andrej730
30b74ab09c
blender 5.0 - ensure the latest module is used for type checking
2025-11-03 18:33:34 +05:00
Andrej730
24bee01f01
black .
2025-11-03 18:33:34 +05:00
Ryan Schultz
7329c485ea
Fix quantify() regression where by_type queries and grouped iteration could apply QTOs to all entities in the model instead of the intended element subset.
2025-10-31 10:03:52 -05:00
Andrej730
9c93b12084
Blender 5.0 - fix bpy_restrict_state error
...
It's probably will be very popular bug, when someone would try to migrate to Blender 5.0 using old Bonsai.
Example traceback:
```
File "Blender\5.0\extensions\.local\lib\python3.11\site-packages\bonsai\bim\prop.py", line 34, in <module>
import bonsai.bim.schema
File "Blender\5.0\extensions\.local\lib\python3.11\site-packages\bonsai\bim\schema.py", line 23, in <module>
import bpy_restrict_state
ModuleNotFoundError: No module named 'bpy_restrict_state'
```
2025-10-31 18:50:53 +05:00
Andrej730
b97c7d39ad
dev_environment.py - small error message tweak
2025-10-31 18:50:52 +05:00
Andrej730
fa0c1c5d2a
dev_environment.py - fix typo
2025-10-31 18:50:52 +05:00
Andrej730
e4c49ce57b
Fix missing Serializers target when building just IfcGeomServer
...
Noticed testing command from #7277 . I believe Serializers it not actually needed to build IfcGeomServer.
Example error:
```
/usr/bin/ld: cannot find -lSerializers: No such file or directory
```
2025-10-31 18:50:52 +05:00
Andrej730
3ae77c68e8
build-all.py - add VERBOSE=1 for building executables
2025-10-31 18:50:52 +05:00
Andrej730
8b1cb8e7ae
black .
2025-10-31 18:50:52 +05:00
Andrej730
ce0348518d
cmake - note future cmake bug fixes
2025-10-31 18:50:52 +05:00
Andrej730
a660027b93
test_package - ensure wasm package is present for active build commit
2025-10-31 16:09:22 +05:00
Thomas Krijnen
44ef409335
Don't check for drawing semantics on qto or predefpset #7304
2025-10-31 09:56:54 +01:00
Ryan Schultz
089edff1db
fix for #7296 : handle openings without Blender representation in get_gross_top_area ( #7297 )
2025-10-30 20:40:06 -05:00
Thomas Krijnen
bd5a1b5bda
Account 2x3/4 differences in Shading/Rendering::Transparency()
2025-10-30 18:35:20 +01:00
Andrej730
ba3517f3aa
build-all.py - switch to dynamic_lookup for macos builds
...
1) `-undefined,suppress` is deprecated, linker is sending warnings about it and it seems to be superseded by `dynamic_lookup`
2) `-flat_namespace` is not compatible with GMP when building for intel, for some reason and results in horrible errors during linking:
Example error:
```
ld: branch8 out of range 366651 in ___gmpn_add_nc
final section layout:
__TEXT addr=0x00000000, size=0x02d09000, fileOffset=0x00000000
__text addr=0x00001400, size=0x0264a5e4, fileOffset=0x00001400
__stubs addr=0x0264b9e4, size=0x0000423c, fileOffset=0x0264b9e4
__stub_helper addr=0x0264fc20, size=0x00006c58, fileOffset=0x0264fc20
__gcc_except_tab addr=0x02656878, size=0x002efc04, fileOffset=0x02656878
__const addr=0x02946480, size=0x001cdc18, fileOffset=0x02946480
__cstring addr=0x02b140a0, size=0x0014324b, fileOffset=0x02b140a0
__unwind_info addr=0x02c572ec, size=0x0008d2d0, fileOffset=0x02c572ec
__eh_frame addr=0x02ce45c0, size=0x00024a30, fileOffset=0x02ce45c0
__DATA_CONST addr=0x02d09000, size=0x0022b000, fileOffset=0x02d09000
__got addr=0x02d09000, size=0x00001dc8, fileOffset=0x02d09000
__mod_init_func addr=0x02d0adc8, size=0x00000690, fileOffset=0x02d0adc8
__const addr=0x02d0b460, size=0x00227fd0, fileOffset=0x02d0b460
__DATA addr=0x02f34000, size=0x000c3000, fileOffset=0x02f34000
__la_symbol_ptr addr=0x02f34000, size=0x000056a0, fileOffset=0x02f34000
__data addr=0x02f396a0, size=0x0005f7b8, fileOffset=0x02f396a0
__thread_vars addr=0x02f98e58, size=0x000006d8, fileOffset=0x02f98e58
__thread_ptrs addr=0x02f99530, size=0x00000178, fileOffset=0x02f99530
__thread_data addr=0x02f996b0, size=0x000000d8, fileOffset=0x02f996b0
__thread_bss addr=0x02f99790, size=0x00018850, fileOffset=0x02f99790
__bss addr=0x02fb1fe0, size=0x0003b0c0, fileOffset=0x00000000
__common addr=0x02fed0a0, size=0x00009098, fileOffset=0x00000000
__LINKEDIT addr=0x02ff7000, size=0x0148e000, fileOffset=0x02fb2000
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
2025-10-30 19:45:24 +05:00
Andrej730
7f144b7b95
build-all.py - remove unused wasm flags
...
`-Wl,-undefined,suppress` have no meaning in emscripten and they are just ignored. And emscripten is ignoring undefined symbols by default without any flags.
2025-10-30 19:45:24 +05:00
Andrej730
19ac0b6c38
build-all.py - add VERBOSE=1 to the wrapper make command
2025-10-30 19:45:24 +05:00
Andrej730
3562437293
build-all.py - fix missing mac cross compilation host args in gmp
...
I guess something has changed in gmp 6.3.0 and this issue become more apparent.
Example error:
```
tmp-cnd_sub_n.s:133:14: error: tmp-cnd_add_n.sbrackets expression not supported on this target:
130 stp x8, x9, [x1,#16]
^
:2tmp-cnd_sub_n.s: :error: 134invalid instruction mnemonic 'bic':
6 bic x7, x13, x0:
error: invalid instruction mnemonic 'cset'^
~Lrt: cset x0, cc~
^~~tmp-cnd_add_n.s~:
131:2: error: invalid instruction mnemonic 'adcs'
adcs x8, x10, x6
^~~~
tmp-cnd_add_n.s:132:2: error: invalid instruction mnemonic 'adcs'
adcs x9, x11, x7
^~~~
tmp-cnd_add_n.s:133:14: error: brackets expression not supported on this target
stp x8, x9, [x1,#16]
^
tmp-cnd_add_n.s:134:6: error: invalid instruction mnemonic 'cset'
Lrt: cset x0, cs
^~~~
```
2025-10-30 19:45:24 +05:00
Andrej730
e8ece71d22
black .
2025-10-30 19:45:24 +05:00