Richard Brice
c031a0edf4
Add import hashlib and formatted with black
2026-04-20 07:26:40 -07:00
Richard Brice
61f715c148
Enables images for IfcImageTexture to be loaded from remote sources
2026-04-18 06:49:53 -07:00
Thomas Krijnen
32a7de66de
ifcchat: update ifopsh to latest wasm wheel
2026-04-17 10:05:25 +02:00
Andrej730
29fe41edd0
maintenance: rename main.yml to publish-websites.yml in docs
2026-04-15 16:08:21 +05:00
Andrej730
760c65595c
build_rocky: use uv to acquire more recent version of Python
2026-04-15 14:32:45 +05:00
Andrej730
29b648d8dd
Makefiles - refer to python in more generic way
2026-04-15 11:26:11 +05:00
Andrej730
3ffdb9e74d
maintenance: add publish-bonsai-releases.py to Blender Python version update checklist
2026-04-15 10:52:43 +05:00
Andrej730
00915409ac
maintenance: add documentation about multiple Blender Python versions
2026-04-15 10:50:44 +05:00
Andrej730
d21543a24a
maintenance: add corrective release documentation
2026-04-15 10:46:12 +05:00
Andrej730
9246be710c
black .
2026-04-14 20:01:21 +05:00
Andrej730
3205a4ebb1
Add workflow to publish bonsai releases to Blender Extensions
2026-04-14 20:01:21 +05:00
dependabot[bot]
e82c087b5e
Bump ruff from 0.15.9 to 0.15.10
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.9 to 0.15.10.
- [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.9...0.15.10 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.10
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-14 19:43:35 +05:00
Andrej730
e6258ab4a8
Bump VERSION to 0.8.6
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-13 19:40:25 +05:00
Andrej730
5db65f4041
maintenance - list all things we do on release
2026-04-13 19:39:14 +05:00
Andrej730
89ce32fdfd
Remove redundant docs-deployment.yml workflow
...
The https://github.com/IfcOpenShell/website repo already has bonsai-docs.yml workflow that does the same thing - builds Bonsai docs from the main repo and deploys to bonsaibim_org_docs, so this workflow is redundant and confusing.
2026-04-13 19:39:14 +05:00
Andrej730
763a31a31d
readme: fix ifcsverchok badge filter
2026-04-13 19:38:25 +05:00
Andrej730
4b8c612647
fix ifcmcp package name inconsistency
2026-04-13 18:44:01 +05:00
Andrej730
16723d11ca
ci-pyodide-wasm-release - add tag when pushing release
2026-04-13 17:45:37 +05:00
Andrej730
67238c4ac1
ci-pyodide-wasm-release - use BUILD_REPO_TOKEN
2026-04-13 17:40:02 +05:00
Andrej730
20229aa88c
README.md: add pyodide-wasm-wheels tag badge
2026-04-13 16:43:20 +05:00
Andrej730
7788ae86c9
build-all.py: descriptive error for missing SSL support
2026-04-13 16:23:41 +05:00
Bruno Postle
002b7c5d6e
ifcquery, ifcmcp: better bot selector syntax hints
2026-04-10 22:09:56 +01:00
Thomas Krijnen
e7db239647
inverse access in schema
2026-04-10 21:46:39 +02:00
Thomas Krijnen
158756e921
arrange_polygons: settings, simplify based on growing boxes; more...
2026-04-10 21:46:39 +02:00
Andrej730
a3efa7e9ee
util.element - fix IfcComplexProperty KeyError when verbose=True ( #7921 )
...
Introduced by me in b77df1892
2026-04-10 19:11:42 +05:00
Andrej730
4896946e78
ty ignore some upstream bpy stubs issues
2026-04-10 19:11:41 +05:00
Andrej730
588f365366
Remove unused ty ignores - issue is resolved upsteam in stubs
2026-04-10 19:11:41 +05:00
Andrej730
fa8770c14d
ty - drop rules removed from recent version of ty
2026-04-10 19:11:41 +05:00
Andrej730
0cf831133e
ci-lint - add ty type check
2026-04-10 19:11:41 +05:00
Andrej730
98338e0831
Rename ci-black-formatting workflow to ci-lint
2026-04-10 18:06:43 +05:00
Andrej730
5a3160eb62
black .
2026-04-10 18:02:47 +05:00
Andrej730
80a9df8f52
Ignore pyright warnings for bpy stubs
...
See https://github.com/nutti/fake-bpy-module/discussions/440
2026-04-10 18:01:19 +05:00
Andrej730
8eb0060d4a
Get rid of pyright ignore reportRedeclaration noise
...
Welp, it was helping to point out untyped props, but it is getting too noisy now.
2026-04-10 17:55:16 +05:00
falken10vdl
51a338e4c8
Suppress reportRedeclaration in Pyright config
2026-04-10 17:49:14 +05:00
Andrej730
7169dcd053
Create ci-pyodide-wasm-release.yml
2026-04-10 17:29:46 +05:00
Andrej730
b9d4ea38b0
Script for packing pyodide wheel
2026-04-10 17:29:46 +05:00
Andrej730
c8f46cfb69
build_pyodide.sh - use emsdk from pyodide
2026-04-10 16:22:04 +05:00
Andrej730
6242251d3c
Fix typo
2026-04-10 16:22:04 +05:00
Andrej730
1689960257
Maintenence - document ci-bonsai.yml update
2026-04-10 16:20:50 +05:00
dependabot[bot]
c509f1d3ee
Bump vite from 6.4.1 to 6.4.2 in /src/ifctester/webapp
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-10 16:16:33 +05:00
Dion Moult
217bfed847
Add py313 to stable build
2026-04-10 19:05:54 +10:00
Bruno Postle
b4558f7f75
Fix ruff import ordering complaints
2026-04-09 01:04:14 +01:00
dependabot[bot]
ebd5fe854f
Bump ruff from 0.15.8 to 0.15.9
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.8 to 0.15.9.
- [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.8...0.15.9 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-09 09:59:16 +10:00
dependabot[bot]
06cfd0931c
Bump actions/setup-python from 5 to 6
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v5...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 >
2026-04-09 09:59:10 +10:00
dependabot[bot]
90bd7d26ac
Bump actions/checkout from 4 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 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/v4...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 >
2026-04-09 09:59:03 +10:00
Thomas Krijnen
3fbf01f446
partial revert of 24acfea
2026-04-08 13:48:23 +02:00
Bruno Postle
26a1955cba
Fix compilation failure introduced in 24acfea
2026-04-07 23:34:30 +01:00
Bruno Postle
27d9cae8ff
Bonsai, bump ifcmerge.exe to working version with deps
...
Don't leave a broken repo if ifcmerge is misinstalled.
Fix bug where only local branches could be merged.
Fix gitch where merge commits were not considered relevant.
2026-04-07 22:25:31 +01:00
Thomas Krijnen
a751c1cce3
ifcchat: compaction
2026-04-07 09:46:45 +02:00
Thomas Krijnen
9d4307d343
ifcchat: Throttling of messages based on estimated token counts
2026-04-07 09:46:11 +02:00
Ryan Schultz
ab7d9fdf4a
Auto-assign aggregate on eyedropper pick
...
Add update callbacks to the relating_object and related_object
PointerProperties so that selecting an object via the eyedropper
in BIM_PT_aggregate immediately calls aggregate_assign_object
and closes the editing panel, removing the need to click the
checkmark button manually.
Generated with the assistance of an AI coding tool.
2026-04-05 16:43:03 -05:00
Ryan Schultz
5436467fc5
Whoops, this was supposed to be a PR...
...
Revert "Fix #3742 : Remove coplanar boundary lines between adjacent same-material elements in Bonsai SVG drawings"
This reverts commit 1c7e134d78 .
2026-04-04 13:49:02 -05:00
Ryan Schultz
1c7e134d78
Fix #3742 : Remove coplanar boundary lines between adjacent same-material elements in Bonsai SVG drawings
...
Adds `remove_coplanar_boundary_lines()` to operator.py (Bonsai uses this
path, not draw.py's main()). After `merge_linework_and_add_metadata()`
assigns material CSS classes, this post-processes the SVG to delete
projection line segments that appear in two or more adjacent, coplanar
elements with the same material and presentation style.
Key design decisions:
- Material identity: compared via sorted IFC material ID tuples from
`get_materials()`, not CSS class names — avoids false matches between
unrelated `material-null` elements.
- Presentation style identity: compared via IFC IfcPresentationStyle IDs
from `StyledByItem` on geometry representation items — handles elements
with no material but distinct visual styles.
- Physical adjacency: confirmed by a 3D shared-vertex test (tol=0.01 m)
after a quick AABB guard, rejecting elements whose 2D projections
overlap but sit at different depths.
- Coplanarity: determined by the dominant (largest-area) face normal of
each Blender mesh object — area-weighted averages are unreliable for
slabs whose equal top/bottom faces cancel out. Folded walls sharing an
edge but meeting at an angle are correctly rejected (normal dot ≪ 1.0).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-04 13:42:49 -05:00
Bruno Perdigão
97ee4eaef0
See #7888 - Fix snap when object changes during modal operator.
...
Handle cases where the snapped target is modified while a modal operator
is active (e.g., adding a door or window that alters the wall geometry).
2026-04-04 14:30:59 -03:00
Thomas Krijnen
30517770e0
Revert default tool output truncation
2026-04-04 13:12:47 +02:00
DesertSpringsCivil
5b1ec85f75
feat: Reduce token usage in ifcchat and default to IFC4X3
...
- Add Anthropic prompt caching (cache_control on system prompt and
tools) to reduce repeated token costs by ~90%
- Truncate large tool results in conversation history (2000 char cap)
to prevent context bloat from ifc_tree/ifc_select responses
- Add sliding window (40 messages) on conversation history, trimming
at user message boundaries to avoid breaking tool-call sequences
- Default "New IFC" button to IFC4X3 schema instead of IFC4
- Constrain ifc_new schema parameter with enum to prevent invalid
schema strings like "IFC4X3ADD2"
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 13:11:14 +02:00
Stephen Boddy
12123baafe
Update the pyver as 3.13 is default in 5.1 now
2026-04-04 04:22:12 +01:00
Stephen Boddy
0a1c54cedc
Fix the ci-bonsai-daily blender url
2026-04-04 03:56:08 +01:00
Bruno Postle
12144f76d3
Merge branch 'ifcgit-features' into v0.8.0
2026-04-04 00:10:33 +01:00
Bruno Postle
ca6e950496
ifcgit: conflict report panel and dry-run merge preview
...
Parse ifcmerge JSON output and display a per-conflict breakdown in the
panel when merge fails. Ctrl+click on the Merge button previews
conflicts without committing. Add SelectConflictEntity operator to
select and frame the conflicting object in the 3D viewport.
Generated with the assistance of an AI coding tool.
2026-04-03 13:28:14 +01:00
Thomas Krijnen
c478da5257
Remove pro
2026-04-03 11:36:56 +02:00
Thomas Krijnen
c28251a1b1
Add CNAME file
2026-04-03 11:30:33 +02:00
Thomas Krijnen
9bc0588d21
Update openai model list
2026-04-03 11:30:23 +02:00
Thomas Krijnen
918cc65a0d
Provider selection as tabs
2026-04-03 11:22:43 +02:00
Thomas Krijnen
7350ccd25e
Tweak header padding
2026-04-03 11:14:40 +02:00
Thomas Krijnen
c1f146966c
The end of open source? Just regurgitate some markdown parsing code.
2026-04-03 11:03:44 +02:00
Thomas Krijnen
24acfeaf45
Thinking indicator under chat
2026-04-03 10:59:09 +02:00
Thomas Krijnen
5d748c5b04
Add Gemini option
2026-04-03 10:49:36 +02:00
Thomas Krijnen
5bcf8685ab
Merge remote-tracking branch 'origin/feat/ifcchat-claude' into v0.8.0
2026-04-03 10:26:29 +02:00
geronimi73
8f64f75abb
add favourite models
2026-04-03 09:46:44 +02:00
geronimi73
434ea74f22
format this mess
2026-04-03 09:46:44 +02:00
geronimi73
fbf2946b69
Update index.html
2026-04-03 09:46:44 +02:00
geronimi73
7af0ec13e5
move model to sidebar
2026-04-03 09:46:44 +02:00
geronimi73
29e5e0fd1a
chevrons for tool result expansion
2026-04-03 09:46:44 +02:00
geronimi73
d7de4f8df0
dont freeze UI on error
2026-04-03 09:46:44 +02:00
geronimi73
252bd6f4f6
openai by default
2026-04-03 09:46:44 +02:00
geronimi73
3b28c92414
html too big -> styles into sep. file
2026-04-03 09:46:44 +02:00
geronimi73
fcbec74521
spinner
2026-04-03 09:46:44 +02:00
geronimi73
0f7f960b29
let claude code openrouter compatibility
2026-04-03 09:46:44 +02:00
geronimi73
b7fc5daf82
ui: choose openai/openrouter
2026-04-03 09:46:44 +02:00
geronimi73
1d7a8ca249
separate API calls
2026-04-03 09:46:44 +02:00
Ryan Schultz
eaf7950677
Fix TypeError in ray_cast_by_proximity_2d degenerate edge
...
A degenerate edge (zero-length segment) caused an early `return`
of a tuple instead of continuing the loop, resulting in a
TypeError when snap.py iterated the result and tried to assign
`point["group"]` on a float.
Generated with the assistance of an AI coding tool.
2026-04-02 23:24:35 -03:00
DesertSpringsCivil
95851ff94c
feat: Add Anthropic Claude API support to ifcchat
...
Add a provider selector (OpenAI / Anthropic) to the ifcchat web UI,
allowing users to use their Anthropic API key with Claude models
instead of only OpenAI.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 18:50:27 -06:00
Bruno Postle
3a6881ca17
ifcgit: add rename branch button next to working branch label
...
See #7577
Generated with the assistance of an AI coding tool.
2026-04-03 00:20:22 +01:00
Bruno Postle
c5210a4f82
ifcgit: sync load_project post-import steps with project operator
...
See #7578
2026-04-03 00:03:34 +01:00
Bruno Postle
e3cadab406
ifcgit: add clone widget to new project wizard ( #7579 )
2026-04-02 23:42:39 +01:00
Bruno Postle
d5b551874d
ifcgit: pre-fill branch name when switching to a remote branch tip
...
When a remote branch tip is checked out (resulting in detached HEAD),
the new-branch name field is now pre-filled with the local equivalent
of the remote branch name (generating a unique suffix if that name is
already taken), so the commit button is immediately usable.
See #7580
Generated with the assistance of an AI coding tool.
2026-04-02 23:16:40 +01:00
Bruno Postle
be3aef59fa
ifcgit: move action buttons below revision list in a labelled row
...
Generated with the assistance of an AI coding tool.
2026-04-02 22:45:33 +01:00
Bruno Postle
bcc631bf5f
ifcgit: improve colourise to find products via geometry and property changes
...
Generated with the assistance of an AI coding tool.
2026-04-02 22:44:56 +01:00
Bruno Postle
6c18ac9605
ifcgit: use --prioritise-local flag for ifcmerge-forward mergetool
2026-04-02 22:42:29 +01:00
Bruno Postle
9d42f4c1ee
Update Bonsai to latest ifcmerge ( #7581 #3096 )
...
This version has some functional differences:
- Structured JSON error message instead of free text (on STDOUT not STDERR)
- New --prioritise-local flag to control which side wins in merge conflicts (not used by Bonsai yet)
- IfcLocalPlacement conflicts now auto-resolve instead of failing the merge (partial solution to #6885 )
- Float values are normalised when comparing entities (workaround for #7696 )
2026-04-02 07:54:20 +01:00
Ryan Schultz
fdb2947345
Add git branch to system info debug output
...
Include bonsai_git_branch in get_debug_info(). For dev environments
using the GitPython-based update_commit_data() path, the branch is
read from repo.active_branch.name. For built extensions, a 7777777
placeholder is replaced at build time via the Makefile, matching the
existing pattern for bonsai_commit_hash and bonsai_commit_date.
Generated with the assistance of an AI coding tool.
2026-04-01 19:45:22 -05:00
Bruno Postle
5e784e4175
Refactor ifcgit, fix UI bugs and performance
...
Move all business logic into bonsai core and tool. Performance fixes to
minimise file IO, various minor bug fixes and tests.
Generated with the assistance of an AI coding tool.
2026-04-02 00:03:03 +01:00
Thomas Krijnen
fb81c88a5f
initial ai chat src
2026-04-01 15:56:13 +02:00
Thomas Krijnen
c014ce2b46
initial ai chat src
2026-04-01 15:52:22 +02:00
Thomas Krijnen
ff65719074
initial ai chat src
2026-04-01 15:50:24 +02:00
Thomas Krijnen
3491e4c91b
initial ai chat src
2026-04-01 15:46:45 +02:00
Thomas Krijnen
9f3adc9154
initial ai chat src
2026-04-01 15:36:27 +02:00
Thomas Krijnen
f6c6203408
initial ai chat src
2026-04-01 15:33:43 +02:00
falken10vdl
39a376df95
intersect_edge_region_border: Change return statements to return None, None for no intersection
...
In order to fix error of the type:
| point, _ = cls.intersect_edge_region_border(
| ^^^^^^^^
| TypeError: cannot unpack non-iterable NoneType object
a tuple is expected.
2026-04-01 08:46:40 -03:00
Ryan Schultz
70a4fdbf95
Fix #7878 : Fix snapping crash with non-mesh objects
...
Two bugs introduced in 31b571322 :
- SnapObj assumed obj.data is always a Mesh; non-mesh
objects (empties, lights, etc.) have obj.data = None,
causing an AttributeError on obj.data.edges.
- view3d_utils was used but never imported.
Generated with the assistance of an AI coding tool.
2026-04-01 08:14:51 -03:00
Thomas Krijnen
0a41d2e016
Rename project from 'ifcmcp' to 'ifcopenshell-mcp'
2026-04-01 11:09:49 +02:00
Thomas Krijnen
0b5eab8549
Enable verbose output for PyPI deployment
2026-04-01 09:24:35 +02:00
Bruno Postle
6f9d54c2af
ifcquery, ifcedit: update docs for --format ids and foreach subcommand
...
Add --format ids to the ifcquery.rst format description and a new
"Scripting with ifcedit" section showing composition examples. Add
the foreach subcommand to ifcedit.rst with usage examples.
2026-04-01 08:53:09 +02:00
Bruno Postle
9ea302cdf1
ifcquery, ifcedit, ifcmcp: add documentation
...
Add ifcquery, ifcedit and ifcmcp to the README contents table, the
Sphinx docs toctree and introduction utilities table. Add new .rst
pages for each package documenting subcommands, installation, usage,
and parameter types. Fix plot and render CLI examples in ifcquery
README to use -o/--out-format flags. Update ifcmcp README to use the
installed ifcmcp command rather than python3 -m ifcmcp.
Generated with the assistance of an AI coding tool.
2026-04-01 08:53:09 +02:00
Bruno Postle
c057e79f17
ifcquery, ifcedit, ifcmcp: add Makefiles and PyPI publish workflows
...
These three packages were added to src/ but lacked the Makefile needed
by common.mk to build distribution wheels, and the GitHub Actions
workflow to publish them to PyPI.
Adds make dist / make test / make qa targets and ci-*-pypi.yaml
workflows matching the pattern used by ifcpatch, ifcclash, etc.
2026-04-01 08:53:09 +02:00
Andrej730
da470c5135
Fix missing but used initial_t var
2026-04-01 10:37:23 +05:00
Andrej730
214cd44f8e
Fix missing view3d_utils import
2026-04-01 10:37:07 +05:00
Andrej730
4bff2fa554
Fix ruff
2026-04-01 10:37:07 +05:00
Andrej730
9d78df392d
black .
2026-04-01 10:37:07 +05:00
Andrej730
86bef0a254
typing
2026-04-01 10:37:06 +05:00
Andrej730
05bf59d360
ci-bonsai-daily - bump Blender version to 5.1
2026-04-01 10:37:06 +05:00
Bruno Postle
17eaef778a
api.geometry.connect_path: add connection_geometry parameter
...
IfcRelConnectsPathElements has an optional ConnectionGeometry attribute for
recording the geometric cut-plane between adjacent elements, but there was
no way to set it via the API.
Generated with the assistance of an AI coding tool.
2026-03-30 07:30:38 +01:00
Bruno Postle
f46be80193
Add api.structural.assign_product, assign_to_building, and api.geometry.add_topology_representation
...
assign_product creates IfcRelAssignsToProduct linking a structural member to
a physical building element. assign_to_building creates IfcRelServicesBuildings
linking a structural analysis model to a building. add_topology_representation
creates IfcTopologyRepresentation for structural elements, inferring the
representation type from the item class.
Generated with the assistance of an AI coding tool.
2026-03-30 07:28:01 +01:00
Bruno Postle
be05d771a2
api.boundary.edit_attributes: add PhysicalOrVirtualBoundary and InternalOrExternalBoundary params
...
Both attributes are required by the IFC schema but were not settable via
the API function. Add physical_or_virtual and internal_or_external parameters
with "NOTDEFINED" defaults for backward compatibility. Update Bonsai boundary
panel to expose both fields in the editor.
Generated with the assistance of an AI coding tool.
2026-03-30 07:25:22 +01:00
Bruno Postle
c214d255c9
Fix api.boundary.assign_connection_geometry TypeError
...
TypeError: attribute 'DirectionRatios' for entity 'IFC4.IfcDirection' is
expecting value of type 'AGGREGATE OF DOUBLE', got 'ndarray'
2026-03-29 22:04:59 +01:00
Bruno Postle
0d8ba71384
Fix typo in api.boundary.assign_connection_geometry
2026-03-29 21:46:29 +01:00
Bruno Postle
1c26ee86c9
ifcquery/ifcedit: enable shell scripting by composing query and edit commands
...
Add --format ids to ifcquery to output step IDs suitable for piping into
ifcedit parameters. Add ifcedit foreach to apply an operation to every
element in a query result. Extend clash and relations output so --format ids
extracts all involved element IDs, enabling one-liners like clash detection
piped directly into render.
Generated with the assistance of an AI coding tool.
2026-03-29 15:17:22 +01:00
dependabot[bot]
0ed96d32dd
Bump picomatch from 4.0.2 to 4.0.4 in /src/ifctester/webapp
...
Bumps [picomatch](https://github.com/micromatch/picomatch ) from 4.0.2 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases )
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md )
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.2...4.0.4 )
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 4.0.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-28 16:53:31 +11:00
dependabot[bot]
f96526195d
Bump actions/deploy-pages from 4 to 5
...
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages ) from 4 to 5.
- [Release notes](https://github.com/actions/deploy-pages/releases )
- [Commits](https://github.com/actions/deploy-pages/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/deploy-pages
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-28 16:53:12 +11:00
dependabot[bot]
fd29481d65
Bump hendrikmuhs/ccache-action from 1.2.21 to 1.2.22
...
Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action ) from 1.2.21 to 1.2.22.
- [Release notes](https://github.com/hendrikmuhs/ccache-action/releases )
- [Commits](https://github.com/hendrikmuhs/ccache-action/compare/v1.2.21...v1.2.22 )
---
updated-dependencies:
- dependency-name: hendrikmuhs/ccache-action
dependency-version: 1.2.22
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-28 16:53:03 +11:00
dependabot[bot]
24b48497f0
Bump actions/configure-pages from 5 to 6
...
Bumps [actions/configure-pages](https://github.com/actions/configure-pages ) from 5 to 6.
- [Release notes](https://github.com/actions/configure-pages/releases )
- [Commits](https://github.com/actions/configure-pages/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/configure-pages
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-28 16:52:57 +11:00
dependabot[bot]
2b9822f141
Bump mamba-org/setup-micromamba from 2 to 3
...
Bumps [mamba-org/setup-micromamba](https://github.com/mamba-org/setup-micromamba ) from 2 to 3.
- [Release notes](https://github.com/mamba-org/setup-micromamba/releases )
- [Commits](https://github.com/mamba-org/setup-micromamba/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: mamba-org/setup-micromamba
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-28 16:52:52 +11:00
dependabot[bot]
3d4db13fc1
Bump ruff from 0.15.7 to 0.15.8
...
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.15.7 to 0.15.8.
- [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.7...0.15.8 )
---
updated-dependencies:
- dependency-name: ruff
dependency-version: 0.15.8
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-28 16:52:46 +11:00
Bruno Perdigão
31b571322b
Snap: improve handling with objects that are partially behind the camera.
2026-03-27 15:05:02 -03:00
Bruno Perdigão
cef5d41b54
Snap - Improves logic from previous commit.
...
Previous commit: Snap - Refactor x-ray mode handling
to prevent double raycasting
2026-03-27 15:05:02 -03:00
Bruno Perdigão
d7b2358d58
Snap - Refactor x-ray mode handling to prevent double raycasting
2026-03-27 15:05:02 -03:00
Bruno Perdigão
cafe5aa7f7
Rename variable - small refactor
2026-03-27 15:05:01 -03:00
Bruno Perdigão
de34e73451
Remove unnecessary comments.
2026-03-27 15:05:01 -03:00
Bruno Perdigão
5721a8b602
Snap: improve performance of wireframe objects intersection.
...
Enhances the performance of mouse intersection checks for wireframe objects.
Details:
- Calculated the intersection with the mouse in 2D pixels first.
- Converted objects to a BVH Tree to reduce the number of edges checked against the mouse position.
2026-03-27 15:04:48 -03:00
Bruno Postle
f820214500
ifcmcp: fail early with clear message when mcp package is not installed
...
mcp is an optional dependency so that the embedded API (embedded.py) can
be used from Pyodide without pulling in pydantic-core and the rest of the
MCP protocol stack, which may not be available in all WASM environments.
2026-03-27 08:44:52 +00:00
Bruno Postle
dae913e06a
ifcmcp: sse,streamable-http transports and --help
2026-03-26 07:02:50 +00:00
Dion Moult
1a849395c2
Typo crashing edit tools panel when non-wall with wall selected
...
Fix #7034
bpy.ops.bim.extend_to_underside doesn't exist - the correct operator
name is bim.extend_walls_to_underside. The AttributeError killed the
entire panel draw, hiding mirror, align, aggregation, and QTO buttons.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-26 13:38:05 +11:00
Dion Moult
611273a20a
Fix add_georeferencing silently failing with orphan CRS or conversion
...
If a file had an IfcProjectedCRS without an IfcCoordinateOperation (or
vice versa), add_georeferencing would return early without creating the
missing entity. This caused edit_georeferencing to crash with IndexError.
Now detects the inconsistent state, cleans up, and recreates both.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 15:00:32 +11:00
Bruno Postle
db68195310
Add ifcmcp: MCP server for IFC model querying and editing ( #7847 )
...
ifcmcp is a new Model Context Protocol server that wraps ifcquery and ifcedit, holding an IFC model in memory across tool calls. It is the preferred way to interact with IFC models from AI assistants and MCP-compatible clients.
Setup:
claude mcp add --transport stdio ifc -- python3 -m ifcmcp
Session tools: ifc_load, ifc_save
Query tools: ifc_summary, ifc_tree, ifc_info, ifc_select, ifc_relations, ifc_clash, ifc_validate, ifc_schedule, ifc_cost, ifc_schema, ifc_contexts, ifc_materials, ifc_plot, ifc_render, ifc_shape, ifc_shape_list, ifc_shape_docs
Edit discovery: ifc_list, ifc_docs
Edit execution: ifc_edit, ifc_quantify
The model stays in memory between calls - ifc_edit does not auto-save; call ifc_save explicitly when done.
Depends on both ifcquery and ifcedit
Generated with the assistance of an AI coding tool.
2026-03-23 23:54:17 +00:00
Bruno Postle
29079e8cba
ifcquery README: add contexts, materials, plot, render subcommands ( #7848 )
2026-03-23 23:51:33 +00:00
Bruno Postle
6bf4259298
Add ifcedit: CLI wrapper for ifcopenshell.api mutation functions ( #7846 )
...
ifcedit is a new command-line tool for executing ifcopenshell.api mutations from the shell. It wraps the entire API surface — any function callable via ifcopenshell.api can be invoked without writing Python.
Subcommands:
list [module] — list all API modules, or functions within a module
docs <module.function> — full documentation (params, types, descriptions)
run <file> <module.function> [--param value ...] — execute a mutation; overwrites input file by default, or use -o <output> to write elsewhere; --dry-run validates without executing
quantify list — list available QTO rules
quantify run <file> <rule> — run quantity take-off, writing IfcElementQuantity psets back to the file
Parameter coercion: entity references can be passed as step IDs (strings); lists, dicts, booleans, and None are handled automatically.
Usage:
python3 -m ifcedit run model.ifc root.remove_product --product 42
python3 -m ifcedit docs geometry.edit_object_placement
Generated with the assistance of an AI coding tool.
2026-03-23 23:45:42 +00:00
Bruno Postle
7cd40bf8cb
Add ifcquery CLI tool for IFC model interrogation ( #7845 )
...
ifcquery is a new command-line tool for querying and inspecting IFC models. All output is JSON.
Subcommands:
summary — schema version, entity counts, project metadata
tree — full spatial hierarchy (Project → Site → Building → Storeys → Spaces → Elements)
info <id> — deep inspection of any entity by step ID (attributes, psets, placement matrix, type, material)
select <query> — filter elements using ifcopenshell selector syntax
relations <id> — relationships for an element; --traverse up walks to IfcProject
clash <id> — geometric intersection and clearance detection
validate — schema/constraint validation; --rules adds EXPRESS checks
schedule — work schedules with nested task trees
cost — cost schedules with nested cost item trees
schema <class> — IFC class documentation from the model's schema version
plot — SVG plan drawing
render — 3D geometry rendering
contexts — geometric representation contexts
materials — material assignments
Usage:
python3 -m ifcquery <file.ifc> <subcommand> [args]
Generated with the assistance of an AI coding tool.
2026-03-23 23:29:32 +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