Commit Graph

15963 Commits

Author SHA1 Message Date
Andrej730 6a4167e234 bim.add_opening to sync representations before adding an opening
E.g. if object was scaled or edited. Previously geometry changes were either lost or applied in a weird way (to the object without scale).
2024-10-28 18:21:43 +05:00
Andrej730 147f0bfc9a Sync parts positions before applying the opening
To avoid issues like this - https://imgchest.com/p/bp45zlzen45
2024-10-28 18:21:43 +05:00
Andrej730 a4979a74b2 Fix bug object position wouldn't be synced on project save
If project had scale and openings then bim.update_representation wouldn't apply it's position leading to unsynced position.
2024-10-28 18:21:42 +05:00
Andrej730 850c16c745 Fix bug when object scale wouldn't be applied on project save if object wasn't moved 2024-10-28 18:21:42 +05:00
Andrej730 b96e275251 Fix bim.update_representation not apply scales if object wasn't moved
Was also creating same issue when project was saved
2024-10-28 18:21:42 +05:00
Andrej730 48a7af76ad Bump Blender build and simplify sun_position installation 2024-10-28 18:21:42 +05:00
Andrej730 3f4a0128c7 ifcsverchok - fix poll error opening operator search 2024-10-28 18:21:42 +05:00
Andrej730 bdbe91f043 typing 2024-10-28 18:21:42 +05:00
Andrej730 86d0139f41 Hide object related panels when there is no object active bonsai-0.8.1-alpha2410281124 2024-10-28 16:23:35 +05:00
Andrej730 f2e9f2beb9 Fix error adding custom pset to material set item when no item currently edited
Error traceback posted in #5647
2024-10-28 16:23:35 +05:00
Andrej730 4c93270adc Select material in materials UI #5647
Example - https://imgchest.com/p/6eyr8j8ag7p
bonsai-0.8.1-alpha2410281108
2024-10-28 16:07:23 +05:00
Andrej730 320142f8e2 Hide material sets panels if there is no material set #5647 2024-10-28 16:07:23 +05:00
Andrej730 88d133b4cc Fix ifc calls on every draw call for material set pset names enum 2024-10-28 16:07:23 +05:00
Andrej730 7fef81c0b9 black . 2024-10-28 16:06:27 +05:00
Thomas Krijnen 92b63a0ef2 Update build-all.py - add 3.13.0 2024-10-27 06:55:38 +01:00
Ryan Schultz fc57a7bbf4 Fix #5078: A way to quickly sum up a qto value of multiple selected objects bonsai-0.8.1-alpha2410261926 2024-10-26 14:26:25 -05:00
Thomas Krijnen 68062f54d8 Gracefully handle missing aggregate header fields #5626 2024-10-26 17:21:15 +02:00
Thomas Krijnen d6ed28e504 Update build-all.py - add rhel-related comment 2024-10-26 17:11:23 +02:00
civilx64 8ff4cef7ec lint with black bonsai-0.8.1-alpha2410261506 2024-10-26 17:06:24 +02:00
civilx64 8d001d0120 cleanup from original python alignment prototyping
`transition_curve.py` is now obsolete and has been removed.
A python port of IfcAlignmentHelper.cpp has also been started.
It needs further development to accommodate vertical alignment.
2024-10-26 17:06:24 +02:00
Thomas Krijnen ea48996f0d Double check for relationship subtype when processing openings on aggregate parent #5639 2024-10-26 14:53:36 +02:00
Andrej730 6b55e5e6ee Fix find_openings for ifc2x3 #5639 2024-10-25 17:43:41 +05:00
Richard Brice e270583451 Fixes unit conversion on clothoid constant 2024-10-24 08:43:47 -07:00
Andrej730 99dc4795c7 Reset not applied objects scales during project save
We try to apply scales using bim.update_representation and if didn't worked (presumably because object has openings) we reset the scales.
It was confusing for users that they scaled an object, saved IFC and they would know that scaling didn't worked only after they reopen the IFC project.
bonsai-0.8.1-alpha2410241339
2024-10-24 18:38:17 +05:00
Andrej730 1642f231fb typing 2024-10-24 18:38:17 +05:00
Andrej730 9998442eb4 Use common method for checking if object is scaled 2024-10-24 18:38:16 +05:00
Andrej730 4040c31583 Lock scale for objects with openings
Currently there is an UX problem that it's not clear for users when it's possible to use scale or not. We definitely won't be able to safely apply scales for objects with openings, so will try to lock them from the start.
2024-10-24 18:38:16 +05:00
Andrej730 6614245fc1 Fix unnamed button for editing openings 2024-10-24 18:38:16 +05:00
Andrej730 c7a41b46fd More complete fix for breaking styles ui e85043ae3
Now it also doesn't break if user will undo style rename.
2024-10-24 18:38:16 +05:00
Andrej730 dfd11fb723 black . 2024-10-24 18:38:16 +05:00
Manu Varkey 8d3aa98b58 Implement rounding of elevation (#5532)
* Implement rounding of elevation

Implement rounding of elevation based on precision stored in IfcGeometricRepresentationContext

* Move formating function to tool
bonsai-0.8.1-alpha2410241018
2024-10-24 15:17:47 +05:00
Andrej730 b08acd1625 Fix incorrect error message for bim.link_ifc when linking using 'files' argument
self.filepath is empty if bim.link_ifc was executed using 'files' argument
bonsai-0.8.1-alpha2410240926
2024-10-24 14:25:26 +05:00
Andrej730 181b0cefc3 Fix linking ifc from shared folder on Windows #5386
The problem was that shared folders names are starting with `\\`, e.g. `\\SERVERNAME\shared_folder`. When we pass path strings we usually sanitize them and save them as posix, so it's saved as `//SERVERNAME/shared_folder` and Blender has a convention that paths starting with `//` it interprets as filepaths relative to the current .blend file, therefore it was giving some weird error that `C:\Users\xxxx\SERVERNAME\shared_folder\test.blend` is missing instead of `\\SERVERNAME\shared_folder`.

So need to be careful passing strings to Blender operators and use str instead of as_posix for those operators, so  \\` wouldn't be misinterpreted.
2024-10-24 14:25:25 +05:00
Andrej730 e85043ae31 Fix styles UI breaking on undo
Turn out storing bpy.types.PropetyGroups was not very reliable idea as they get invalidated, just as Objects.
It's still breaking if you'd try to rename the style and then undo.
bonsai-0.8.1-alpha2410231334
2024-10-23 18:34:03 +05:00
Andrej730 ca0e4f9cd6 Fix error duplicating type when current tool doesn't match the type #5591 2024-10-23 18:34:03 +05:00
Andrej730 3ff0ff66a4 Try to ensure undo will still work in case of an error
Previously transaction was never finished and therefore is_top_level_operator would never be triggered (without restarting project) making any IFC undo useless.
Previously it wsan't finishing transaction therefore:
- it was possible to undo ifc changes in the last step that had an error

- since transaction was never finished, IfcStore.current_transaction was never cleared and therefore is_top_level_operator will be never be triggered for the next operators, so new transactions are never created breaking undo for any further ifc changes.

Now user can try to undo the last action to save the file.
2024-10-23 18:34:02 +05:00
Andrej730 0ea71b0795 Ifc.Operator - remove second refresh_ui_data
Seems to be already covered by refresh_ui_data in IfcStore.execute_ifc_operator.
2024-10-23 18:34:02 +05:00
Andrej730 932a718d2d limit active_material_index handler callback 2024-10-23 18:34:02 +05:00
Andrej730 106b6f74e1 Handle listeners on unlink commit/rollback 2024-10-23 18:34:02 +05:00
Andrej730 88de650660 Simplify IfcStore.relink_object 2024-10-23 18:34:02 +05:00
Andrej730 72ea93bc0f Prevent adding None to guid_map
OperationData was always including guid key, so guid_map[None] was pointing to some object (typically a style). Also covered by rebuild_element_maps in the most cases.
2024-10-23 18:34:02 +05:00
Andrej730 6f347bcb81 Undo to clear listeners for linked objects
Typically it's already covered by rebuild_element_maps after undo but just to be consistent with commit_link_element.
2024-10-23 18:34:01 +05:00
Andrej730 fa29c42887 common method for setting up Blender listeners for objects 2024-10-23 18:34:01 +05:00
Andrej730 86edd52894 Unlinking elements to clear Blender listeners
to prevent unnecessary callbacks
2024-10-23 18:34:01 +05:00
Andrej730 db0a72c794 Add min/max values for roof angle/percentage
That way those props should be easier to edit, previously dragging "percentage" would go to infinity very quickly.
2024-10-23 18:34:01 +05:00
Andrej730 d68dee148b Fix infinite recursion with angle/percentage roof properties in 2597827
Probably was harmless, it was just flooding the console with errors such as:

object address  : 000002485A776380
object refcount : 2
object type     : 00007FFBD1249050
object type name: RecursionError
object repr     :
lost sys.stderr
File "\bonsai\bim\module\model\prop.py", line 707, in <lambda>
object address  : 000002485A774520
object refcount : 2
object type     : 00007FFBD1249050
object type name: RecursionError
object repr     :
lost sys.stderr
File "\bonsai\bim\module\model\prop.py", line 713, in <lambda>
2024-10-23 18:34:01 +05:00
Andrej730 a1134e83a4 Fix test after 8372e12f8 2024-10-23 18:34:00 +05:00
Andrej730 b61927b460 deprecate Style.get_style
In favor of Ifc.get_entity
2024-10-23 18:34:00 +05:00
Andrej730 863633f2dc Prevent adding name callback to non-ifc blender materials
Also removing one more artifact from #4843
2024-10-23 18:34:00 +05:00
Andrej730 b7dfeaee37 typing 2024-10-23 18:34:00 +05:00