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
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