Commit Graph

3476 Commits

Author SHA1 Message Date
Andrej730 d868d8ceac Fix missing default value for last_commit_date (37ec2bf) #6389
Which is needed when Bonsai is not using git
2025-03-19 14:14:36 +05:00
Andrej730 8def5ec30b Use explicit bl_ui_utils.layout import to fix #6389
Also related - https://github.com/nutti/fake-bpy-module/issues/352
2025-03-19 14:14:36 +05:00
Andrej730 ad03a0c8d9 debugging docs - add section about debugging addon 2025-03-18 17:43:38 +05:00
Dion Moult c176b9d607 See #1227. Fix bug where unjoin walls didn't recheck the position. 2025-03-18 01:14:06 +11:00
Dion Moult 6cf5cc002e Fix #6318. Fix warnings when decorator cannot convert 3D to 2D screen space location. 2025-03-18 01:06:44 +11:00
Andrej730 0abe6329d6 Quantification to consider Pset_ProfileMechanical.MassPerLength #6344 2025-03-17 18:31:58 +05:00
Andrej730 5109168533 quantification fallback - small clarification 2025-03-17 18:31:57 +05:00
Andrej730 0b4deee73f typing 2025-03-17 18:31:57 +05:00
Andrej730 1f43f7f807 black . 2025-03-17 18:31:57 +05:00
Jesse Roodhorst 73a83c6d4e Issue #5130 fix + sheet all expand and contract (#6379) 2025-03-17 18:28:03 +05:00
Dion Moult 9c5b1a04ff Fix #6372. See #1227. More reliable layer slicing. Always slice in in 2D, not 3D, where possible. 2025-03-18 00:14:56 +11:00
Dion Moult e67753eb4f See #1227. Clear cache when activating drawings. 2025-03-17 23:05:14 +11:00
Andrej730 102de32737 Fix UI errors in case of uppercase unit names (7af6727)
IfcConversionBasedUnit's Name is case insenstive and it was producing UI errors.
Noticed working with file from Revit Ryan attached in #6374

Traceback:
Traceback (most recent call last):
  File "\bonsai\bim\module\pset\ui.py", line 456, in poll
    ObjectMaterialData.load()
  File "\bonsai\bim\module\material\data.py", line 167, in load
    cls.data["total_thickness"] = cls.total_thickness()
                                  ^^^^^^^^^^^^^^^^^^^^^
  File "\bonsai\bim\module\material\data.py", line 331, in total_thickness
    return format_distance(thickness, precision=precision, suppress_zero_inches=True, in_unit_length=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "\bonsai\bim\module\drawing\helper.py", line 157, in format_distance
    unit_length = unit_length_mapping[unit_length]
                  ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'FOOT'
2025-03-17 16:38:12 +05:00
Andrej730 a8ff6ecf14 Fix object materials UI #6375 (ba37754) 2025-03-17 15:11:16 +05:00
Andrej730 55be5cc289 get_length, getget_object_main_axis - simplify
1) get_object_main_axis - replace branching with just max between dimensions. There is a small caveat that previously for `x,y,z=1,2,2` it would return 'x' but now it returns 'y', but I'm not sure if 'x' was really intended here.
2) get_length - current implementation does the same as get_linear_length

Ping @maxfb87 just in case.
2025-03-17 14:48:22 +05:00
Andrej730 9af00d4e72 typing 2025-03-17 14:27:52 +05:00
Andrej730 d8592a2a95 get_rectangular_perimeter to use get_x again #6364 (4260313)
Just restoring original behaviour before 4260313 when get_rectangular_perimeter prioritized x dimension.
2025-03-17 14:07:11 +05:00
Andrej730 16ba10f957 Fix UI error when selected object has no material #6371 (ba37754) 2025-03-17 12:02:34 +05:00
Andrej730 0d1298aac1 Fix #6367
ahh, no idea where I picked up this string during refactoring
2025-03-17 11:57:27 +05:00
Andrej730 210257de8e black . 2025-03-17 11:57:26 +05:00
Ryan Schultz 37ec2bf0e4 add bonsai_commit_date to error report 2025-03-16 20:04:04 -05:00
Sayanjyoti Das 6e7c8ad640 Fix #6362 2025-03-16 23:32:42 +11:00
Dion Moult bfc4490c97 See #1227. Implement wall layers in SVG drawings. 2025-03-16 21:43:59 +11:00
Sayanjyoti Das d50e8060ac better comments 2025-03-16 17:48:44 +11:00
Sayanjyoti Das a21939dc0d fix error 2025-03-16 17:48:44 +11:00
Sayanjyoti Das 8845440edd fix #6360 2025-03-16 17:47:44 +11:00
Dion Moult ba37754068 Fix #6310. See #1227. Fix regression with layer ordering. 2025-03-16 14:17:37 +11:00
Dion Moult ed48afc633 Only clip on visible drawing cameras. 2025-03-16 11:53:35 +11:00
Dion Moult 7262a50184 See #1227. Merging doubles gives more reliable results in bisection fills. 2025-03-16 11:40:30 +11:00
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