Bruno Perdigão
67b0ab6685
Fix #6366 . Improve extrusion x_angle and direction handling.
...
This solution brings new questions to #5938 .
Currently, we lack a reliable way to calculate the existing x_angle only based solely on the extrusion direction. For example, a 30 degree angled extrusion with positive direction has the same extrusion direction as a -150 degree angled extrusion with negative direction. The difference lies in the object's rotation.
This means that things can get messy if the user changes the object x angle somehow. We may need to explore alternative approaches.
2025-03-15 21:00:57 -03:00
Dion Moult
2941a4ad1a
See #1227 . Recalculate normals and limited dissolve when layerset slicing and generating underside clipping geom.
2025-03-16 10:56:18 +11:00
Dion Moult
b2e2f765ca
See #1227 . Clip based on active camera for legibility of drawings. Needs polish.
2025-03-16 00:23:47 +11:00
Dion Moult
2270185f8c
See #1227 . Drawing decorator now does material-aware fills for everything, and also basic caching.
2025-03-15 22:56:01 +11:00
Dion Moult
faef2df2a6
See #1227 . Basic uncached implementation of visualising wall layers in drawings
2025-03-15 20:56:56 +11:00
Dion Moult
bef7ff33f7
Prevent errors where decorator is still running and there is no camera
2025-03-15 20:54:15 +11:00
Bruno Perdigão
615ca24825
Fix #6363 . Improve how Curves are handled by the snapping system.
2025-03-14 21:43:26 -03:00
Bruno Perdigão
7e42b10159
Snap - Add face normal intersection to ´mix_snap_and_axis´ function.
2025-03-14 21:33:35 -03:00
Richard Brice
04e07db0a3
Import alignment from csv ( #6234 )
...
* Start of the official alignment API
* Import alignment into bonsai model using CSV file
2025-03-14 07:31:50 -07:00
Andrej730
eed47c8c87
Display internal ID in calculator functions description
...
Example - https://i.imgur.com/3C3TBCu.png
2025-03-14 18:35:50 +05:00
Andrej730
e55523ce3e
bim.show_loads - add undo for safety
...
In Blender it's unsafe to leave operators without UNDO options if they edit any ID data-block.
2025-03-14 18:19:07 +05:00
Andrej730
f36830d6dc
bim.show_loads - handle absence of structural items
2025-03-14 18:19:07 +05:00
Andrej730
2f87029434
Use schema_identifier to get IFC4X3 schema more precisely
2025-03-14 18:19:07 +05:00
Andrej730
86ebc968e5
ifcopenshell.util.element.get_element_mass_density
...
Move it from Blender qto calculator as this method can be generally useful
2025-03-14 18:19:06 +05:00
Andrej730
1408beeac5
ifc5d.qto.Blender - functions descriptions
2025-03-14 18:19:05 +05:00
Andrej730
791a2e40f1
qto - add note on gross and net functions
2025-03-14 18:19:05 +05:00
Andrej730
3f6a9a55cd
bim.calculate_side_formwork_area - expose to ui
2025-03-14 18:19:05 +05:00
Andrej730
ec702e2ec1
Simple quantity calculator - add operators descriptions
2025-03-14 18:19:05 +05:00
Andrej730
4f6dbbe72b
bim.calculate_single_quantity - ifcopenshell calculator to appear first
2025-03-14 18:19:05 +05:00
Andrej730
8ca344259f
bim.perform_quantity_take_off - support fallback calculator in ifc4x3 too
2025-03-14 18:19:04 +05:00
Andrej730
e038f968f2
bim.calculate_single_quantity - add info message
2025-03-14 18:19:04 +05:00
Andrej730
0e8810c1f5
typing
2025-03-14 18:19:02 +05:00
Andrej730
10ecac33b8
black .
2025-03-14 18:19:02 +05:00
Dion Moult
069b630b16
Minor fix where you'd randomly get incorrect ports connected based on the first birdsong of spring
2025-03-14 14:41:23 +11:00
Bruno Perdigão
8f6cd18288
Add instruction to MeasureFaceArea tool
2025-03-13 21:32:13 -03:00
Bruno Perdigão
7b7108b938
MeasureFaceAreaTool - Fix issue where face with index zero where not being selected
2025-03-13 17:02:40 -03:00
Bruno Perdigão
ebd719783c
black .
2025-03-13 16:56:22 -03:00
Bruno Perdigão
46a31386da
Add "Face Area" option to measure tool. See #6163 .
2025-03-13 16:55:43 -03:00
Bruno Perdigão
c80c7c6d36
Refactor - move mouse_offset from snap.py to raycast.py
2025-03-13 16:55:43 -03:00
Bruno Perdigão
ed7cf248ec
typing
2025-03-13 16:55:43 -03:00
Bruno Perdigão
b40f630783
Refactor - move raycast functions from snap.py to raycast.py
2025-03-13 16:55:37 -03:00
Bruno Perdigão
f99015e123
Polyline tool - move "remove_last_polyline_point" to "handle_inserting_polyline".
2025-03-13 16:54:35 -03:00
Bruno Perdigão
be76d4cb44
Refactor - Update input options display in Polyline tool UI
2025-03-13 16:54:35 -03:00
Bruno Perdigão
6949f9ceae
Refactor - Move filtering logic for snap objects into a separate function
2025-03-13 16:54:35 -03:00
Andrej730
6c04669543
ifc5d - add ifc4x3 base quantities #6325
2025-03-13 18:43:19 +05:00
Andrej730
5be076cb96
Reset operator context in 63aada25dd for clarity
2025-03-13 18:43:18 +05:00
Andrej730
ef67d866b6
black .
2025-03-13 18:43:18 +05:00
Dion Moult
609f468ce1
Update failing tests
2025-03-13 22:07:00 +11:00
Dion Moult
3852e3c63f
Add tests for new light rendered shadows feature
2025-03-13 22:06:21 +11:00
Dion Moult
5cb9e1c68d
Minor tweak to UI to make the shadow UI more elegant and reflect IFC style types
2025-03-13 11:09:42 +11:00
Dion Moult
52fbe09dd4
Fix syntax error otherwise nothing loads
...
Also PortData is loaded in the authoring tool and there might not be any
active object (e.g. fresh session).
2025-03-13 11:06:56 +11:00
falken10
4cff2f1fc1
Add traverse_transparent property to control sun light traversal through transparent objects
2025-03-13 10:36:43 +11:00
falken10
5114576457
Update profile.py to add MEPGenerator().setup_ports when the profile has only one segment (no DumbProfileJoiner called)
...
When adding a single duct in MEP no ports where attached.
The function create_profiles_from_polyline does not call DumbProfileJoiner (which eventually calls MEPGenerator().setup_ports).
I have added a check so if there is only one segment, the MEPGenerator().setup_ports is called explictily
2025-03-13 10:35:24 +11:00
falken10
9bafe07c36
Update system.py so two ortogonal arrows (in x and y local) are used for MEP systems decorations
...
Currently the flow direction decorations run in the local Y. This means that if one is creating ducts/pipes in the xy plane, the decorations are drawn in planes perpendicular to that one and than means that the arrows are not visible from a top/bottom view.
By adding another set of arrows perpendicular the arrows are always visible no matter what projection is taken
2025-03-13 10:31:27 +11:00
falken10
6b85e9ec85
Update operator.py
...
This will sort the groups by name so it is easy to find them.
2025-03-13 10:31:06 +11:00
Dion Moult
d89957faab
Fix regression in 227f31574 which prevented quantifications
...
The key in the dictionary is not a class name, it's a query string to
allow for complex quantification rules.
2025-03-13 09:18:07 +11:00
Bruno Perdigão
5df9c45795
Improve weight in snapping for "Plane", "Axis" and "Face" type.
2025-03-12 17:16:47 -03:00
Bruno Perdigão
5cc0aa71c7
Fix issues with snapping empties and faceless objects in x-ray mode.
2025-03-12 17:16:47 -03:00
Bruno Perdigão
b06ddbcad4
Remove duplicate line
2025-03-12 17:16:47 -03:00
Bruno Perdigão
7e9985758f
Remove debug print statements.
2025-03-12 11:10:14 -03:00