Andrej730
365393aa07
Fix #6209 after 67bac44
2025-02-24 14:01:24 +05:00
Thomas Krijnen
9289e1d0cc
Try catch to keep the people happy #6176
2025-02-23 15:50:31 +01:00
Thomas Krijnen
c30b5cbc08
Add std::array typemap #6137 #6191 #6196
2025-02-23 15:22:36 +01:00
Thomas Krijnen
9736345d79
Test case #6173
2025-02-23 14:46:31 +01:00
Thomas Krijnen
5599e52184
Option to retain original edges in cgal for non-boolean non-face-with-voids inputs #6173
2025-02-23 14:46:10 +01:00
Thomas Krijnen
ce26af5a7e
Use ProfileType in mapping #6175
2025-02-23 11:01:17 +01:00
Dion Moult
973c9e2ec9
See #1227 . Implement axis updating for new wall join code.
2025-02-23 18:59:17 +11:00
Dion Moult
29a890662e
See #6201 . Another typing regression fix.
2025-02-23 18:30:58 +11:00
Dion Moult
b42c3ba8c2
See #1227 . Wall layer test script now supports atstart/atend combo test cases and materials.
2025-02-23 17:28:14 +11:00
Dion Moult
a7509dbe29
See #1227 . Experimental support for 3D layerset slicing.
2025-02-23 17:27:32 +11:00
Dion Moult
23158b1b7e
Fix #6201 . Regression in creating drawings due to typing in 67bac441ad
2025-02-23 12:02:50 +11:00
Richard Brice
8c16f394c1
Updates alignment api
...
Fixes mapping of vertical alignment parabola business logic to geometry. Adds creation function of h and v alignment. Adds stationing referent at start of alignment. Fixes utility functions
2025-02-22 16:16:59 -08:00
Richard Brice
12f8a1f769
Adds utility to stringize station values
2025-02-22 16:15:00 -08:00
Richard Brice
7ffd2742d6
Fixes bug mapping geometry for IfcSectionedSolidHorizontal that was introduced in 26ba761
2025-02-22 16:11:10 -08:00
Richard Brice
6429fe34ed
Implements IfcHierarchyHelper.addRelatedObject for IfcRelDefinesByType
2025-02-22 16:11:06 -08:00
Jonas Frei
d38f56e82d
fix: bug in initialization of gltf serialiser fixed
2025-02-22 15:31:45 +01:00
Dion Moult
c549dea943
See #1227 . Test script for priority-aware wall layer joins.
2025-02-22 20:01:17 +11:00
Andrej730
894c05e138
Fix old typo in 686f4a0
2025-02-21 18:45:23 +05:00
Andrej730
92c2fc0b7f
Fix errors regarding added PredefinedType to IfcAnnotations in IFC4X3 #6200
...
In IFC4X3 IfcAnnotation now has PredefinedType and checking ObjectType isn't enough.
2025-02-21 18:45:23 +05:00
Andrej730
ee2fa739bb
remove_deep2 - fix traversing same element twice
...
(I hope I don't miss anything, no tests seem to fail and performance is increased significantly) but because `subelement_queue` initiated with the `traverse` all `element`'s subelements will be traversed inside `while` loop twice - once as a part of initial queue and another time when `element` is traversed inside the loop and all those elements added to the queue again.
Now we just initiate the `queue` with the `element` and it will be traversed inside the loop like any other element.
2025-02-21 18:45:12 +05:00
Andrej730
f7efbe5924
remove_representation - optimizations
...
1) `do_not_delete` performs best when it's set
2) also_consider when `element` related elements go first, so there will be no need to traverse all other elements to see if they cover `element`'s inverses.
2025-02-21 18:45:11 +05:00
Andrej730
6e20ee9fea
remove_deep2 - also_considered_inverses optimization
...
1) replaced walk with traverse(max_levels=1)
2) early return if there total_inverses == 0
3) early return if also_considered_inverses is enough to cover total_inverses
2025-02-21 18:45:11 +05:00
Andrej730
e6d3396630
typing
2025-02-21 18:45:11 +05:00
Andrej730
cf1647a451
Fix bugs in 17642ca4e9
2025-02-21 17:31:33 +05:00
Andrej730
69535c53e0
Fix typo in 4bb32b252d #6199
...
ahh
2025-02-21 17:31:33 +05:00
Bruno Perdigão
fed8c21625
Polyline tool - Improves the preview fix for #6083 by avoiding overlapping edges.
2025-02-20 22:52:42 -03:00
Bruno Perdigão
0f92c2d26b
Fix #6161
...
Error - cannot access local variable 'snap_point'
2025-02-20 22:21:44 -03:00
Bruno Perdigão
c11060b46a
Fix #6185 issue when trying to create a slab with only two points.
2025-02-20 21:13:39 -03:00
Bruno Perdigão
9f0d408e79
See #6190 . Polyline tool support for XZ and YZ planes for profiles.
2025-02-20 18:46:23 -03:00
Bruno Perdigão
d37baa4e0c
Fix calculation for polyline tool when working with X, Y and Z.
2025-02-20 18:22:10 -03:00
Bruno Perdigão
ae4f125371
Fix auto-angle snapping in polyline tools.
...
When locked to a plane, the mouse will be loosely locked to and angle
that is divided by 15 degrees. This was not working properly for "XZ"
and "YZ" planes.
2025-02-20 18:22:10 -03:00
Andrej730
25d8fff5fd
remove_representation - small optimizations
...
check schema version instead of accessing attribute directly (hasattr under the hood is just doing getattr and checking whether it returns AttributeError), so one less IFC access
Similar thing with element.Item to access IFC just once.
2025-02-20 19:12:24 +05:00
Andrej730
331f491d50
typing
2025-02-20 19:12:24 +05:00
Dion Moult
b19ece18c6
Fix minor regression in linking models due to new tool call.
2025-02-20 23:21:59 +11:00
Andrej730
abddc739fe
Fix UI for 4bb32b252d
2025-02-20 17:19:31 +05:00
Andrej730
174f909137
Fix #6192
2025-02-20 17:01:12 +05:00
Andrej730
a826115803
Project Library UI - allow expanding libraries hierarchy even if there are no assets yet
2025-02-20 14:33:00 +05:00
Andrej730
79abbad796
Project Library UI - fix library asset count not considering assets from sublibraries
...
As a result if all elements were assigned to sublibrary, it was showing that library itself has 0 assets and wasn't allowing to expand to see the sublibraries.
2025-02-20 14:33:00 +05:00
Andrej730
04a20b5c80
small fix for 4bb32b252d
2025-02-20 14:33:00 +05:00
Dion Moult
f4d101788d
Fix insane bug when replacing element that looped through every single element.
2025-02-20 19:18:35 +11:00
Andrej730
4bb32b252d
IFC Delete - add logs to system console
...
In some cases deletion can take ages, so there should be at least some way for user to find out how it's going.
2025-02-19 18:31:30 +05:00
Andrej730
8b92b28dfc
should_clean_mesh - add description
2025-02-19 18:31:09 +05:00
Andrej730
43cc7a0304
Replace direct access to IfcStore with tool.Ifc
2025-02-19 18:31:07 +05:00
Andrej730
67bac441ad
typing
2025-02-19 18:31:06 +05:00
Andrej730
6c511f6b1b
Project library UI - fix missing elements added to parent libraries
...
Previously if there was library A and it had sublibrary B and then some element were directly assigned to library A, UI still wouldn't show this element and would show only elements assigned to the B, the last library in the hierarchy
2025-02-19 17:53:59 +05:00
Dion Moult
deb0a46acb
Fix #6186 . Don't hide filter UI if there are no results.
2025-02-19 17:52:34 +11:00
Dion Moult
ee0599e263
Fix #6136 . Allow setting of custom tmp dir, useful for packaged envs like flatpak
2025-02-19 17:44:48 +11:00
Dion Moult
a8efd53d6b
Fix #6182 . For convenience, precalculate scale value for projected CRS map unit map conversion
2025-02-19 16:41:20 +11:00
Dion Moult
02f0c92a41
Fix bug where updating the null value on an enum property would lead to infinite recursion
2025-02-19 16:39:24 +11:00
Bruno Perdigão
f11e09c7d8
See #6121 . Area measurement tool now uses IFC area unit.
2025-02-18 19:37:22 -03:00
Richard Brice
bb1e00e474
Fixes problems mapping vertical alignment segments business logic to geometry
2025-02-18 12:43:11 -08:00
Andrej730
4efb79e472
fix missing get_spline_points in add_representation
2025-02-18 18:50:35 +05:00
Andrej730
527e0f3dbf
set_element_value - fix error for Python 3.9
...
types.EllipsisType was added only in 3.10
2025-02-18 18:50:35 +05:00
Andrej730
8ea3142451
Fix errors removing layers/constituents after eeac0a2
2025-02-18 18:50:35 +05:00
Andrej730
a68cb74699
ifcopenshell.alignment - fix error in Python 3.9
...
match statement was added only in Python 3.10
2025-02-18 18:50:35 +05:00
Andrej730
17642ca4e9
typing
2025-02-18 18:50:34 +05:00
Andrej730
83a351b1c7
black .
2025-02-18 18:50:33 +05:00
Dion Moult
37baa7a57b
Fix #5845 . Allow non GRAPH_VIEW reference representations. Apparently it's a thing in the docs.
...
If anybody can explain to me how Reference is meant to be used (the
example in the docs is really ambiguous) please do :)
2025-02-18 20:45:05 +11:00
Dion Moult
7ca2c043b5
Fix #6179 . Allow searching for materials in parametric object UI.
2025-02-18 20:37:50 +11:00
Dion Moult
1e3ddce5c2
Fix #6174 . Accommodate invalid index maps, and also implement an early return for single colours.
...
A single colour index map is a waste but some IFCs have it apparently.
2025-02-18 18:39:22 +11:00
Dion Moult
c79020aeab
See #5888 . Debugging undos is hard, so include the operator name in the event log.
2025-02-18 16:31:36 +11:00
Dion Moult
645298e9d6
See #5888 . Fix crash due to improper modal undo handling. It now considers both FINISH and CANCELLED states.
2025-02-18 16:30:27 +11:00
Dion Moult
ae76d3253d
See #5888 . Fix bug where loading type thumbnails made undo history not synced with Blender.
...
If a tool.Ifc.Operator updates a prop, the prop update function will
only call _after_ the operator finishes (and therefore adds an undo step
to the undo stack). If the prop update function then calls another
tool.Ifc.Operator, that will result in another "top-level" operator
call. This second operator _won't_ get added to Blender's undo history,
yet the Bonsai history / IfcOpenShell history will have another undo
step added. Yikes!
TL;DR don't call tool.Ifc.Operator from a prop update function.
2025-02-18 16:27:53 +11:00
Bruno Perdigão
693f7c5397
Fix #6119
2025-02-17 18:03:25 -03:00
Bruno Perdigão
a8960957c0
Fix #6083
2025-02-17 17:09:13 -03:00
Bruno Perdigão
c609aea1de
Black .
2025-02-17 16:46:58 -03:00
Bruno Perdigão
247bff4075
Polyline tool initial support for custom transformations.
...
Still early development. Only works for XY plane.
https://imgur.com/a/qW8gMFW
2025-02-17 16:46:58 -03:00
Bruno Perdigão
5a3a032fe6
Snap - modify intersection plane origin to be related to the view location.
2025-02-17 16:46:58 -03:00
Andrej730
5d8c2f2ec2
deprecate test-safe #5192
2025-02-17 17:58:45 +05:00
Andrej730
93ee92c401
Profiles, Materials UI - indicate in UI currently edited element
2025-02-17 17:58:45 +05:00
Andrej730
8c2d71b306
Rename library references from UI
...
Example - https://imgur.com/a/Ez99d1N
2025-02-17 17:58:45 +05:00
Andrej730
8f1446bfa4
Library UI - rename assets and libraries from UI
...
Example - https://imgur.com/a/0kcQrb2
2025-02-17 17:58:45 +05:00
Andrej730
32608ff194
py -m ifcopenshell.validate to use argparse
...
So command would fail if no arguments provided and there would hints on how to use it.
2025-02-17 17:58:45 +05:00
Andrej730
b0fbea60ae
typing
2025-02-17 17:58:44 +05:00
Dion Moult
8f261be338
See #5839 . More accurately consider the relating product definition when checking for shape aspects.
2025-02-16 17:08:55 +11:00
Dion Moult
42e184c936
Fix #5839 . Appending an asset now also considers shape aspects.
2025-02-16 17:08:34 +11:00
Dion Moult
e0a93626a5
Fix #6038 . Standardardise passing around as_posix() paths
2025-02-16 16:17:18 +11:00
Dion Moult
aaa4be1a94
Fix #5691 . UI tweak to show less colour, more text for usability.
2025-02-16 15:54:28 +11:00
Dion Moult
9f453d54d8
Piles should also default to vertical, just like columns
2025-02-16 15:43:03 +11:00
Dion Moult
b226a79ee8
See #5888 . Fix bug where polyline tools weren't part of the undo system.
2025-02-16 11:48:51 +11:00
Dion Moult
774a770c48
Purge usage of mathutils in grid API functions
...
The only thing left is add_representation which is Blender specific
anyway and is slowly being refactored out.
2025-02-16 08:20:59 +11:00
Dion Moult
aff90e89f7
Don't burn CPU cycles for updating parametric windows
2025-02-16 07:47:03 +11:00
Dion Moult
aad4dad9a7
Migrate documentation for IfcTester and make optional deps mandatory in PyPI
...
I don't like this, but PyPI makes it really, really hard to "discover"
optional deps and what they're used for. So it's just easier to make it
a mandatory dependency and advanced users can always strip it out. This
stops user reports about "it doesn't work out of the box I only did pip
install ifctester"
2025-02-16 07:46:22 +11:00
Dion Moult
6ac6f13018
Fix #5824 . Prioritise 3D over 2D. Only then consider subcontexts.
...
It's unexpected in our 3D default viewing world to have 2D first over
3D.
2025-02-15 19:03:52 +11:00
Dion Moult
d23cfcb2cf
Fix #2981 . Standard case windows can now have different materials and implement shape aspects.
2025-02-15 18:31:25 +11:00
Dion Moult
71668fbaf1
Only switch representation once when creating a door
...
Previously it would switch representation (and sync changes) every
single time a new representation was created (in the
replace_obj_ifc_representation function). I think this is misplaced
responsibility. The function should change the representation, but not
be responsible for switching.
2025-02-15 18:29:13 +11:00
Dion Moult
81b7f3dc30
New API function to set shape aspect constituents
2025-02-15 18:26:13 +11:00
Dion Moult
a0fa861b92
Shape builder can now created triangulated face sets
2025-02-15 16:10:12 +11:00
Dion Moult
a63c8e1d70
Don't burn CPU cycles recalculating the door every draw call in parametric door interface
2025-02-15 16:09:26 +11:00
Andrej730
3e1d1bf7fa
Library UI - tree view
...
Example of tree view with libraries hierarchy - https://imgur.com/a/zPuaoPv
Example of library assignment in non-tree view - https://imgur.com/a/9kZFblj
2025-02-14 17:51:47 +05:00
Andrej730
20e1fc2618
Fix bug in get_container not passing specified ifc_class to the parent #6155
2025-02-14 17:49:51 +05:00
Andrej730
1014487d82
black .
2025-02-14 17:49:47 +05:00
Dion Moult
3832077d0f
Fix recent regression where util.shape.get_vertices returns a read-only array, so you can't edit in place (e.g. for offsets)
2025-02-14 13:06:09 +11:00
Bruno Perdigão
768bf17b05
Small fix in snap.
2025-02-13 18:26:44 -03:00
Bruno Perdigão
fb4ad5290f
Fix mix_snap_and_axis() to ignore intersection too close from polyline.
...
Follows 5fe87bf5aa
2025-02-13 17:20:10 -03:00
Bruno Perdigão
f20bdd0ab6
Fix issue where detected snap vector where being changed by other function.
...
It was probably a reference issue. Copying the vectors solved the issue.
2025-02-13 16:49:37 -03:00
Bruno Perdigão
5fe87bf5aa
Modify mix_snap_and_axis() to select the snapping point closest to the last point.
2025-02-13 14:51:40 -03:00
Bruno Perdigão
c23a20df84
Small fix
2025-02-13 14:51:40 -03:00
Bruno Perdigão
b87cd33b12
Polyline tool a snapping system small refactor.
2025-02-13 14:51:40 -03:00
Bruno Perdigão
8acd5321b0
Fix polyline tool angle lock when using XZ and YZ plane
2025-02-13 14:51:39 -03:00
Bruno Perdigão
1165ef3f33
More refactor of the snapping system, after 7e239ac511e991fd8ccf32add878024d921db38b
2025-02-13 14:51:39 -03:00
Bruno Perdigão
2b7108a1d8
Refactor snapping points data structure.
2025-02-13 14:51:39 -03:00
Bruno Perdigão
33d9e050ec
Fix #6123
2025-02-13 14:51:39 -03:00
Andrej730
b88fd964bc
bim.refresh_library - add missing undo flag
...
It's unsafe in Blender to leave operators that edit blend data without undo flag.
2025-02-13 18:55:44 +05:00
Andrej730
0b32c89c26
use_smooth - use correct buffer length
...
apparently it wasn't creating any issues but still creating larger buffer than necessary
2025-02-13 18:55:44 +05:00
Andrej730
9db1783062
more numpy arrays to match expected buffer type
2025-02-13 18:55:44 +05:00
Dion Moult
2d54a48f8e
Add option for door glazing material
2025-02-13 19:18:17 +11:00
Dion Moult
39a30f2577
Redesign profile edit interface to be consistent like all other list+edit button interfaces
...
I kept on clicking the wrong thing
2025-02-13 19:18:02 +11:00
Dion Moult
1e946fd98e
Fix three small but significant typos in previous fixes.
...
BTW @andrej730 that optimisation is awesome. Here's a timeit:
import bpy
import numpy as np
import timeit
obj = bpy.context.active_object
verts = obj.data.vertices
def foreach_get_method():
coords = np.empty(len(verts) * 3, dtype=np.float32)
obj.data.vertices.foreach_get("co", coords)
coords = coords.reshape(-1, 3)
coords = coords.astype("d")
coords /= 10
return coords
def list_comprehension_method():
coords = [v.co / 10 for v in verts]
return coords
# Number of times each function will be executed
num_runs = 10000
t_listcomp = timeit.timeit(list_comprehension_method, number=num_runs)
t_foreach = timeit.timeit(foreach_get_method, number=num_runs)
print("foreach method: {:.6f} seconds over {} runs".format(t_foreach,
num_runs))
print("List comprehension method: {:.6f} seconds over {}
runs".format(t_listcomp, num_runs))
# foreach method: 0.088656 seconds over 10000 runs
# List comprehension method: 0.644446 seconds over 10000 runs
2025-02-13 13:07:29 +11:00
Richard Brice
79046e2970
Compute horizontal project of vertical spiral curve
2025-02-12 16:47:51 -08:00
Dion Moult
f6c6cc9a1b
Fix #6131 . Fix bug where you could potentially create an invalid composite profile with no profiles.
2025-02-13 07:35:58 +11:00
Dion Moult
af03953ef7
Apparently you couldn't edit composite profile defs. Now you can.
2025-02-13 07:35:58 +11:00
Thomas Krijnen
cdcbc2ad3b
Fix 2d boolean check for periodic curves #6147
2025-02-12 16:08:32 +01:00
Andrej730
ba2456ad36
Move common code to create_mesh_from_shape
2025-02-12 18:39:27 +05:00
Andrej730
299b5bcf6b
Optimize loading meshes using numpy arrays
...
1) avoid calling geometry.xxx multiple times as each time it creates a new copy
2) use numpy arrays with correct data type, so Blender could perform buffer copy significantly reducing overhead
2025-02-12 18:39:27 +05:00
Andrej730
cb95539cb0
reuse get_cartesian_point_offset
2025-02-12 18:39:27 +05:00
Andrej730
7b78ebc0f3
Fix possible float precision issues similar to f6087613f0
2025-02-12 18:39:27 +05:00
Andrej730
f39e6ccb54
typing
2025-02-12 18:39:27 +05:00
Dion Moult
3e1710c6fc
Fix bug where duplicating a curve (which would result in a new curve) didn't go in the same collection nor was linked to the right item due to a typo
2025-02-12 23:53:54 +11:00
Thomas Krijnen
fac5104bd8
Take into account edge orientation also for polygonal edges #6113
2025-02-12 10:57:30 +01:00
Thomas Krijnen
51c4059771
20.04 is closing down
2025-02-12 10:31:14 +01:00
Dion Moult
f24de9d384
Fix bug where you couldn't add a meshlike object in a boolean hierarchy
2025-02-12 15:36:57 +11:00
Dion Moult
1e08a71c5a
Fix bug where disabling item mode didn't also quit from the boolean editing mode
...
These two modes should be tied together.
2025-02-12 15:31:56 +11:00
Dion Moult
24b4be3ea1
Fix bug where item positions weren't synced before changing numeric attributes
2025-02-12 08:40:21 +11:00
Dion Moult
d2420c2e45
Revert "Hotfix for PyPI < python 3.11". Release made.
...
This reverts commit d093d80698 .
2025-02-12 08:03:36 +11:00
Dion Moult
d093d80698
Hotfix for PyPI < python 3.11
2025-02-12 07:53:20 +11:00
Bruno Perdigão
aef972a518
Enable snapping of overlapped objects when viewport is in x-ray mode.
2025-02-11 12:31:24 -03:00
Bruno Perdigão
06c6fa5dff
Fix #6064
...
Slabs offset are now measured perpendicularly.
2025-02-11 10:33:29 -03:00
Andrej730
f6087613f0
add_representation - use numpy arrays for calculations that include model offset
2025-02-11 18:14:45 +05:00
Andrej730
45e36590eb
Add paste buffer to outliner context menu #6139
2025-02-11 18:14:45 +05:00
Andrej730
7f37acfd38
Fix typo
2025-02-11 18:14:44 +05:00
Andrej730
de2329c352
bim.override_paste_buffer - add description
2025-02-11 18:14:44 +05:00
Andrej730
09abf0c7ab
bim.override_paste_buffer - fix issue when ctrl-v might unlink currently selected ifc elements
2025-02-11 18:14:44 +05:00
Andrej730
77c2e626b3
Add info message on paste
...
Original Blender `view3d.pastebuffer` had an info missing and it wasn't displayed in UI since it's coming from suboperator. New info message also mentions that objects were unlinked from IFC
2025-02-11 18:14:44 +05:00
Andrej730
9ea6a1fc75
typing
2025-02-11 18:14:44 +05:00
Andrej730
5b7964f04c
black .
2025-02-11 18:14:44 +05:00
Andrej730
57d7d83ebb
Fix Python <3.10 support #6141
2025-02-11 16:50:07 +05:00
tim
2f4c3de92d
New icons
...
add_from_closed_loop and add_from_perimeter
2025-02-11 21:32:03 +11:00
tim
136270b566
IFC icon in Scene dropdown
...
custom white mode support for IFC icon in scene drop down menu
2025-02-11 21:31:15 +11:00
tim
557a5f03d2
Icon mode for Open-Recent-IFC-Project
...
Added UIData class with function for storing icon color mode. Open Recent IFC Project icons now supports blender dark, blender light, and custom "white" themes
2025-02-11 21:31:15 +11:00
tim
4e1ff8ea6a
Icon mode for IFC Modes
...
Added UIData class with function for storing icon color mode. IFC Mode dropdown now supports blender dark, blender light, and custom "white" themes
2025-02-11 21:31:15 +11:00
tim
08680d8726
Geographic Element Tool Icon
...
My tree was missing
2025-02-11 21:31:15 +11:00
Dion Moult
53cf1ee0a1
Fix UI bug where changing the profile name didn't result in the UI being refreshed
2025-02-11 20:03:50 +11:00
Dion Moult
ddf7d1b0b9
Change default behaviour of remove_representation not to remove named profiles
...
I guess this is a Bonsaism but it makes sense as named profiles are
significant, and it isn't the first time materials and profiles have
been treated as "rooted" in a sense. It's also annoying to keep on
having my profile library drop off when I'm just switching profiles.
2025-02-11 20:01:19 +11:00
Dion Moult
eeac0a2e30
Fix bug where removing material set items weren't consistent in how they purged materials and profiles
...
Previously remove_profile would purge unused materials and profiles, but
remove_layer and remove_constituent wouldn't. This was as subtle
inconsitency. Now everything by default consistently retains materials
and profiles, and has options to change this default.
2025-02-11 20:00:17 +11:00
Dion Moult
1f83b4f7a0
Fix bug where non-columns would still behave like columns if they were profiled which is unintuitive
...
On second thoughts only columns should go up, everything else should go
wherever you click to. Not really a bug, just an unexpected default.
2025-02-11 18:54:45 +11:00
Dion Moult
ada8cc90ef
Very minor docs rst syntax fix
2025-02-11 18:53:32 +11:00
Andrej730
21562d7e7d
Add distinguishable name for arrays constraints
2025-02-11 12:06:40 +05:00
Andrej730
77f9dbf4f0
small fix for 4c0a7e1ca9
...
mentioned in #6129
2025-02-10 19:11:13 +05:00
Andrej730
875dd37579
Save Blender preferences on Blender Restart #6095
2025-02-10 17:41:28 +05:00
Andrej730
e1c49ad317
Fix error adding transom to parametric door #6129
2025-02-10 16:47:14 +05:00
Andrej730
8e9d4be55d
Improve error logs for failing profiles #6131
2025-02-10 16:47:14 +05:00
Andrej730
65d65972ac
Fix occurrence name function prop missing after ce8bdff
2025-02-10 16:47:14 +05:00
Andrej730
b2d66bbb89
Fix bug where selecting element / element type without representation wasn't updating bim tools active type
2025-02-10 16:47:13 +05:00
Andrej730
d8a250f153
Update Annotation Tool types when selecting elements #6134
...
Similar to other BIM Tools
Update handler.py
2025-02-10 16:47:13 +05:00
Andrej730
4c0a7e1ca9
typing
2025-02-10 16:47:13 +05:00
Dion Moult
11c6b55f7c
Revise the modern COBie 2.4 implementation to also allow PointOfContact/WarrantyPeriod
...
Legacy COBie 2.4 allowed this but not sure why it dropped off.
2025-02-10 17:26:51 +11:00
Dion Moult
1d2214efd9
Fix IfcOpenShell-Python on Python 3.10
...
Elipsis is not allowed for generic typing
2025-02-10 17:26:03 +11:00
Dion Moult
cb027c80f9
Fix dev install script - brick schema directory changed
2025-02-10 10:50:25 +11:00
Dion Moult
44c7c6d14e
Bump to 0.8.2
2025-02-09 16:45:44 +11:00
Dion Moult
3e7f244100
Drop Windows 32bit support for this release as it isn't built. We can restore it in the future if needed.
2025-02-09 14:59:15 +11:00
Dion Moult
da1c92c42b
Bump IOS
...
Previous one didn't have the full matrix, so we can't release with it
2025-02-09 14:53:32 +11:00
Dion Moult
17682498da
Minor UI cleanup for reorganised visibility buttons
2025-02-09 14:53:09 +11:00
Dion Moult
5db6738ac2
Test to see if this has any impact on reloading the add-on.
2025-02-08 19:27:34 +11:00
Dion Moult
eabdb5d281
Consolidate selection and visibility tools in the spatial manager into a single location with a single function for filtering
...
There were a number of inconsistencies between the modes and how keyword
filtering affected results. This should resolve it.
2025-02-08 16:38:29 +11:00
Andrej730
59dd105e99
fix get_applicable_entities / get_applicable_types missing schema #6108
2025-02-08 07:54:49 +11:00
Andrej730
a28070afef
Hide Edit Profile for material sets without profiles #6103
2025-02-08 07:54:49 +11:00
Andrej730
689e2718e5
Fix conversion to profile for breps #6103
2025-02-08 07:54:49 +11:00
Andrej730
a2ab3972c8
bim.update_representation - add note about about material unassignment
2025-02-08 07:54:49 +11:00
Andrej730
667223da8e
typing
2025-02-08 07:54:49 +11:00
tim
1e58a517a0
Dark mode extend icon ( #6112 )
...
dm_extend.png icon was missing
Co-authored-by: tim <tjrhyder@gmail.com >
2025-02-08 07:51:33 +11:00
Dion Moult
fcee54c572
Fix regression when removing an active representation.
...
Some tests removed since they no longer make sense with the new item
editing mode.
2025-02-08 00:21:38 +11:00
Dion Moult
889a9e3891
Tweak failing test to now allow assigning elements to scaled multi-user objects
...
Previously this was not allowed, but I don't see why not
2025-02-08 00:20:25 +11:00
Dion Moult
7bc1992963
Fix regression where adding a new occurrence should not change your active context back to body if you've switched it.
2025-02-07 23:52:55 +11:00
Dion Moult
49c3a55456
Fix failing pset_template tests. Regression in 5bd24b276 for editing pset template properties.
2025-02-07 23:33:33 +11:00
Dion Moult
f11d79f8c1
Fix cost and drawing feature tests
2025-02-07 22:40:17 +11:00
Dion Moult
2cc4f96b7f
Fix failing project feature tests. Fix regression where appending an asset might append a named style twice.
2025-02-07 22:02:44 +11:00
Dion Moult
bb46a1659d
Fix light and georeference feature tests
...
Not setting the year meant our date calc tests would fail every year :)
2025-02-07 17:19:27 +11:00
Dion Moult
f09002c7e2
Fix regression in caeabe2 where actor data didn't load.
2025-02-07 16:58:45 +11:00
Dion Moult
9f75a14204
Update issue templates
2025-02-07 13:31:59 +11:00
Dion Moult
c40d21d945
Fix #6106 . True north must always be 2D.
2025-02-07 13:19:33 +11:00
Dion Moult
0d3245102f
Fix remaining failing tool tests
2025-02-07 13:12:02 +11:00
Dion Moult
3aa4fa580b
Fix regression where you couldn't upgrade schema of IFCs with invalid headers
2025-02-07 12:38:52 +11:00
Dion Moult
4c255cca43
Fix failing model tests and regression 0899a2a8 where switching geometry can invalidate old meshes
...
The fix in 0899a2a8 ensured that when you switched geometry, all other
elements (sharing the same type or representation) would also switch
alongside it. However it would lead to mesh invalidation which broke
some assumptions in the style code. The style code also repeated a lot
of the logic of switch representation (i.e. finding shared
representations) so this seems simpler.
In general the whole representation part of the code is messy and
hopefully over time it'll get better.
2025-02-07 12:35:08 +11:00
Dion Moult
e603ebed04
Fix bug where loading a types ignored style assigned via a material
...
For occurrences, the iterator would populate ios_materials if there is a
material / style associated with it. However, for types we do
create_shape to the representation directly, so we need to do the
material / style check manually.
2025-02-07 12:29:17 +11:00
Andrej730
38e6f09c91
Fix #6096
2025-02-06 18:26:14 +05:00
Andrej730
6473fa4b67
Deprecate workaround for universal wheels
...
Tested on Blender 4.3.2 and universal wheels are now supported without this hack, see https://projects.blender.org/blender/blender/issues/125091
2025-02-06 18:26:14 +05:00
Andrej730
38adaf4d18
Fix running critical tests in ci
2025-02-06 18:26:14 +05:00
Dion Moult
b7fb5c90bc
Continue fixing failing tool tests. Fix regression where UV coordinates might have the wrong order.
2025-02-06 17:22:54 +11:00
Dion Moult
23efb09ba6
Add links to Linux packages
2025-02-06 09:46:59 +11:00
Dion Moult
cf6280b928
Rename BlenderBIM to Bonsai in a few more spots
2025-02-06 09:24:25 +11:00
Andrej730
c16894cabf
Fix bug in 124c028 saving defined unit as defining
2025-02-05 18:27:27 +05:00
Andrej730
5df297c23c
Fix failing facet test after 124c028
2025-02-05 18:27:27 +05:00
Andrej730
b2b3a83463
ci - fix missing ifctester for tests
2025-02-05 18:27:27 +05:00
Andrej730
4b0b0191ba
Test enabling/disabling Bonsai before uploading to unstable repo #6075
2025-02-05 18:27:27 +05:00
Dion Moult
a92306d413
Fix #6097 . Be more defensive against selection state when moving objects into new containers.
2025-02-05 20:28:29 +11:00
Dion Moult
f457ce8270
Fix failing unit/system/geometry tool tests. Fix regression where object scales weren't applied in the new add element approach.
2025-02-05 18:50:37 +11:00
Dion Moult
590c2e120c
Fix failing drawing tool tests. Also consolidate relative paths using tool.Ifc.get_uri.
...
The same issue of handling relative paths, doing as_posix, checking
drives, etc was solved again and again in slightly different ways. This
centralises it.
2025-02-05 17:17:09 +11:00
Dion Moult
13746eb55e
Fix CI job a unique name so it can be used as a requirement for PRs
...
It seems as though the UI only selects by job name and we use the name
"build" everywhere.
2025-02-05 14:28:42 +11:00
Dion Moult
55b9c7d6bf
Fix failing ifcpatch tests
2025-02-05 14:10:41 +11:00
Dion Moult
e86624873b
Fix segfault from editing a IFC2X3 georeferencing pset with a null map unit.
...
Doing createIfcIdentifier(None) segfaults.
2025-02-05 14:10:41 +11:00
Andrej730
ae11f205f3
Fix missing unregister for some tools #6075
...
PileTool, PlateTool, RampFlightTool, StairFlightTool were never unregistered leading to issues on Bonsai update
2025-02-04 17:37:57 +05:00
Andrej730
457f9c6aef
Select pset template for the pset in pset template ui for editing
...
Example - https://imgur.com/a/h46Ewhk
2025-02-04 17:37:56 +05:00
Andrej730
cc88bd4a9d
Fix issue adding project library if other library was already in edit
2025-02-04 17:37:56 +05:00
Andrej730
8f74f4d9f1
Change IfcProjectLibrary's parent library from UI
...
Example - https://imgur.com/a/4PZr0px
It's very clunky and mainly exposed just to be available in some way, it will all make more sense when we display project libraries as trees in project library ui.
2025-02-04 17:37:56 +05:00
Andrej730
56f0c19a85
append_asset to support IfcPresentationLayerAssignment #6023
2025-02-04 17:37:56 +05:00
Andrej730
76747bdf5a
Recent files - dim button for filepaths that do not exist
...
Example - https://i.imgur.com/dwEBtG6.png
2025-02-04 17:37:56 +05:00
Andrej730
a4de196259
space module operators - remove unnecessary ifc operators
2025-02-04 17:37:56 +05:00
Andrej730
049b157c8a
bim.toggle_space_visibility - description
2025-02-04 17:37:56 +05:00
Andrej730
7ec1bc5272
Fix error toggling boundary decorations after one was removed #6088
2025-02-04 17:37:56 +05:00
Andrej730
d4f44cb0a1
typing
2025-02-04 17:37:55 +05:00
Andrej730
ecd7282150
black .
2025-02-04 17:37:55 +05:00
Dion Moult
bd2c3a0ca1
Continue fixing tool tests.
...
Just chipping away at it give me time.
2025-02-04 17:04:29 +11:00
Louis Trümpler
f0f2dda40e
Add assign constituent fractions recipe ( #5979 )
...
* Add AssignConstituentFractions recipe
* license, units & added context description
* removed src, using better unit handling and several other small improvements based on feedback
2025-02-04 14:23:08 +11:00
Dion Moult
0c41f0c32c
Fix #6094 . Fix failing core tests.
2025-02-04 13:36:28 +11:00
Dion Moult
a35ef32ee6
Forgot to commit docs for serialiser settings
2025-02-04 07:35:34 +11:00
Andrej730
00eff23b74
Rename bim_boundary_properties -> BIMBoundaryProperties for consistency
2025-02-03 17:43:01 +05:00
Andrej730
88af3eb1a6
Explicitly enable Bonsai in the second Blender instance #6092
...
To cover cases when Bonsai was enabled in current Blender sesssion and user prefs are not saved.
2025-02-03 17:28:48 +05:00
Andrej730
a48d774337
typing
2025-02-03 17:28:47 +05:00
Andrej730
734cd47ea5
black .
2025-02-03 17:28:47 +05:00
Dion Moult
5159a69225
Fix #6070 . Button was pointing to the wrong function to confirm/cancel editing an extrusion profile.
...
Probably a copy paste mistake during the UI refactor.
2025-02-03 23:07:16 +11:00
Dion Moult
2f2072cf7f
Fix #6080 . Bug where renaming introduced suffixes during bulk reassignment of classes.
2025-02-03 23:00:04 +11:00
Andrej730
8c47f2a72f
Fix issue infinitely adding new ports on bim.show_ports #6074
2025-02-03 16:37:51 +05:00
Andrej730
a6632167be
system module operators - remove unnecessary ifc operator
2025-02-03 16:37:46 +05:00
Andrej730
12d1fd221d
Clean up orphaned curves creating new elevation/section annotations
2025-02-03 13:45:54 +05:00
Andrej730
10642618e5
Fix error entering item mode for elevation/section annotations #6081
2025-02-03 13:45:54 +05:00
Andrej730
be4f6ac222
small fix for 3eaf4367ad
2025-02-03 12:45:05 +05:00
Andrej730
3eaf4367ad
Fix #6082
2025-02-03 12:40:36 +05:00
Andrej730
305b4c27b5
fix a typo
2025-02-03 11:45:41 +05:00
Andrej730
b56f2d7514
black . - ignore simple_spf submodule
2025-02-03 11:43:08 +05:00
Andrej730
cf026dccc2
bump ios build #5987
2025-02-03 11:43:08 +05:00
Dion Moult
c5185aaf54
Fix #6085 . Failing unit test.
2025-02-03 16:33:04 +11:00
Dion Moult
50ed756353
Found out layer names don't exist in IFC2X3 that's incredible
2025-02-03 16:04:56 +11:00
tim
0f0578e1c5
Geographic Element Tool ( #6089 )
...
New icon tool for adding landscape elements
Co-authored-by: tim <tjrhyder@gmail.com >
2025-02-03 15:38:10 +11:00
Herlianto
0d086fda33
delete unused import ( #6093 )
2025-02-03 15:35:55 +11:00
Dion Moult
f3f7510b48
Fix #6087 . (again)
...
I don't know why depress was used. To make it colour in blue?
2025-02-03 12:36:18 +11:00
Thomas Krijnen
b2a4529904
Don't fail on empty build deps cache #6054
2025-02-02 10:00:56 +01:00
Thomas Krijnen
7de50ff0c5
Don't fail on empty build deps cache #6054
2025-02-02 09:46:13 +01:00
Thomas Krijnen
7b0a7e51bb
Try 'Build IfcOpenShell Linux ARM' workflow #6054
2025-02-02 09:35:15 +01:00
Thomas Krijnen
507d13363d
delete obsolete files
2025-02-02 09:21:01 +01:00
Thomas Krijnen
9713b06d75
delete obsolete files
2025-02-02 09:01:24 +01:00
Dion Moult
be6a4de6f0
Fix #6087 . High CPU usage due to function in draw call.
...
I assume this is the problem.
2025-02-02 17:05:56 +11:00
Dion Moult
ea85a4247a
Fix #6079 . Regression in editing space boundaries due to leftover line in commit.
2025-02-01 16:42:06 +11:00
tim
f377d794a0
Unify icon modes to work with default Blender Light theme ( #6078 )
...
Force the color of the icons in the Properties-Scene tab to match Regular Text
Use the icon display mode function to detect where to use dm_ifc.png or lm_ifc.png
Co-authored-by: tim <tjrhyder@gmail.com >
2025-02-01 16:18:48 +11:00
tim
16d077f1cb
Rename dm_IFC.png to dm_ifc.png ( #6076 )
...
renaming to lowercase to match lm_ifc presidents.
2025-02-01 16:18:26 +11:00
Dion Moult
3f62f72f35
See #2981 . First attempt at having the door generator also do shape aspects, material constituents, and styles all simultaneously
2025-02-01 16:15:58 +11:00
Dion Moult
dc79e9e005
More utility functions to jump between representations, styles, and shape aspects
...
It's a bit uncertain where these belong best, we'll find out over time
2025-02-01 16:11:37 +11:00
Dion Moult
d25f57ec40
See #2981 . Adding a door representation now also adds associated shape aspects
...
It doesn't add materials though, that's a separate responsibility right
now
2025-02-01 16:02:57 +11:00
Dion Moult
9f93779ac2
Adding set items can now specify a name at creation for convenience
2025-02-01 16:00:43 +11:00
Dion Moult
8436817408
Update incorrect docs and raise suspicion about how shape aspect styles are assigned
2025-02-01 15:55:34 +11:00
Dion Moult
1a98504328
Fix bug and typo where getting shape aspects for non-geometric types (e.g. walls) would fail
...
This caused an error when updating a style of a material used in a wall
type
2025-02-01 15:54:57 +11:00
Bruno Postle
1680c3135a
Update to latest ifcmerge on Windows
...
Handle missing IfcRelationship - eg. if all sofas are deleted the
IfcRelDefinesByType is deleted too, but we reincarnate as an empty list
so it can be merged.
Sanity check internal graph - If an entity is deleted in one branch but
has a new usage in another branch, merging would break the graph leaving
a dangling reference. ie. now you can't delete types, materials etc..
in one branch while using them for new objects in another and still
expect the merge to succeed.
2025-01-31 15:05:34 +00:00
Dion Moult
79e4ba5b19
New usecase to add shape aspect with tests
2025-02-01 00:46:00 +11:00
Andrej730
d6d1f7714f
black . to ignore ifcconvert's cityjson submodule
2025-01-31 18:21:23 +05:00
Andrej730
68543c7f05
Simplify types used in debug module express methods #6071
2025-01-31 18:21:14 +05:00
Andrej730
135655f8a0
bim.add_pset - remove unnecessary ifc operator
2025-01-31 17:12:32 +05:00
Andrej730
df49356104
Support adding a new IfcProjectLibrary from UI
...
Example - https://imgur.com/a/NUQkvHf
2025-01-31 17:12:31 +05:00
Andrej730
04bcf8e2a9
Fix error switching between libraries
2025-01-31 17:12:31 +05:00
Andrej730
9f17ec5bf5
Support editing project library attributes
...
Example - https://imgur.com/a/MFtLDlh
2025-01-31 17:12:31 +05:00
Andrej730
67aa8f1413
Update project library enum on changing library file
2025-01-31 17:12:31 +05:00
Andrej730
8469d10c85
Project library UI - make filter optional and allow assigning to different libraries
2025-01-31 17:12:31 +05:00
Andrej730
87cbc66c99
typing
2025-01-31 17:12:31 +05:00
Andrej730
c2ae3dcb08
append_asset - extend existing rels matching them by project guid
...
Mentioned in #6039
2025-01-31 17:12:31 +05:00
Andrej730
089f15a5cc
fix a typo
2025-01-31 15:06:37 +05:00
Thomas Krijnen
919df92888
Virtual inheritance configurable at codegen time
2025-01-30 13:12:42 +01:00
Andrej730
553872ced2
append_asset - fix issue appending elements that have as_entity() -> None #6037 #6039
2025-01-30 16:06:19 +05:00
Andrej730
bc33cb6391
append_asset - remove unnecessary partial
2025-01-30 16:06:19 +05:00
Dion Moult
d010d4e1b5
Fix #6067 . Bug where adding a door ignored the Z offset option.
2025-01-30 19:52:33 +11:00
Andrej730
af29f264a8
Show info message when trying to edit presentation layer and project has no layers #6051
...
Instead of the error.
Also fix a bug with update callback was attached to the wrong prop.
2025-01-30 13:42:01 +05:00
Dion Moult
2570864f58
Fix #6066 . Bug where spatial manager didn't toggle visibility correctly for spaces.
...
Previously I was only toggling Blender collections which is an
optimisation for large projects but will result in incorrect behaviour
if things aren't in the collection you think they're in. So for now it's
slower but more correct. We can optimise it later.
2025-01-30 19:17:12 +11:00
Dion Moult
2ad48aba36
Fix bug where download CSV icon would disappear on web interface after refreshing table data
2025-01-30 18:55:05 +11:00
Dion Moult
4e17a2d6de
The shape builder can now create half space solids for convenience
2025-01-30 18:44:38 +11:00
Dion Moult
eaaec4a12d
Fix ridiculous bug where util.element.get_container didn't consider all parents and therefore didn't correctly contain feature elements in the spatial hierarchy
2025-01-30 18:44:27 +11:00
Dion Moult
abec29af7f
Fix attribute tests. Turns out latest pytest-bdd is stricter when parsing feature files and fails when encountering our blank demo tutorial file.
2025-01-30 17:59:13 +11:00
Dion Moult
838e22d27c
Fix #6060 . Updating long name in spatial manager now also edits attribute for convenience.
...
Editing attributes now also refreshes the spatial manager (i.e. vice
versa), and so does bulk attribute copying.
2025-01-30 17:47:29 +11:00
Dion Moult
8f78fe56de
Prevent copying globalids to selected objects as it makes no sense
2025-01-30 17:46:23 +11:00
Andrej730
e435863500
Fix missing pset templates after 5e93097 #6049
2025-01-30 11:30:52 +05:00
Dion Moult
15d43e9166
Fix bug where spatial object may not exist when renaming from the spatial tree (e.g. partial loads), and also refresh UI (to see updated attributes)
2025-01-30 17:07:57 +11:00
Dion Moult
1768026891
Fix #5854 . Update docs with new IOS v0.8 settings.
2025-01-30 15:32:14 +11:00
sboddy
d6443e46f6
Update debugging guide to deal with MS's Marketplace changes. ( #6035 )
2025-01-30 08:08:28 +11:00
tim
77722fcf89
New Tools ( #5983 )
...
* New tools wip
- New icons: Opening, Furniture, Roof, Railing
- New groupings
- New tools: Opening tools (not working), Furniture (needs default), Roof
- New defaults: Railing, Roof (Hip Roof doesn't work)
* WIP on (no branch)
* Railing icon fixed
* New icons added, old icons tweaked
* Working version
* Just updating some wip - not ready for review yet
* Tool icon update
- New: pile, plate, ramp, ramp flight, stair, stair flight, roof, railing, footing, member, curtain wall
- Updated: wall, window, door, cable
- Expanded tool descriptions to include predefined types
- Added relevant default types
- Revised tool grouping
* IfcStairType and IfcRampType icon's removed
* Curtain wall removed
---------
Co-authored-by: tim <tjrhyder@gmail.com >
2025-01-30 08:07:54 +11:00
Thomas Krijnen
241329325d
Update ci.yml - 22.04
2025-01-29 20:10:19 +01:00
Bruno Perdigão
2e70544bb8
Adjust offset in "change_extrusion_x_angle" to maintain position relative to the slab's top face.
2025-01-29 14:01:23 -03:00
Bruno Perdigão
03267a441a
Fix #6058
2025-01-29 14:01:23 -03:00
Kipre
4bee713455
Fix transform matrix computation in Axis2Placement3D
2025-01-29 15:37:59 +01:00
Andrej730
1d6e560b4f
Change entire material category name from UI #6061
...
Example - https://imgur.com/a/LJUkC2l
2025-01-29 18:16:05 +05:00
Andrej730
71a6ad8cb0
Display assets count for the loaded library
...
Example - https://imgur.com/a/yZTkZgu
2025-01-29 18:16:05 +05:00
Andrej730
83d7cda26b
Select IfcProjectLibrary to display for the loaded library
...
Example - https://imgur.com/a/14LOL0J
2025-01-29 18:16:05 +05:00
Andrej730
8bddde49a2
Hide assign/unassign library declaration button for elements that cannot be declared
...
E.g. IfcMaterials, IfcProfileDefs
2025-01-29 18:16:05 +05:00
Andrej730
909a7ad7a2
Project libraries UI - use cached project library data
...
instead of accessing IFC directly on every draw call
2025-01-29 18:16:05 +05:00
Andrej730
c9da643fe1
typing
2025-01-29 18:16:04 +05:00
Andrej730
0599138bca
Fix #6050 after 5e93097
2025-01-29 17:25:30 +05:00
Andrej730
871710a0aa
Fix remove_representation error #6059
...
After to_delete was explicitly added as an attribute to ifcopenshell.file (previously it was kind of hacky assigned during batch remove).
2025-01-29 16:02:50 +05:00
Andrej730
85e0fa9147
assign/unassign layer - mention representations
2025-01-29 16:02:50 +05:00
Dion Moult
5d3dc84556
Tabbing now works consistently on all elements including those with usage
...
This means that seeing the extrusion type graphically is now possible,
adding booleans is now through a consistent interface. It's still
possible to immediately edit the axis via Alt-E and profile via Shift-E.
This helps consoliate code too.
2025-01-29 21:38:01 +11:00
Dion Moult
a9abf1e993
Forgot to remove these mentions
...
Still need to update tests
2025-01-29 21:32:26 +11:00
Dion Moult
c2b00e09cf
Remove elements menu and purge the "potential" openings feature as this is now properly integrated in the new element menu
2025-01-29 19:55:42 +11:00
Dion Moult
121af475a7
The collector should be responsible for handling global fixed display settings too perhaps
2025-01-29 19:54:25 +11:00
Dion Moult
424cd96fef
Add warning that api.run is deprecated
2025-01-29 19:53:50 +11:00
Bruno Postle
84392f1457
Typo: strucutural > structural
2025-01-28 21:20:20 +00:00
raj-open
1b3b74127a
guid-stdlibs > v0.8.0: linting
2025-01-28 21:46:34 +01:00
raj-open
85308133e2
guid-stdlibs > v0.8.0: added unit tests
...
NOTE: added in prefix-cases post PR review
2025-01-28 21:46:34 +01:00
raj-open
64a027cfba
guid-stdlibs > v0.8.0: linting
2025-01-28 21:46:34 +01:00
raj-open
285c4bff67
guid-stdlibs > v0.8.0: used underlying base64-to-hex to speed up computations
...
NOTE: The conversions remain exactly as before. But by using standard libraries for conversion, we clean up computations.
2025-01-28 21:46:34 +01:00
Bruno Perdigão
c2c2d2d8f3
Revert 87c7309724. I misunderstood the expected behavior.
2025-01-28 17:37:20 -03:00
Bruno Perdigão
87c7309724
See #5938 . Fix bug where x_angle where changing the wall thickness.
2025-01-28 16:28:23 -03:00
Bruno Perdigão
d9903e93f2
See #5938 . This commit starts fixing this issue by:
...
- Fix wall decorator with obtuse angles.
- Preventing slabs from using obtuse angles, for now.
2025-01-28 16:10:17 -03:00
Andrej730
ab0549daa6
Support editing representation's presentation layers from UI
...
Example - https://imgur.com/a/QgtSUoq
2025-01-28 17:22:26 +05:00
Andrej730
f43e33b969
apped_asset - fix passed removed elements after 3ffc0bc #6044
...
Before 3ffc0bc checking identities were handled by file.add but now it's handled append_asset, therefore should be a way to clean removed entities.
2025-01-28 17:22:26 +05:00
Andrej730
cc014e9792
Change message when no object queries in a linked model
...
to give a hint for new users
2025-01-28 17:22:26 +05:00
Andrej730
c0306fc729
typing
2025-01-28 17:22:26 +05:00
Andrej730
7b94a8d1f5
black .
2025-01-28 17:22:25 +05:00
Andrej730
7bfe844d53
Rename void to feature in code 03bfd828e2
2025-01-28 15:23:43 +05:00
Andrej730
23648ef221
remove duplicated add_feature method
...
It was moved to feature module in 03bfd828e2
2025-01-28 15:23:43 +05:00
Dion Moult
693244e20e
Fix bug in SetFalseOrigin which incorrectly handled z height and also add ability to handle non-mapconversion based transformations.
...
I can't believe I accidentally left out the minus sign. The ability to
handle simple remapping of location A --> B is useful for software that
doesn't support map conversion properly.
2025-01-28 17:33:15 +11:00
Dion Moult
03bfd828e2
See #5919 . API now has support for features, not just openings. Void module is renamed to feature.
2025-01-28 14:18:17 +11:00
Dion Moult
5300f4c78f
Fix failing tests
2025-01-28 10:54:37 +11:00
Dion Moult
8e29e7cdee
Be a bit more forgiving in calculate unit scale to not glitch out on models with no project.
...
It's technically invalid but useful for small snippets.
2025-01-28 10:46:24 +11:00
Dion Moult
6e0954e855
Purge constants file that came from PR.
2025-01-28 10:45:54 +11:00
Dion Moult
4d052ba864
Fix bug where decorator had errors if the 3D location was outside the 2D window.
...
Checking for none for `location_3d_to_region_2d` should always be done.
2025-01-28 10:33:08 +11:00
Bruno Perdigão
562c32b96e
Fix issue where area measurement lines where not showing correctly.
2025-01-27 18:58:02 -03:00
Bruno Perdigão
818ad536af
Small fix after a4a52d6576
2025-01-27 18:49:19 -03:00
Bruno Perdigão
a4a52d6576
Make slab's editing profile to horizontal orientation when x_angle is present.
2025-01-27 15:16:22 -03:00
Bruno Perdigão
47b2a00614
Fix Z location for wall axis decorator
2025-01-27 10:59:21 -03:00
Andrej730
ff4d3adf0b
Select Layer In Layers UI
...
Example - https://imgur.com/a/bXctIxc
2025-01-27 17:41:32 +05:00
Andrej730
13a182cd95
Representation Items UI - support editing layers
...
Example - https://imgur.com/a/3fn051N
2025-01-27 17:41:31 +05:00
Andrej730
56af23b89f
revert possible empty layer names in ui
2025-01-27 17:41:31 +05:00
Andrej730
605cf8d99a
Styles UI - add indicator for currently edited style
...
Example - https://i.imgur.com/YT0a63S.png
2025-01-27 17:41:31 +05:00
Andrej730
744487c786
fix test_element after 7b62b03
2025-01-27 17:41:31 +05:00
Andrej730
b735ce74ad
Bonsai - Select By Profile operator
...
Location - https://imgur.com/a/gInY1sl
2025-01-27 17:41:31 +05:00
Andrej730
5fe77b659a
ifcopenshell.util.element.get_elements_by_profile
2025-01-27 17:41:31 +05:00
Andrej730
e71a220f21
typing
2025-01-27 17:41:30 +05:00
Andrej730
5bd24b2760
Enable pset template prop editing on adding a new one #6019
2025-01-27 17:41:30 +05:00
Andrej730
14a792a1e7
Enable pset template editing on adding a new one #6019
2025-01-27 17:41:30 +05:00
Andrej730
7b4fa6b5c0
black .
2025-01-27 17:41:30 +05:00
Gorgious56
378086ac7b
Fix bug when trying to delete an opening object that was already deleted
2025-01-27 12:56:27 +01:00
Dion Moult
c4dbbe85fc
Fix bug where library wasn't actually removed when unlinking an IFC.
...
Previously the collection and scene object was removed, but this is
obviously not sufficient since the bpy.data.library still exists (which
meant that if you relinked it, regardless of your cache setting, it'd
just load the existing Blender file which is completely useless).
2025-01-27 20:41:26 +11:00
Dion Moult
559db259a3
See #6030 . Add isolate, show, and hide operators to group manager.
2025-01-27 17:14:13 +11:00
Dion Moult
3582dc43d9
Add tests for PR #5257 (using cache for fetching units)
2025-01-27 14:40:15 +11:00
Dion Moult
c0aaebcbe9
Fix bug where assigning units didn't necessarily assign to the project, and also didn't overwrite existing units of the same type.
2025-01-27 14:23:02 +11:00
Dion Moult
4af6c24314
Completely untested refactor of #5257 .
...
Removes dependency of file to util (util should depend on file, not vice
versa). Removes auxiliary method.
2025-01-26 21:11:11 +11:00
Dion Moult
ecd72912aa
Purge constants from PR #5257 .
...
I'm not sure I agree here, considering that types are dynamic based on
schema version.
2025-01-26 19:07:02 +11:00
Raj
124c02897c
Feature faster unit method ---> Main ( #5257 )
...
* feature_faster_unit_method > main: added constants
* feature_faster_unit_method > main: extended `file` class to dynamically save unit information
* feature_faster_unit_method > main: refactored `get_property_unit` method
1. split out case that returns the wrong type (dictionary of units) into its own method
2. cleaned up (but preserved) logic
3. refactored common part of all cases (the method which prioritises unit then value-entity then measure_class)
---------
Co-authored-by: raj-open <raj-open@users.noreply.github.com >
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2025-01-26 19:04:49 +11:00
Raj
3b1e893d34
Linting-Workflow ---> v0.8.0 | Make wf only fail on syntax errors instead of unformatted code ( #6041 )
...
* linting-workflow > v0.8.0: make QA only throw warning instead of error on unprettified code with no syntax errors
Without a Linting policy, the workflow should only fail if code base contains syntax errors.
* linting-workflow > v0.8.0: better logging
* linting-workflow > v0.8.0: changed instruction to notice-type
---------
Co-authored-by: raj-open <raj-open@users.noreply.github.com >
2025-01-26 18:54:46 +11:00
Bruno Perdigão
2b1a59a4f8
Refactor how offset and direction sense interact for wall and slabs.
2025-01-25 16:05:04 -03:00
Dion Moult
c49ca699eb
Forgot to commit new feature tool
2025-01-25 21:39:54 +11:00
Dion Moult
75c6505121
See #5919 . You can now add openings through "Add Element" just like everything else.
...
This means that openings can (and default to) start with extrusions. It
also starts to open up the possibility to add other types of feature
elements. Still really incomplete.
2025-01-25 20:43:08 +11:00
Dion Moult
2c531501c3
Fix #5614 . Fix bug where removing an object that had voids showing didn't also remove the voids.
2025-01-25 16:36:57 +11:00
Dion Moult
eab527e7a2
Fix #6033 . Add tools for generate slab from wall and vice versa in the toolbox. Still needs a nice icon.
2025-01-25 15:59:11 +11:00
Dion Moult
83368d7ee1
Fix #6014 . Incorrect units used for position matrix when detecting profiles. Fix by @brunoperdigao
2025-01-25 15:20:01 +11:00
Dion Moult
38835a4092
See #6030 . You can now select elements in groups recursively.
2025-01-25 14:11:42 +11:00
Dion Moult
a2a4da596f
Fix #6030 . Consolidate group management into single UI and allow for bulk assign / unassign.
2025-01-25 14:01:56 +11:00
Bruno Perdigão
5fbb496818
Improve wall axis decorator.
...
- Blue: base
- White: side
- Green: reference
- Arrow: direction
See: https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialLayerSetUsage.htm
2025-01-24 16:46:03 -03:00
Bruno Perdigão
8b3bf8200f
Add wall and slab regeneration when editing layer set usage, after 755d178b6b
2025-01-24 16:36:24 -03:00
Andrej730
fbab13339c
set_material_name to prevent triggering name callback if it's not necessary
2025-01-24 18:45:14 +05:00
Andrej730
57150e9f63
deprecate style.edit_presentation_style listener
2025-01-24 18:45:14 +05:00
Andrej730
e4ded8c477
Fix editing IfcSurfaceStyle attributes
...
Apparently it was broken for a while now...
2025-01-24 18:45:14 +05:00
Andrej730
d21c24b070
Bonsai - support editing IfcPresentationLayerWithStyle attributes
...
Example - https://imgur.com/a/JRs8RZm
2025-01-24 18:45:13 +05:00
Andrej730
e3ea12a517
Reuse export_attributes for layers, groups, constraints, classifications
2025-01-24 18:45:13 +05:00
Andrej730
60f8044820
Support adding IfcPresentationLayerWithStyle from UI
...
Example - https://i.imgur.com/0mssU2s.png
2025-01-24 18:45:13 +05:00
Andrej730
d5b1b6f66a
Reuse draw_attributes for groups, layers, structures and systems
2025-01-24 18:45:13 +05:00
Andrej730
f3fc55f246
Change <logical> primitive data type from bool to enum
...
As it also has a third value "UNKNOWN" which has it's own meanig in IFC and therefore IfcLogical cannot be represented by simple booleans.
Example in Bonsai - https://i.imgur.com/xuPMcwA.png
2025-01-24 18:45:13 +05:00
Andrej730
d37caedda7
layer.add_layer_with_style
2025-01-24 18:45:12 +05:00
Andrej730
d1082897b1
bim.select_representation_item - add poll message
2025-01-24 18:45:12 +05:00
Andrej730
c12636f4cc
black .
2025-01-24 18:45:12 +05:00
Andrej730
35d20e649d
button to open pset templates user folder
...
to make it more discoverable
Example - https://i.imgur.com/BKN3rkj.png
2025-01-24 12:57:41 +05:00
Andrej730
5c7bea6dea
bim.open_path - utility operator
2025-01-24 12:57:40 +05:00
Andrej730
d979c6a044
bim.open_uri - display url in description
2025-01-24 12:57:40 +05:00
Andrej730
65f2da4beb
Fix creating pset templates after 5e930972d6 #6017
2025-01-24 12:34:36 +05:00
Dion Moult
755d178b6b
Fix bug where adding / removing layers never triggered a regeneration of walls.
...
Continue our slow, ongoing purge of listeners.
2025-01-24 17:28:45 +11:00
Dion Moult
f1187e33d9
Don't show IFC product selection in the type manager since it's assumed to be IfcElementType from context
2025-01-24 16:36:07 +11:00
Dion Moult
2ec7882c57
Fix #6034 . Boundary module now uses the collector tool like everything else.
2025-01-24 09:57:33 +11:00
Dion Moult
1083651d0a
Bump IOS back up to 2024-12-14
2025-01-24 09:49:44 +11:00
Dion Moult
03bd34d98c
Workaround for speed regression in advanced brep models. See #5999 .
2025-01-24 09:47:17 +11:00
Bruno Perdigão
fa174feaae
Refactor wall offset and direction after f724bb692
2025-01-23 15:33:39 -03:00
Bruno Perdigão
5ec5594c69
Polyline slab tool - You can now change offset and direction
...
As it was implemented in Polyline wall tool, the user can press "O" to
change offset and "F" to flip the direction
2025-01-23 15:33:39 -03:00
Bruno Perdigão
4f77df99a5
Add slab preview decorator
2025-01-23 15:33:39 -03:00
Thomas Krijnen
fa191e44f2
cgal kernel: Move orientation logic #5987
2025-01-23 16:35:51 +01:00
Thomas Krijnen
638b2c59ea
Catch string encoding errors and set status #5992
2025-01-23 16:20:06 +01:00
Bruno Perdigão
4aff6ac842
Fix profile tool after 8b678309f
2025-01-23 11:21:29 -03:00
Andrej730
f67e3f35c7
Fix error tabbing into point cloud representations
2025-01-23 18:14:17 +05:00
Andrej730
1ea6d2a194
Add IfcStructuralPointConnection to reimport_element_representations
2025-01-23 18:14:17 +05:00
Andrej730
3c96ad2965
Fix error tabbing into IfcStructuralPointConnections
2025-01-23 18:14:17 +05:00
Andrej730
4ee8176654
Bonsai to display units for force measure props
...
Example - https://i.imgur.com/EhcyIxp.png
2025-01-23 18:14:17 +05:00
Andrej730
4717dffcdc
Bonsai - assign/unassign structural model for all selected elements
2025-01-23 18:14:17 +05:00
Andrej730
3eeb58dded
assign_structural_analysis_model to support batching
2025-01-23 18:14:17 +05:00
Andrej730
70f17c2094
Structural operators - remove unnecessary Ifc Operators
2025-01-23 18:14:17 +05:00
Andrej730
2e71765f4f
Fix structural operator names for consistency with Blender naming
2025-01-23 18:14:16 +05:00
Andrej730
582476cabe
Fix LoadGroupDecorationData data item name for consistency
2025-01-23 18:14:16 +05:00
Andrej730
8f9417a59a
Fix UI errors in Structural Analysis panel when project has no IfcStructuralAnalysisModel
2025-01-23 18:14:16 +05:00
Andrej730
e18475e1ef
Use cancel icon for disabling operators for consistency
2025-01-23 18:14:16 +05:00
Andrej730
d38608ea04
Fix UI errors with not unset active library id after disabling editing
...
It lead to UI errors when library was removed and Bonsai was still trying to get it from active_library_id.
2025-01-23 18:14:16 +05:00
Andrej730
42d01ac222
Fix append_asset conversion issue after 3ffc0bc #6012
...
Custom file.add wasn't considering IfcLengthMeasure attributes...
2025-01-23 18:14:16 +05:00
Andrej730
5bc91ec4e4
append_asset - fix bug identifying None profiles as equivalent
2025-01-23 18:14:16 +05:00
Andrej730
ad99990f17
typing
2025-01-23 18:14:15 +05:00
Andrej730
8dce7b9f68
black .
2025-01-23 18:14:15 +05:00
Bruno Perdigão
d8342134a0
Wall polyline tool - refactor offset functionality
2025-01-23 09:31:28 -03:00
Bruno Perdigão
8b678309fd
Refactor polyline tool instructions.
...
Follows 8fc0d7a808
2025-01-23 09:31:28 -03:00
Bruno Perdigão
88dc9d7633
Enable "shift + mouse wheel" to function before locking angle.
2025-01-23 09:31:28 -03:00
Bruno Perdigão
09dbae7c56
Replace hard-coded unit scale with ifcopenshell.util.unit.calculate_unit_scale
2025-01-23 09:31:28 -03:00
Dion Moult
c6b64baccb
Fix #6028 . Deprecate schema dir as it's basically just data.
2025-01-23 23:10:40 +11:00
Dion Moult
15bc968179
Remove dead code from schema.py
...
Slowly getting to a point where we can completely delete this legacy
file.
2025-01-23 22:59:41 +11:00
Dion Moult
b7e4904905
Change gitkeep into gitignore and move ignore up to root gitignore
...
I kept on getting confused on why things were being ignored in the data
dir and didn't know where to look.
2025-01-23 22:48:25 +11:00
Kipre
039b7ef4ca
Fix issue with eliminate_touching_operands
2025-01-23 11:23:34 +01:00
Dion Moult
e2f10a5784
Minor UI improvement to keep the right alignment of total elements in the material manager
2025-01-23 20:54:43 +11:00
Dion Moult
adff44febd
Snaps are on by default
...
Users can still turn them off. We are a precision modeling app after all
:)
2025-01-23 20:44:20 +11:00
Dion Moult
35d2791657
Fix warning when aggregate decorator cannot be drawn on the screen.
2025-01-23 20:29:21 +11:00
Scott Lecher
a7a9fcc73a
adds calculations for projected_length of gradient curve segments ( #6006 )
2025-01-22 15:37:29 -08:00
Andrej730
5c3045b4db
Temporarily disable 3ffc0bc due to a bug with units conversion
2025-01-22 20:45:06 +05:00
Andrej730
b812d21282
Fix non-existent name argument in add_si_unit docs
2025-01-22 19:07:44 +05:00
Andrej730
083aa4da85
Fix error after 5e93097
2025-01-22 19:07:44 +05:00
Andrej730
605a29786c
Fix tests after 7b62b03
...
Since calculate_unit_scale now requires a project.
def calculate_unit_scale(ifc_file: ifcopenshell.file, unit_type: str = "LENGTHUNIT") -> float:
"""Returns a unit scale factor to convert to and from IFC project units and SI units.
Example:
.. code:: python
ifc_project_length * unit_scale = si_meters
si_meters / unit_scale = ifc_project_length
:param ifc_file: The IFC file.
:param unit_type: The type of SI unit, defaults to "LENGTHUNIT"
:returns: The scale factor
"""
> if not (units := ifc_file.by_type("IfcProject")[0].UnitsInContext):
E IndexError: list index out of range
2025-01-22 18:24:52 +05:00
Dion Moult
3dfc7097b2
Fix #6013 . Fix bug where Blender object names weren't updated when using copy attributes.
2025-01-22 22:54:58 +11:00
Andrej730
4adca79301
Fix edit_attributes triggering name_callback and adding indices to names #6013
...
It was triggering name_callback, adding indices to the names and writing the name with index to ifc.
Also now check previous and new object name explicitly instead of relying on `obj.name` as it may have Blender indices (Blender doesn't support multiple objects sharing the same name).
2025-01-22 16:35:23 +05:00
Andrej730
a8672bc5cb
root.set_object_name to reuse loader.get_name
2025-01-22 16:35:23 +05:00
Andrej730
882bacf91a
bim.copy_attribute_to_selection - add info message
...
It's important to have somewhere information on how many elements were actually affected since some of the selected objects may not support the used attribute.
Example - https://i.imgur.com/UrLNWcF.png
2025-01-22 16:35:23 +05:00
Andrej730
23a6721f8e
Fix bim.copy_attribute_to_selection missing undo
2025-01-22 16:35:23 +05:00
Andrej730
db93ca1067
bim.inspect_from_object - support representation items
2025-01-22 16:35:22 +05:00
Andrej730
f02fd69934
Bonsai - deprecate bpy.app.version checks
...
As we support only Blender 4.2+
2025-01-22 16:35:22 +05:00
Andrej730
74a9669fa8
Fix error tabbing into IfcRevolvedAreaSolid with a boolean + add resolve_base_items
...
resolve_items couldn't find IfcRevolvedAreaSolid inside a boolean result
2025-01-22 16:35:22 +05:00
Andrej730
6ce4b5d0e8
Fix error selecting boolean (RepresentationItemObject missing ifc_definition_id)
2025-01-22 16:35:22 +05:00
Andrej730
391091ad12
typing
2025-01-22 16:34:58 +05:00
Andrej730
a774a75509
black .
2025-01-22 16:00:11 +05:00
Andrej730
06f25b9846
bim.select_boolean - fix operator name
2025-01-22 11:50:49 +05:00
Andrej730
b752f798bd
bim.enable_editing_booleans - add poll message
2025-01-22 11:50:48 +05:00
Andrej730
5ca615114f
Also support changing profile for other sweptsolids
...
E.g. changing it for IfcRevolvedAreaSolid - https://imgur.com/a/jHOC8rt
2025-01-22 11:50:48 +05:00
Bruno Perdigão
c72f17068c
Add support for direction sense and offset in slabs with x_angle
2025-01-21 10:49:29 -03:00
Bruno Perdigão
372654267c
Fix issues with add/remove layer handler when using "Quick Create Type".
2025-01-21 10:49:29 -03:00
Bruno Perdigão
5cf4740f8e
Add direction sense and offset support for slabs
2025-01-21 10:49:29 -03:00
Bruno Perdigão
3740b86678
Add handlers to update layer when adding and removing material layer
2025-01-21 10:49:29 -03:00
Bruno Perdigão
325d6138d3
Add more options to Bonsai snap target. Follow 5649708ca4
2025-01-21 10:10:57 -03:00
Gorgious56
fc58b1769c
Improve logic for https://github.com/IfcOpenShell/IfcOpenShell/commit/bced62bd5c6615ec1ff8c3a6af3334e469e5f9fa
2025-01-21 13:56:32 +01:00
Dion Moult
82fbec68d1
Fix #5973 . You can now select the item from the item panel.
2025-01-21 23:52:33 +11:00
Andrej730
bb1ec569bc
Option to name existing used unnamed profiles
...
Example - https://imgur.com/a/IhMbs6K
2025-01-21 17:31:21 +05:00
Andrej730
5a766e79bd
Show error message trying to edit not supported type of profile
...
E.g. previously if you would tab into editing IfcExtrudedAreaSolid that was using not supported profile type (e.g. IFCCSHAPEPROFILEDEF) it would import it as empty geometry and tabbing out then would save it corrupting the original profile. Now there is an error message that it's not yet supported - https://i.imgur.com/NzksYVP.png
2025-01-21 17:31:21 +05:00
Andrej730
ff337bc849
Change currently edited item's profile
...
Example - https://imgur.com/a/2yiVIW5
2025-01-21 17:31:20 +05:00
Andrej730
992424c748
Update item decorator when moving item in viewport
...
Before this fix - https://imgur.com/a/mhpBvCG
2025-01-21 17:31:20 +05:00
Andrej730
0268f140ad
typing
2025-01-21 17:31:20 +05:00
Andrej730
59c0719b03
black .
2025-01-21 17:31:20 +05:00
Andrej730
c91fbc4d40
Setup user data dir
...
Create some empty folders in the user data directory to hint the user.
2025-01-21 17:30:38 +05:00
Gorgious56
bced62bd5c
When switching between ElementType and Element, keep the same class and predefined type if possible
2025-01-21 13:29:25 +01:00
Dion Moult
b809bc89f0
See #5973 . Representation items UI now works in item mode.
2025-01-21 23:28:33 +11:00
Dion Moult
2452b1be50
See #5973 . Only show shape aspect attributes if creating a new shape aspect to make it clearer how to use the UI.
...
Previously the UI for creating new aspects and reusing an existing
aspect showed simultaneously which was confusing.
2025-01-21 23:21:07 +11:00
John Yani
7de8427a28
[Bonsai docs] Update version switching logic ( #6005 )
...
* Create brand.html
* Update custom.css for version switcher
* Update brand.html
* Update brand.html
Improve select box logic
2025-01-21 11:06:24 +11:00
John Yani
ee0adf2fff
[Bonsai docs] Add version switcher to sidebar and update custom styles ( #6004 )
...
* Create brand.html
* Update custom.css for version switcher
* Update brand.html
2025-01-21 10:24:53 +11:00
John Yani
2ce420ef6f
Follow up #5994 ( #6003 )
...
* Create docs-deployment.yml
* Update docs-deployment.yml
Add CNAME
* Update docs-deployment.yml
* Create docs-deployment-unstable.yml
* Add requirements.txt
* Change trigger branch
2025-01-21 08:45:39 +11:00
Bruno Perdigão
290849d43a
Fix snap to axis after 5649708ca
2025-01-20 14:59:04 -03:00
Andrej730
5e930972d6
User 'data' folder #5564
...
Bonsai now creates a user data folder that allows you overriding Bonsai data files. E.g. you can put you own `default.css` as `data/assets/default.css` in that folder and it will override the `default.css` Bonsai is using for the drawings. Previously you could have change internal `default.css` but Bonsai would always restore the original one on every update / reinstallation.
You can also store your .ifc files in data/libraries or data/templates and Bonsai will ensure they're loaded and you won't need to worry about Bonsai removing them later.
E.g. on Windows this path is `C:\Users\xxx\AppData\Roaming\bonsai\bonsai\data`/
You can also find path in the preferences - https://i.imgur.com/kwMc0JU.png
2025-01-20 19:32:59 +05:00
Bruno Perdigão
c08d25de42
Change Bonsai snap target UI to column.
2025-01-20 11:31:58 -03:00
Bruno Perdigão
5649708ca4
Add support and UI for Bonsai snap target.
...
The user can now select snap target for Bonsai polyline tool.
The options are shown in the bottom of Blender's Snapping panel.
2025-01-20 10:56:22 -03:00
Bruno Perdigão
9e81a3da17
Rename "Edge-Intersection" to "Edge Intersection"
2025-01-20 10:56:22 -03:00
Bruno Perdigão
b509374c27
Add initial curve snapping functionality
2025-01-20 10:56:22 -03:00
Gorgious56
704bb27cf5
You can now user ALT + Click to ensure an object is unlinked from non-IFC collections when assigning a new container
2025-01-20 14:25:55 +01:00
Dion Moult
7b62b035c9
Fix #5964 . Only get the unit assignment from the project to prevent ambiguity.
...
I really don't know why I didn't do this before.
2025-01-20 23:50:03 +11:00
Dion Moult
c5fe80db7b
Make georeferencing decorator use soft limits. Don't scale font.
2025-01-20 23:48:51 +11:00
Andrej730
3ffc0bc39c
append_asset to use custom file.add to prevent duplicating profiles and materials #5925
2025-01-20 16:23:31 +05:00
Andrej730
0a266bba5d
Fix #6000
2025-01-20 16:16:39 +05:00
Andrej730
ecf0d255f7
Roll back build from a65aa92 #6001
2025-01-20 16:16:39 +05:00
Andrej730
c0499a2c88
black .
2025-01-20 16:16:38 +05:00
John Yani
3ad247b9a7
Automatic build and deploy bonsai docs on push ( #5994 )
...
* Create docs-deployment.yml
* Update docs-deployment.yml
Add CNAME
* Update docs-deployment.yml
* Create docs-deployment-unstable.yml
* Add requirements.txt
2025-01-20 21:13:21 +11:00
Bruno Postle
13b93a9ea8
Move cache_dir from site-packages to local folder ( #5856 )
...
Previously cache_dir was located under site-packages, which is managed
by blender and could be read-only. Now location defaults to eg.
~/.cache/bonsai or equivalent location on other platforms. See #5564
Note this adds a dependency on the platformdirs python module
2025-01-20 13:14:51 +05:00
Dion Moult
ebdfe2bccd
Fix #5319 . Workaround for upstream bpypolyskel bug where dormer ridges were not flat.
2025-01-20 17:17:37 +11:00
Dion Moult
942c3fec87
Add missing bin directory
2025-01-20 14:35:50 +11:00
Dion Moult
651c24bbfe
See #5799 . Fix segfault in upstream Blender when unlinking material objects in specific scenario.
...
I can't explain this one so I'm pretty embarrassed to commit this, but
it crashes (see situation in #5799 ) on my machine and I can't recreate
it outside this scenario. In any case I think as a general strategy we
should:
1. Minimise reliance on msgbus
2. Msgbus listeners themselves should be wary of invalid state (e.g. if
object is now unlinked)
3. Not clear listeners (don't overreach)
2025-01-20 14:01:11 +11:00
Dion Moult
b2213592ea
Fix #5799 . Also purge presentation style assignment when purging unused styles.
2025-01-20 13:59:00 +11:00
Dion Moult
c311b65af5
See #5799 . Allow merging unnamed styles.
...
Styles are special because their names aren't critically semantic. It's
more to do with the style definition.
2025-01-20 13:58:39 +11:00
Dion Moult
e8b097e2cb
See #5799 . Remove slow / unnecessary material criticals that also have a risk of crashing
...
In general Blender on my machine at least sometimes has huge lag with
material previews.
2025-01-20 13:57:07 +11:00
Dion Moult
193ff1cd0c
Mention builds website in docs.
2025-01-20 12:15:49 +11:00
Dion Moult
a65aa92c87
See #5999 . Revert to older bot build before speed regression.
2025-01-20 12:15:36 +11:00
Dion Moult
6af19bc98d
Fix 3x slower major speed regression introduced in 98a9550260
...
The commit that introduced the problem was trying to optimise rendering
dense meshes with the opening decorator. However, it introduced more
calculation in the initial project load and stored more data on every
object. This resulted in models loading 3x slower for me which is pretty
major. The original problem needs further investigation.
2025-01-20 11:24:19 +11:00
Dion Moult
5769c0d442
Fix #5754 . Cosmetic bug where UI was not refreshed when using advanced mode causing incomplete decorators to be drawn.
2025-01-20 00:25:29 +11:00
Dion Moult
5c058dff3e
Fix #5766 . Bump IOS.
2025-01-19 21:49:51 +11:00
Dion Moult
f86e414055
Forgot to add a placement for new elements which is invalid.
2025-01-19 21:38:52 +11:00
Dion Moult
c17febac0c
Fix #5996 . Bug where getting selected or active objects was not clear.
...
Sometimes we want to fetch selected objects, and that includes the
active object, even if the active object isn't actually highlighted in
the viewport (albiet rare, I think?).
Conversely sometimes we want to get the active object, even if it isn't
actually highlighted. The tool.Blender functions now have kwargs to
distinguish between these.
2025-01-19 17:17:56 +11:00
Dion Moult
2d811a6786
Fix fetching layers in item mode. Apparently the inverse name changes slightly.
...
Maybe because an item has a single layer whereas the shape is meant to
have many layers?
2025-01-19 17:09:32 +11:00
Dion Moult
6eed5607c4
Fix #5972 . Purge old non-item-based boolean code
2025-01-19 17:09:02 +11:00
Dion Moult
0b46a31c25
Add item menu is now tailored for CSG representations.
...
I find this a bit of a strange behaviour in IFC. Imagine you start with
a Tessellation representation type. You're only allowed meshy things, no
solid extrusion. And vice versa if you have a SweptSolid representation
type.
Now imagine you suddenly create a boolean. Now, you can mix both
tessellations and solids together.
2025-01-19 16:58:10 +11:00
Dion Moult
4d7f078f8b
Ensure item decorator is updated when editing things in item mode.
2025-01-19 16:56:31 +11:00
Dion Moult
046f7cbfd2
See #5972 . You can now select booleans recursively.
2025-01-19 13:54:40 +11:00
Bruno Postle
4152641d1f
Ensure files in libs/bin are executable
...
When blender extracts wheels it doesn't preserve executable permissions
2025-01-18 21:17:43 +00:00
Bruno Postle
ec55c8183f
remove duplicate 'libs' folder
...
The Bonsai installer contained a 'libs' folder in both the ZIP bundle
and the bonsai wheel, but only the one in the wheel was actually used
2025-01-18 19:59:57 +00:00
Bruno Postle
b54741dd0b
Merge branch 'v0.8.0' of github.com:IfcOpenShell/IfcOpenShell into v0.8.0
2025-01-18 19:18:15 +00:00
Bruno Postle
b4190876b0
Actually put ifcmerge in the linux ZIP installer
2025-01-18 19:16:50 +00:00
Bruno Perdigão
864eeb42e9
Add filling objectcs to OverrideMove
2025-01-18 15:15:54 -03:00
Bruno Perdigão
7fcb7c6433
Allow moving the current aggregate/nest when aggregate/nest mode is active
2025-01-18 12:17:28 -03:00
Bruno Perdigão
015d8f6722
Add nest mode operators to workspace UI.
2025-01-18 12:06:00 -03:00
Bruno Perdigão
c07c2d7692
Complement changes from abd05e939a
2025-01-18 11:48:37 -03:00
Dion Moult
a57a0eb4eb
See #5972 . Prioritise clipping results where possible.
2025-01-19 01:09:11 +11:00
Dion Moult
e40644c4f6
See #5972 . You can now remove boolean operations in the stack without deleting operands.
2025-01-19 01:08:47 +11:00
Dion Moult
8c746b1a2c
Validate representation type items when leaving item mode.
2025-01-19 00:30:30 +11:00
Dion Moult
8e98aecc0b
Document add boolean API
2025-01-19 00:30:30 +11:00
Bruno Postle
34a2d95524
Bonsai offers to install Git and ifcmerge ( #5961 )
...
The ZIP installer now contains a `libs/bin` folder that contains
`ifcmerge`. Bonsai on `register()` adds this folder to the system `PATH`
for the current Blender session. Advantage of this is that we don't have
to fiddle with the registry on windows, or install files to
`~/.local/bin` on Linux, it _should_ work on Darwin, updates are
automatic, and we have a mechanism to ship other executables if
required.
(Note that ifcmerge.exe increases the size of the Windows Bonsai ZIP
download by about 7MB)
If Git isn't installed on Windows, the Git panel now offers to install
it from the Windows Package Manager Community Repository using `winget`.
2025-01-18 10:22:45 +00:00
Dion Moult
a12427e44a
See #5972 . Add tests for adding boolean and check against recursive booleans and invalid boolean items.
2025-01-18 21:13:54 +11:00
Dion Moult
35734f4b67
Guess representation type from items based on where rule
...
Previously we never implemented this in a very strict way so it was
prone to mistakes.
2025-01-18 18:35:13 +11:00
Dion Moult
c54ea1e5d2
Shape builder can now create blocks
2025-01-18 18:34:40 +11:00
Bruno Perdigão
abd05e939a
Add nest decorator
2025-01-17 23:00:05 -03:00
Bruno Perdigão
d02c5ca1e6
Rename OverridaAggregateMove to OverrideMove.
...
It now deals with nests too.
2025-01-17 22:58:29 -03:00
Bruno Perdigão
a5afba03ab
Add "nest mode" similar to "aggregate mode".
2025-01-17 22:47:11 -03:00
Bruno Perdigão
3f914cdf27
Remove unused handler from AggregateModeDecorator
2025-01-17 22:43:05 -03:00
Bruno Perdigão
1d03e916f3
Fix after c4f85dffa4
2025-01-17 17:45:21 -03:00
Bruno Perdigão
fd279234f3
Fix #5818
2025-01-17 16:41:01 -03:00
Bruno Perdigão
a44439655c
Install Bonsai decorators from Viewport Overlays in load_post.
2025-01-17 16:23:40 -03:00
Bruno Perdigão
c4f85dffa4
Fix OverrideMoveAggregate to work for multiple layers of aggregates.
2025-01-17 15:51:26 -03:00
Bruno Perdigão
8d63845f3d
Change AddSlabFromWalls to consistently create walls in a counterclockwise direction.
...
This guarantees that the external face of the walls aligns with the edges of the slab.
2025-01-17 15:09:57 -03:00
Thomas Krijnen
e0e24948be
Update build_rocky.yml - safe.directory
2025-01-17 14:07:36 +01:00
Thomas Krijnen
84420a8973
Don't allow empty sha for add_commit_sha
2025-01-17 13:57:14 +01:00
Dion Moult
7ee055f4f3
See #5972 . You can now add half space solid items in item mode.
2025-01-17 23:02:32 +11:00
Andrej730
1f436bcec6
replace date picker util operators with wm.context_set_string
...
Since they were just setting a scene property which can be done by a default operator.
2025-01-17 17:00:06 +05:00
Andrej730
468c1a2580
Highlight currently selected date in date picker
...
Example - https://imgur.com/a/ItNg9sZ
2025-01-17 17:00:06 +05:00
Andrej730
e8cb9e7f3c
Date picker to support IfcDateTime
...
See https://imgur.com/a/9a7JfMO
2025-01-17 17:00:06 +05:00
Andrej730
fa98a7e8f7
black .
2025-01-17 17:00:06 +05:00
Andrej730
686a5e7387
Fix #5988 after 6fb0f5e63a
2025-01-17 15:24:02 +05:00
Dion Moult
e1da08579c
See #5972 . You can now add booleans in item editing mode, with support for all three boolean operators.
2025-01-17 20:55:27 +11:00
Dion Moult
0a87e92dcf
Move geoference visualisation UI into panel header to be consistent.
2025-01-17 20:54:06 +11:00
Dion Moult
24b3cfc067
Fix #5897 . Fix #5488 . Fix #5498 . Bug where you couldn't edit newly added annotation.
...
The annotation adding code was a bit of a mess, spread around
create_annotation, create_annotation_occurrence, and
bpy.ops.bim.add_annotation. I've now consolidated it all into
core.add_annotation and updated it to work with the new item editing
mode (basically new objects need to reload their representation to
populate item_ids). Things are still messy, but a bit less now.
2025-01-17 20:53:29 +11:00
Thomas Krijnen
c163b260cf
Try solve #5989
2025-01-17 10:45:21 +01:00
Andrej730
9e50c89c01
Work schedule UI - use cached data instead of accesing IFC
2025-01-16 18:30:44 +05:00
Andrej730
b28a3b6e32
Basic header for work schedule panel header #5928
...
Example - https://i.imgur.com/9thZQCX.png
2025-01-16 18:30:44 +05:00
Andrej730
9573628bf6
fix typo in sequence/prop.py and use more consistent name for props
...
Issue was that taskcolumns_enum doesn't exist
2025-01-16 18:30:44 +05:00
Andrej730
5f034bf4a9
bim.copy_railing_parameters - add poll message
2025-01-16 17:36:12 +05:00
Andrej730
de6e54040a
FilledOpeningGenerator - update only parts instead of the full decomposition
...
similar to 0662b0c
2025-01-16 17:36:12 +05:00
Andrej730
50b39fdd10
bim.clone_opening - update affected representations
2025-01-16 17:36:12 +05:00
Andrej730
eef04fb91c
bim.clone_opening - always show in opening's ui
...
Otherwise it was hidden until user guesses that 2 objects need to be selected for it to appear.
Also, not sure if it's useful operator anymore - it seems just duplicating an opening and then adding it does the same thing.
2025-01-16 17:36:11 +05:00
Andrej730
a383f60915
Show voided elements in UI
...
E.g. show voided wall when window or wall's opening is selected.
Example - https://i.imgur.com/jxjWPeE.png
2025-01-16 17:36:11 +05:00
Andrej730
44131a7fe5
Select filling objects from UI
...
Example - https://i.imgur.com/BijTwgo.png
2025-01-16 17:36:11 +05:00
Andrej730
c66f2131e2
bim.select_entity - move to bim module
...
as it can be generally useful, not just in tester
2025-01-16 17:36:11 +05:00
Andrej730
035999d0c3
bim.update_openings_focus - remove unnecessary ifc operator
2025-01-16 17:36:11 +05:00
Andrej730
61d68b74ca
bim.add_filled_opening - remove unused operator
2025-01-16 17:36:10 +05:00
Andrej730
133459faec
typo
2025-01-16 17:36:10 +05:00
Andrej730
6fb0f5e63a
typing
2025-01-16 17:36:10 +05:00
Andrej730
2859e9632e
black .
2025-01-16 17:36:10 +05:00
Andrej730
521a8183e7
Fix #5953 after d6e6a6d
2025-01-16 17:36:09 +05:00
Dion Moult
a63f67ad32
Fix #5841 . Incorrect axis usage when generating LAYER2 elements from polyline.
2025-01-16 23:19:11 +11:00
Dion Moult
aeba2885e4
Fix #5984 . Incorrect axis usage when generating slabs.
2025-01-16 23:11:51 +11:00
Dion Moult
f50ae2faa5
See #5972 . You can now load a hierarchy to visualise the boolean result tree.
2025-01-16 22:58:17 +11:00
Dion Moult
bd739f8bfd
Fix undo bug when marking booleans as manual
2025-01-16 22:39:37 +11:00
Dion Moult
5b2243089d
See #5972 . You can now delete boolean operands in item editing mode.
2025-01-16 22:10:28 +11:00
Dion Moult
2fe4680ca1
See #5972 . Boolean operands are now loaded in item editing mode and are editable.
2025-01-16 21:28:05 +11:00
Taku Makoni
21624d6065
Wrong Import Package ( #5982 )
2025-01-16 12:20:59 +11:00
Taku Makoni
b9f40342b2
Grammatical error
2025-01-16 11:52:09 +11:00
Bruno Perdigão
3e879c6156
Change how new objects added are handled in aggregate mode.
...
When in aggregate mode, new objects will now be automatically assigned to
the current aggregate.
2025-01-15 16:11:27 -03:00
Bruno Perdigão
c360b91f4a
Remove constraints from the aggregates.
2025-01-15 16:11:27 -03:00
Andrej730
23b1a71cba
Support adding duplicated existing boolean
...
Example - https://imgur.com/a/rRQz9dx
2025-01-15 18:41:21 +05:00
Andrej730
5d17554d04
bim.add_boolean - support adding multiple booleans at once
...
Example - https://imgur.com/a/IWDqMRT
2025-01-15 18:41:20 +05:00
Andrej730
1f3fc3c2b9
bim.add_openings - display in UI if multiple potential openings are selected
2025-01-15 18:41:20 +05:00
Andrej730
d6da8a7ee1
Support duplicating potential openings and potential/existing booleans
2025-01-15 18:41:20 +05:00
Andrej730
cfb4cd8af9
bim.add_potential_opening - remove unused code
...
draw_settings() was never used
2025-01-15 18:41:20 +05:00
Andrej730
7eff4db4eb
reuse add_tracked_opening
2025-01-15 18:41:19 +05:00
Andrej730
689688c76b
Fix error selecting material usage in Materials UI
...
Previously it would error, now it selects related profile / layer set.
2025-01-15 18:41:19 +05:00
Andrej730
0ea513818b
Support assigning material sets as usages from UI #5933
...
It's on alt+click in Materials UI, see example - https://imgur.com/a/8gP7iAZ
2025-01-15 18:41:19 +05:00
Andrej730
2fdcb41c4e
black .
2025-01-15 18:41:19 +05:00
Dion Moult
65c99c57cd
Prefill class / product type if using a particular BIM tool for convenience, and hide fields.
2025-01-15 22:04:58 +11:00
Dion Moult
fe54b24f5f
Fix bug where box decoration when adding empty geometry failed
2025-01-15 22:04:24 +11:00
Dion Moult
7fdfdbf8b4
Fix #5971 . You can now specify a name and description when adding objects. Clean naming and description is critical!
2025-01-15 20:57:19 +11:00
Dion Moult
53906d824a
Fix #5977 . Silly mistake I forgot all([]) is still True.
2025-01-15 20:47:56 +11:00
Thomas Krijnen
a687a90039
Break out multiple tasks per representation when rep is directly reused #5978
2025-01-15 10:24:52 +01:00
Thomas Krijnen
c37fd6ae0b
Don't throw exception but set to $ when encountering invalid instance name #5680
2025-01-15 10:08:31 +01:00
Dion Moult
06e8e2b35c
Remove obsolete separate_verts_layer when marking edge angles for roofs
...
New roof system automatically handles this scenario (using poke
operator) so no need to mark it.
2025-01-15 19:46:34 +11:00
Dion Moult
fd51b9a9e9
Fix #5968 . Fix #4040 . Rewrote roof generation using per face extrusions and cutting planes instead of edge sliding.
...
WARNING! The roof generation is now quite significantly different. This
WILL change your geometry when you refresh roofs from existing models.
- The roof profile now always represents the top of eave. This better
represents how things are built rather than bottom of eave which was
previous.
- The roof therefore always grows down from the profile. The rafter
edge angle can only be acute. This means that the roof will never grow
larger than the footprint profile that you've drawn. (before, the
footprint was not guaranteed to match).
- The roof thickness is now the actual thickness of the roof, not the
"vertical dimension" of the roof. This means that the roof thickness can
now match intended layer thicknesses instead of you needing to do math
to work it out.
I've rewritten the internals of how roofs were generated to be hopefully
a lot simpler but as a tradeoff it's more restrictive. After the
skeleton is generated, non-uniform angles would be handled through
vertex splitting and moving. This works in simple scenarios but fails in
more complex ones. The new approach only handles non-uniform angles on
triangular faces. These faces are really easy to handle compared to
ngons, but are also more robust. The rafter edge angle is also now
handled using a clipping plane, which is a lot, lot simpler than vertex
sliding math.
Each face is now processed separately and then merged at the end. This
means that if a face has a different angle, it will now correctly
represent the different thickness at that portion of the roof.
In the process consistent roof thickness / rafter angle bugs were fixed.
2025-01-15 19:43:39 +11:00
Andrej730
3f2f296d5f
Fix error with Shift-E #5975
...
E.g. two objects are selected - tesselation and profile and tesellation being active object. Using s-e with deselect tesselation object as it doens't have a usage but Bonsai would still try to run bim.enable_editing_extrusion_profile on it leading to the error.
Also fix possible issues for hotkey executed without active object (it seems all operators in hotkey do require active object)
2025-01-14 17:42:03 +05:00
Andrej730
020937835a
Fix issue enabling ifcsverchok if sverchok installed under a different name #5913
2025-01-14 17:42:03 +05:00
Andrej730
a52e3615d6
Map ifc2x3 IfcAnnotationOccurrence to IfcStyledItems in ifc4 #5917
2025-01-14 17:41:58 +05:00
Andrej730
adb61c5a16
bonsai makefile - use new option for old no-clobber behaviour
...
Apparently (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62572 ) coreutils have changed `mv -n` to throw an error now instead of working silently, therefore our build was failing on Mac when Github Action switched from Ubuntu 22 to 24.
`--update=none` seems to restore the old behaviour.
2025-01-14 17:41:58 +05:00
Andrej730
a50973ede7
typing
2025-01-14 17:41:58 +05:00
Andrej730
74ca86678a
ifcfm cobie - color code ods file tabs too
2025-01-14 13:48:50 +05:00
Gorgious56
ac2e69bd66
Don't close type manager when using the enum search feature while adding a new type
...
Also reduce the attribute name a bit
2025-01-14 08:44:21 +01:00
Dion Moult
595a3b3f87
Preselect IFC class when adding elements for convenience.
2025-01-14 14:22:15 +11:00
Dion Moult
48f534e7c1
Say "Type" instead of None in the general BIM tool.
2025-01-14 14:13:39 +11:00
Dion Moult
1ed770d454
Fix #5921 . Bug when parsing IDS XML of facets with no attributes.
2025-01-14 13:36:33 +11:00
Dion Moult
ec600ec72e
IfcTester can now read from XML strings in addition to opening files on disk
2025-01-14 13:35:45 +11:00
Dion Moult
adcc23541a
Fix bug where starting a new file in an existing session would prompt an error.
...
Bpy.context.active_object is not available in-between loading / starting
a new file.
2025-01-14 13:35:01 +11:00
Dion Moult
9a77c94758
Fix #5967 . Incorrect logic in the for/else block when adding new elements.
...
The for/else block was too greedy, meaning that if nothing was selected,
it would still try to create slabs from walls. I find for/else confusing
so I restructured the section to do more early returns and unindent the
logic.
2025-01-14 12:20:22 +11:00
Moritz Amberger
e89d195f9b
moved full_schema, is_strcit, should_expand, should_get_inverse, should_get_psets. should_get_geometry and should_skip_geometry_data to the Patcher class definition. deleted those parameters from the patch definition so that users are able to set them by themselves. removed the hardcoded tmp-File for the db_file name
2025-01-14 09:30:34 +11:00
tim
228e9d0571
Refactor detect_icon_color_mode to accept attribute path suffix
...
• Removed bpy.context.preferences.themes[0] from the input and hardcoded it in the function.
• color_path now only requires the attribute path suffix (e.g., "user_interface.wcol_regular.text").
• Updated error handling to default to "dm" instead of "lm".
2025-01-14 09:22:53 +11:00
tim
7280669725
Typo
2025-01-14 09:22:53 +11:00
tim
83b8bb153d
One function for model and cad custom icons
...
Apply detect_icon_color_mode function to model and cad workspaces
2025-01-14 09:22:53 +11:00
tim
88891409fd
New icon color mode function
...
New function for determining which icon color mode to use: dark (dm) or light (lm)
2025-01-14 09:22:53 +11:00
tim
b6ba1aaa8c
Hide shortcuts from header
2025-01-14 09:22:22 +11:00
ti
ffb3d2d6e9
check for None
2025-01-14 09:22:03 +11:00
Dion Moult
efede9eb03
No idea why Github actions is failing for MacOS. All code looks good to me.
2025-01-14 00:14:03 +11:00
Andrej730
ac315e8a55
ifcfm cobie 2.4 - color code excel tabs
...
example - https://i.imgur.com/tSeqyjj.png
2025-01-13 17:53:02 +05:00
Andrej730
b7c18221f4
get_bbox - optimize by using numpy arrays
2025-01-13 17:53:02 +05:00
Andrej730
7a49f1611e
get_shape_matrix - small optimization
...
reuse existing matrix instead of recreating new
2025-01-13 17:53:02 +05:00
Andrej730
5c0a7af830
cobie24 - implement Coordinate tab #5926
2025-01-13 17:53:02 +05:00
Andrej730
a968b61d02
np_matrix_to_euler, np_matrix_normalized
2025-01-13 17:53:01 +05:00
Andrej730
0ac9d739f8
remove unused code
2025-01-13 17:53:01 +05:00
Andrej730
74c6480808
bim.add_element to select added object
2025-01-13 17:53:01 +05:00
Andrej730
0601802005
typing
2025-01-13 17:53:01 +05:00
Dion Moult
9784fb1c49
Pyodide example app should use IfcShapeRepresentation to be valid
2025-01-13 23:12:49 +11:00
Gorgious56
039dcbaefa
Stair Modifier : You can now set a total length target that will update individual tread runs automatically. You can lock the total length target and modify tread run or number of treads to keep the same global dimensions.
2025-01-13 12:04:13 +01:00
Gorgious56
1cd17fd5f8
Merge pull request #5947 from IfcOpenShell/update_type_manager
...
Update Type Manager
2025-01-13 09:40:42 +01:00
Gorgious56
2f0f9fe08b
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into update_type_manager
2025-01-13 09:38:41 +01:00
Gorgious56
50ed75fcc2
Fix potential bug where a class doesn't have a predefined type
2025-01-13 09:32:23 +01:00
Gorgious56
9eaf41c9f0
The filter search field now also filters description and predefined type
2025-01-13 09:28:56 +01:00
Dion Moult
581a674654
Fix #5952 . Aggressively block scaling of IFC elements to prevent user confusion.
2025-01-13 18:01:25 +11:00
Dion Moult
e29f686d3f
Update setting literal from old name of "debug" to new name "debug-boolean".
2025-01-13 15:45:27 +11:00
Dion Moult
8cf7057abc
Fix #5954 . Special automatic movement of features shouldn't then also move children of those features.
...
If you move a wall, and that wall has features (e.g. openings), it's
desirable to also move those openings (because they are invisible). This
is a special exception to `should_transform_children` because the
definition of the feature (opening) is inherently tied to the parent
(wall).
What wasn't considered is that this would typically then also move
subchildren of the features (e.g. fills like doors). I'm surprised
nobody caught this earlier.
I did also consider another approach where if you move a wall, it moves
all unfilled openings, and if you move a door which fills a opening, it
moves the opening too. Intuitively it sounds nice, but it doesn't work
because:
- Openings can have multiple fillings. If you move all fillings, they
all fight to move the openings.
- All logic about children goes one way: a placement may have child
placements relative to it. This breaks the convention (if moving a door
instead moves its opening) which can make brains explode.
- It starts to conflate rules about relative / referenced placements
with spatial decomposition. We assume all IFCs are valid and follows the
convention of relative placement but we cannot guarantee this. This also
leads to brain explosion.
2025-01-13 15:44:52 +11:00
Dion Moult
316b9554d4
Fix #5959 . Bug where default selection basket in selector query was not added per facet list.
...
Previously the code looked for additive facets (entity, instance)
anywhere in the query, and then only added the default basket once at
the beginning of the query. This change makes it look for additive
facets in order (that way you could start with a default selection, and
then later use an additive facet) and does it per facet list (so you can
omit the additive facet at the beginning of each list).
2025-01-13 12:46:44 +11:00
tim
95fa6f39c4
New furniture icon
...
Chair icon for furniture
2025-01-13 10:47:35 +11:00
Thomas Krijnen
65ffbe081b
Pyodide app readme
2025-01-12 15:50:19 +01:00
Thomas Krijnen
936984dd31
Update publish-pyodide-demo-app.yml
2025-01-12 15:16:57 +01:00
Thomas Krijnen
590c6eed0a
Update publish-pyodide-demo-app.yml
2025-01-12 15:12:44 +01:00
Thomas Krijnen
a696c7bbb5
Update publish-pyodide-demo-app.yml
2025-01-12 15:10:59 +01:00
Thomas Krijnen
6ff1d06938
Create publish-pyodide-demo-app.yml
2025-01-12 15:07:44 +01:00
Thomas Krijnen
6deb7121cc
demo-app/CNAME
2025-01-12 15:00:54 +01:00
Thomas Krijnen
6aec2f7a02
pyodide/app-demo
2025-01-12 14:50:20 +01:00
Dion Moult
0eb987fc07
Black
2025-01-12 22:43:41 +11:00
Dion Moult
04092d19be
Refactor common function for parametric objects into tool.Model
2025-01-12 22:43:34 +11:00
Dion Moult
8364c87777
Fix #5941 . Context override when adding objects should only have one object. This is a temporary fix.
...
The proper fix is to refactor add_door and friends into core. That way
it can be properly reused instead of this hacky context override.
2025-01-12 22:39:32 +11:00
Dion Moult
2d38d8520c
Fix regression where you couldn't move spatial elements from the new aggregate move override.
2025-01-12 21:47:42 +11:00
Dion Moult
03d3b1e52c
Changed my mind, remove AssignConstituentFractions patch. See #5441 .
2025-01-12 17:51:32 +11:00
Dion Moult
79fe1bfcfc
Minor fix from new patch recipe in PR #5441 (src no longer required)
2025-01-12 17:45:43 +11:00
Louis Trümpler
59c1d7fa54
Add AssignConstituentFractions recipe
2025-01-12 17:41:50 +11:00
tim
f0e1be765d
New Roof and Railing icons
...
https://github.com/IfcOpenShell/IfcOpenShell/issues/5375
2025-01-12 17:38:57 +11:00
Lucas Nascimento
a2bfc006b7
black formatting
2025-01-12 17:25:21 +11:00
Lucas Nascimento
dff9f56ce3
black formatting and changes in shader typing
2025-01-12 17:25:21 +11:00
LM-Nascimento
80996dee1f
Update unit.py
2025-01-12 17:25:21 +11:00
Lucas Nascimento
a329de9f71
licence comment
2025-01-12 17:25:21 +11:00
Lucas Nascimento
1918138f68
cleanup
2025-01-12 17:25:21 +11:00
Lucas Nascimento
aa21fe9060
separate shader file from decoration data
2025-01-12 17:25:21 +11:00
Lucas Nascimento
6eee445502
Cleaning up and type hints
2025-01-12 17:25:21 +11:00
Lucas Nascimento
3eb29af496
seems to be working
2025-01-12 17:25:21 +11:00
Lucas Nascimento
2912580087
shit ton of changes
2025-01-12 17:25:21 +11:00
Lucas Nascimento
477725529b
now with shader for point loads
2025-01-12 17:25:21 +11:00
Lucas Nascimento
d915dc9df0
update decorator to match shader + changes to text rendering
2025-01-12 17:25:21 +11:00
Lucas Nascimento
53a2b87c97
updates to shader class
2025-01-12 17:25:21 +11:00
Lucas Nascimento
d10b327c5f
Initial commit, able to show structural curve action on the sample file of IFC documentation
2025-01-12 17:25:21 +11:00
Radek Hlaváček
293cd83a9c
Update report.html
...
Adding "Skipped" grey colored container for specification and requirement if no applicable element is found
2025-01-12 17:14:22 +11:00
ti
07817ec6fc
updated restriction types
2025-01-12 17:13:36 +11:00
c4rlosdias
d1ad082979
Add derived unit
2025-01-12 17:12:20 +11:00
Thomas Krijnen
ba9693519b
Remove mathutils import from shape_builder.py
2025-01-12 17:05:32 +11:00
Dion Moult
41362e1582
Fix #5950 . IfcTester now considers optional requirement facets as per latest documentation.
...
The IDS documentation used to state that "optional" on requirement
facets was "for information only" and didn't affect the pass / fail
state. This was changed a while ago (which I missed) to a new behaviour:
both no values and passing values will pass.
2025-01-12 16:28:14 +11:00
Dion Moult
8e77011dda
Fix #5949 . Remove material set psets panel in favour of merging into material manager psets panel.
...
Previously, to edit a single IfcMaterial pset, you'd do so in the
material manager. In contrast, to edit a IfcMaterialSet pset, you'd do
so only when assigned to an object. Not only is it bad to edit psets in
two locations, it also means you can't edit psets until you've first
assigned the material set to an object which is bad. Now it's less code,
and material / material set psets are in the same spot.
There still more consolidation work to do, to allow editing of sets in
the material manager and to figure out how to show item psets, but it's
a step in the right direction.
2025-01-12 15:45:02 +11:00
Dion Moult
02632440b0
See #5949 . Only show material psets and classifications if actually editing in the material manager.
...
Previously, you could disable editing and it would still show irrelevant
psets or classifications.
2025-01-12 15:45:02 +11:00
Bruno Postle
0a4ab32810
Fix missing carriage return
...
SyntaxWarning: invalid escape sequence '\I'
2025-01-11 13:36:54 +00:00
Dion Moult
c446aab9a0
Fix #5951 . Regression when removing mathutils dependency from shape builder and parametric stairs were expecting Vector and instead got numpy.
2025-01-11 15:39:13 +11:00
Dion Moult
2e7cbb759e
Fix #5955 . Regression in 0983f812fd where you couldn't remove a style that wasn't being edited.
2025-01-11 14:51:18 +11:00
Gorgious56
68f175fc71
Fix bug when trying to add an ifc type occurence from the toolbar in the properties editor
2025-01-10 15:42:37 +01:00
Gorgious56
a428169a13
Fix bug when duplicating an ifc type
2025-01-10 15:29:31 +01:00
Gorgious56
7db0196791
Fix bug where the thumbnail of the active class wasn't updated
2025-01-10 15:17:26 +01:00
Gorgious56
4f4c557f61
Another attempt.
...
Went back to previous toolbar : icon + type name + dot grid icon which all launch the type manager.
Validating the type manager popup now only closes it. Functionally is the same thing as clicking Cancel. Don't really know what to do to fix it. Does cancel make sense in the type manager ? Do we want to be able to undo what is possible to be done from within the type manager ?
You can change the active type either with the dropdown in the popup and in the grid flow. I changed it so that changing the type in the dropdown jumps to the corresponding page. BTW first time using github copilot to figure out the maths and it worked magically :) . I'm not against removing the dropdown but I feel like it's nice to see a plain list to choose from.
You can input a specific page number or scrub the page number field. Might be usefull if user has dozens of pages to flip through.
Right now the search is very simple, it does not implement fuzzy search or anything fancy with *
2025-01-10 14:24:33 +01:00
Dion Moult
d88adf2d02
See #5938 . Correctly detect negative extrusion depths and directions.
2025-01-10 22:48:11 +11:00
Dion Moult
956b7dcb92
Fix #5941 . Regression in ae22eec9 where active object wasn't considered when adding a parametric door.
2025-01-10 21:50:52 +11:00
Dion Moult
0a32149be3
Fix #5944 . You can now tab / edit IfcAnnotationFillArea with the new item editing mode.
2025-01-10 19:49:04 +11:00
Gorgious56
aafb6fc426
Add search bar with simple filter function to the type manager
2025-01-10 09:44:12 +01:00
Dion Moult
cac3d7f699
Fix #5939 . Fix #2751 . IfcPatch no longer needs the (rarely used) input src arg by default.
2025-01-10 16:59:45 +11:00
Dion Moult
83add56e6c
Fix #5949 . When duplicating objects, copy over IFC links (shape representation ID, item_ids, edge_item_ids) in a more reliable way
2025-01-10 15:22:53 +11:00
Dion Moult
e4412e2f51
Black
2025-01-10 15:21:18 +11:00
Dion Moult
4a1422d292
New annotations should not go into the unsorted collection
2025-01-10 14:13:28 +11:00
Stephen Boddy
1e448cb170
Add mini-guide to setting up IDE for debugging
2025-01-10 12:34:56 +11:00
Bruno Perdigão
07bb7e68dd
Fix #5932
2025-01-09 16:14:11 -03:00
Bruno Perdigão
cf054e11a1
Refactor: improve preview decorators for other products, following 420a4cfdc
2025-01-09 15:59:15 -03:00
Bruno Perdigão
6b8024f835
Refactor: Improve profile preview decorator to prevent GPU context errors
2025-01-09 15:59:15 -03:00
Bruno Perdigão
66577fd30d
Prevent polyline profile from being called by Column Tool
2025-01-09 15:59:15 -03:00
Bruno Perdigão
0124b7a0e9
Allow polyline profile for IfcCoveringType
2025-01-09 15:59:15 -03:00
Bruno Perdigão
737402cae4
Fix profile scale issue in profile preview decorator.
2025-01-09 15:59:15 -03:00
Bruno Perdigão
8b1d4ca5d4
Implement polyline tool for profiles.
2025-01-09 15:59:15 -03:00
Gorgious56
a6e953a550
Update Type Manager
...
Add back the type dropdown and looking glass icon in the toolbar
Clicking on a type in the manager no longer closes the popup anymore.
A visual indictor is displayed on the active type
Changed the parameters icon in the individual type interface
Fix bug in "Slab from Walls" Shift + A code
2025-01-09 17:45:40 +01:00
Dion Moult
40dcfd450f
See #5940 . Fix bug where using preserve existing in IfcCSV didn't fully purge extra rows, possibly leading to orphaned data (which LibreOffice will render as 0 if it is a number value type)
2025-01-09 18:25:00 +11:00
Dion Moult
e220b6981e
See #5940 . Fix bug where ODS and XLSX didn't correctly check for whether summaries existed and sometimes printed out "None" rows
2025-01-09 18:24:09 +11:00
Dion Moult
84931fbbd2
See #5941 . Don't show mode changes if an object is unselectable.
...
Unselectable things should be uneditable. That's what the lock/unlock is
for.
2025-01-09 17:40:52 +11:00
Gorgious56
2d5bc49ee0
Going in and out of AGGREGATE mode doesn't overwrite other objects' display type anymore
2025-01-08 16:53:59 +01:00
Gorgious56
d4ff789688
You can now mass enable edition, disable edition and validate edition of Ifc Entity Attributes.
...
This highlights a potential bug that already existed due to the way the attribute system is designed. Where the user mass-edits attributes from different IFC types, resulting in discrepancies due to the same attributes having a different index. eg IfcWindow has the Tag attribute at index 3, IfcDoor at index 4. So using the ALT modifier feature from vanilla Blender to mass-modify similarly named attributes on the Tag attribute of the IfcWindow will modify the PredefinedType attribute on the IfcDoor (index 3). For this reason I added the ALT modifier to the buttons so mass-operations are a conscious effort for more knowledgeable users. Might reconsider if problems arise but this is IMO a good QOL feature.
Also fix floating point precision errors on Pset float values stored as strings (re last commit)
2025-01-08 11:29:06 +01:00
Gorgious56
5c3f0f0df9
Fix floating precision artifacts when displaying float values in the Attributes panel
...
Minor fixes on previous commit
2025-01-08 10:28:27 +01:00
Bruno Perdigão
519e667464
Fix bug with bim.aggregate_assign_new_objects_in_aggregate_mode.
2025-01-07 18:17:32 -03:00
Bruno Perdigão
e3abfd60cb
Typo.
2025-01-07 18:16:59 -03:00
Bruno Perdigão
864e8d3a48
Typo.
2025-01-07 18:05:23 -03:00
Bruno Perdigão
d2b05ea3dc
Fix bug related to constraints and aggregate duplication
2025-01-07 18:00:47 -03:00
Thomas Krijnen
d063bdbbf1
wasm wheel fixes
2025-01-07 20:56:16 +01:00
Thomas Krijnen
a42a49e088
wasm wheel fixes
2025-01-07 20:47:25 +01:00
Gorgious56
ae22eec958
Door modifier operators now apply to all elligible selected objects. This makes it way easier to modify a single attribute in several unrelated parametric doors thanks to the ALT + input feature from vanilla Blender. This allows for mass-removing, mass-removing, mass-editing, mass-validating, and mass-cancelling edition of door modifiers.
...
Also allow UNDO for some door operators which seems like they should support it
And Fix #5937 : minor typo
2025-01-07 17:43:43 +01:00
Bruno Perdigão
b657eee564
Change extrusion direction when converting to extrusion in Representation Utilities.
2025-01-07 12:41:15 -03:00
Thomas Krijnen
9d1daa4dc5
ifcpatch - try both out of tree and subpackage imports #5939
2025-01-07 15:43:44 +01:00
Bruno Perdigão
dbf33283ab
Add Bonsai decorators toggle to Blender Viewport Overlays.
...
https://imgur.com/auQcp2Y
2025-01-07 11:32:14 -03:00
Gorgious56
0983f812fd
You can now use the Asset Browser to set a Material Asset as an external style.
...
To do so Right Click on a material in the Asset Browser then `Set To External Style`. The style editor must be loaded in the properties editor.
Also run black on a file from previous commit and fix a bug soft-locking the style editor when removing a style that is being edited
2025-01-07 14:55:17 +01:00
Thomas Krijnen
3ced6e7bb1
wasm wheel fixes
2025-01-07 13:23:10 +01:00
Richard Brice
933d845472
Fixes IfcPolynomialCurve when used as IfcCurveSegment.ParentCurve in horizontal alignments
2025-01-06 14:36:37 -08:00
Gorgious56
8313c05884
Merge pull request #5930 from Gorgious56/improve_modifiers
...
Modifiers QOL
2025-01-06 12:10:26 +01:00
Gorgious56
f6e588b48c
You can now copy roof parameters from active to selected objects
2025-01-06 11:35:17 +01:00
Gorgious56
547c5fb8a9
TAB now applies modifier parameters on the active object. ESCAPE now cancels editing modifier parameters on the active object.
2025-01-06 11:06:41 +01:00
Gorgious56
570e29cfe4
Add operator to copy railing modifier parameters ( #3413 )
...
* You can now copy railing properties from active to selected
Hitting ESCAPE cancels editing railing path
2025-01-06 10:10:54 +01:00
Thomas Krijnen
2e35b07fa6
Fetch boost from github releases in build scripts
2025-01-06 10:05:59 +01:00
Thomas Krijnen
1b6ee26854
Don't fail on empty ReferencedSource in IfcTester
2025-01-05 14:40:27 +01:00
Thomas Krijnen
7b21858cd4
Inform about supported reporter types in IfcTester
2025-01-05 14:37:41 +01:00
Thomas Krijnen
12800bbeee
IFCPATCH_RECIPE_DIR to allow loading out of tree recipes
2025-01-05 11:07:48 +01:00
Gorgious56
3a7488d54b
Fix #3261 : You can now purge unused openings that do not intersect with their related building element.
...
It's a naive implementation and very inefficient. Moreover there may be false positives because it's testing overlapping the evaluated mesh element with all openings applied.
2025-01-03 17:37:46 +01:00
Gorgious56
7bfa926e6d
Fix error when instantiating a wire mesh
2025-01-03 16:41:05 +01:00
Gorgious56
fd7a7d44c3
Special geometry data on meshes are also loaded as geometry attributes.
...
No functional change apart from in dissolve_triangulated_edges where it will try to load the attribute if it can. I believe it will be easier in the long term to use the builtin Attributes system. Unfortunately Curves don't support Attributes yet. Also, attributes are more lightweight compared to custom properties.
2025-01-03 16:12:51 +01:00
Gorgious56
fe6a6d1a0d
You can now disable aggregate mode with ESCAPE in the 3D Viewport
...
- Fix minor typo
2025-01-03 15:04:28 +01:00
Gorgious56
98a9550260
Fix slowness when rendering dense meshes with the opening decorator
...
It uses a custom boolean attribute on the mesh to decide whether an edge should be displayed or not. I think later on it can be used to get rid of the dictionary accessors which make the blend file size skyrocket.
2025-01-03 14:12:16 +01:00
Gorgious56
fe253af5ae
Don't draw triangulation artifact edges in the opening decorator
2025-01-03 13:04:37 +01:00
Gorgious56
e933ff08f8
Use relevant tool.Geometry functions for querying openings relations
2025-01-03 12:22:08 +01:00
Gorgious56
25af639dae
Fix memory leaks due to orphaned meshes in the opening and boolean operations
2025-01-03 11:30:42 +01:00
Gorgious56
5b3e3fc646
Fix not being able to apply or hide specific openings
2025-01-03 10:54:54 +01:00
Gorgious56
57dbea2974
Fix #3854 : Assigning a class to a potential opening removes it from the openings pool
...
Also fix an error in previous commit
2025-01-03 10:33:41 +01:00
Gorgious56
cc3074cdcc
#5919 : Add an option to set the opacity of the rest of the model when modifying openings
...
Option is located in the preferences
2025-01-03 10:01:36 +01:00
Gorgious56
4c9697d260
Consolidate logic for toggling display of openings
2025-01-03 09:59:47 +01:00
Gorgious56
8dfcea0e24
Fix internal openings list not being cleared when applying an opening
2025-01-03 09:42:55 +01:00
Gorgious56
f0fac7ad8b
Reorganize addon preferences layout
...
Hopefully it's a little bit less daunting
2025-01-03 09:40:08 +01:00