Commit Graph

14345 Commits

Author SHA1 Message Date
Dion Moult 82fd49e4c4 Fix bug when tabbing into empties 2024-09-27 23:14:22 +10:00
Dion Moult 4261fdbed6 Rewrite coordinate offset to use np.array not Vector() for precision 2024-09-27 23:09:00 +10:00
Andrej730 9f02737a2e Fix segfault trying to create IfcSweptDiskSolid with invalid curve #5474
In my case it was IfcIndexedPolyCurve with just 1 vertex. Though kernel->convert does return a boolean value to indicate if conversion was successful, we never used it - so it failed silently leading to segfault later on.
Now we also stop processing those polycurves during mapping stage but checking kernel->convert result still might be useful in some other cases.
2024-09-27 17:00:33 +05:00
Andrej730 fe3b66c044 Stop processing IfcIndexedPolyCurve with < 2 verts at mapping stage #5474
as they're invalid and would't be able to create a curve
2024-09-27 17:00:33 +05:00
Andrej730 14cea7453b Skip failed to load IfcSweptDiskSolid shapes
Noticed in the file attached in #5474 (note that it's not the issue that's causing the segfault), it was failing due IFCSWEPTDISKSOLID's IFCINDEXEDPOLYCURVE having just 1 point, resulting in something like '[Error] [ 14:07:00]  No segment successfully converted: 80=IfcIndexedPolyCurve(79,$)'.

Not sure if this kind of polyline is considered valid in IFC but it doesn't trigger any validation errors, so I guess it shouldn't stop IFC project from loading in BBIM.
2024-09-27 17:00:33 +05:00
Andrej730 cfa2dc5d97 Contexts UI - import Precision as string due problems with Blender UI
Btw this is where you can edit model geometry precision - https://i.imgur.com/CLln0oK.png
Related Blender issue - https://projects.blender.org/blender/blender/issues/128238
2024-09-27 17:00:33 +05:00
Andrej730 123d023bb3 context.operator - remove unnecessary ifc operators 2024-09-27 17:00:33 +05:00
Andrej730 8ff94d3f61 context.data - skip passing unnecessary attributes 2024-09-27 17:00:33 +05:00
Andrej730 3b64350a3f bim.create_shape_from_step_id to include ifc class and id to object name 2024-09-27 17:00:33 +05:00
Andrej730 78302d1583 typing 2024-09-27 17:00:33 +05:00
Dion Moult d93ffb1fe6 See #5491. Clean up orphaned meshes when editing. 2024-09-27 21:59:42 +10:00
Bruno Postle ceeba53c18 Fix linux Associate Bonsai with *.ifc files #5494
The package configuration only included files with extensions, so the
`bonsai` wrapper script was not packaged in the wheel
2024-09-26 22:23:38 +01:00
Andrej730 ecd147675e Ooops, revert wip commit c80c52c248 commited by accident 2024-09-26 22:02:42 +05:00
Andrej730 1cf7f65902 Hide non-simple property types to avoid breaking UI #5496
Property types that are now skipped (at least in IFC4):
<type IfcArcIndex: <list [3:3] of <type IfcPositiveInteger: <type IfcInteger: <integer>>>>> ('list', 'integer')
<type IfcBinary: <binary>> binary
<type IfcComplexNumber: <array [1:2] of <real>>> ('array', 'float')
<type IfcCompoundPlaneAngleMeasure: <list [3:4] of <integer>>> ('list', 'integer')
<type IfcLineIndex: <list [2:?] of <type IfcPositiveInteger: <type IfcInteger: <integer>>>>> ('list', 'integer')
<type IfcPropertySetDefinitionSet: <set [1:?] of <entity IfcPropertySetDefinition>>> ('set', 'entity')
2024-09-26 18:40:52 +05:00
Andrej730 7d8ef3ffd0 Fix invalid IfcRevolvedAreaSolid representations with angle <360 deg
It was always assuming angle is 360 deg
2024-09-26 18:40:52 +05:00
Andrej730 ca5f083481 Fix error trying to tab into IfcRevolvedAreaSolid
by temporary not recognizing reprs with IfcRevolvedAreaSolid as a profile usage
2024-09-26 18:40:52 +05:00
Andrej730 a35304f1d5 lock_object to also lock scales and additional rotations
to indicate that they won't have an effect (or might break things)
2024-09-26 18:40:52 +05:00
Andrej730 c80c52c248 Allow editing poly curve representation items 2024-09-26 18:40:52 +05:00
Andrej730 dd516fb873 Support moving IfcConic representation items
Example - https://imgur.com/a/UDWxXWX
2024-09-26 18:40:52 +05:00
Andrej730 f8680503ef Add default values for IfcEllipseProfileDef 2024-09-26 18:40:51 +05:00
Andrej730 23389dcac0 Update ellipse profile just for consistency with 11deb95 2024-09-26 18:40:51 +05:00
Andrej730 8814d3a22b Lock all representation items that are not movable
Otherwise it was confusing that user can move item but when they exit item mode position was lost
2024-09-26 18:40:51 +05:00
Andrej730 340e8515f5 Fix error switching mode for multiple objects 2024-09-26 18:40:51 +05:00
Andrej730 22b9a8804d notes for loading indexed maps 2024-09-26 18:40:51 +05:00
Andrej730 341b97bce2 typing 2024-09-26 18:40:51 +05:00
Andrej730 24f66bbcb4 black . 2024-09-26 18:40:51 +05:00
Dion Moult a273c87e41 Fix #5416. Optimise item decorator and make decoration more subtle to make it easier to see the mesh. 2024-09-26 23:30:12 +10:00
Dion Moult b01471aa55 See #5491. Don't show items in front. 2024-09-26 23:28:47 +10:00
Dion Moult ebb7f0c8a9 Less in-your-face grid decorations that are easily selectable due to show in front 2024-09-26 23:21:44 +10:00
Ryan Schultz d581174513 Fix #5493: Bonsai, error when using , in drawing names and clicking on the drawing in the sheet part of UI. 2024-09-25 18:36:39 -05:00
Bruno Perdigão 41d5c391e1 Polyline wall - added top and bottom division lines to product preview. 2024-09-25 16:38:33 -03:00
Andrej730 4e33569851 ifc join to support joining 3d polyline curves 2024-09-25 19:09:15 +05:00
Andrej730 761795ccbf ifc join to show error message if joining is not supported
Example - https://i.imgur.com/5vsmJN8.png
2024-09-25 19:09:15 +05:00
Andrej730 95e9b8aeef Import representation items for curve representations too
https://i.imgur.com/TeITxa0.png
2024-09-25 19:09:14 +05:00
Andrej730 dd9de98290 Store edges representation item ids in Triangulation 2024-09-25 19:09:14 +05:00
Andrej730 aad66f94a3 rename addEdge overload to registerEdgeCount
So it won't be confused with addEdge that actually does add an edge to edges_.
2024-09-25 19:09:14 +05:00
Andrej730 6ac40b4ab3 typing 2024-09-25 19:09:14 +05:00
Dion Moult fce7b4416e Forgot to handle cases where no object is selected when adding a new element 2024-09-25 23:56:18 +10:00
Dion Moult 42f32e3418 Fix #5460. Assigning a class now uses the new add element mode internally. 2024-09-25 23:48:44 +10:00
Dion Moult 47581f2316 Hooray! New add element means we no longer do this silly "add cube" and delete when adding occurrences. 2024-09-25 23:47:18 +10:00
Dion Moult c68c621400 Loading and saving extrusion items now take into account georef cartesian point offsets 2024-09-25 23:03:06 +10:00
Andrej730 61151442cf Merge branch 'bonsai-bump-macos' into v0.8.0 2024-09-25 14:00:17 +05:00
Andrej730 7b36f93973 remove debug logging 2024-09-25 13:59:55 +05:00
Andrej730 5952ce8ed3 disable_item_mode - to set previously edited object as active
It seems very natural that after exiting item mode the edited item should become active (similar to how it works in edit mode).
2024-09-25 13:59:55 +05:00
Andrej730 3c309bbac8 load_indexed_colour_map - to support loading colors for rep items
Enter item mode for simple faceset cube was failing because this wasn't supported.
2024-09-25 13:59:55 +05:00
Andrej730 3e3b133c7b black . 2024-09-25 13:59:55 +05:00
Andrej730 0af2ab53a0 bonsai makefile update regex to keep track of x86_64 version automatically 2024-09-25 13:45:37 +05:00
Andrej730 700a453501 fix breaking bonsai builds - bump macos to 10.13 for python 3.12
Recently released Python 3.12.6 dropped support for Mac OS 10.9-10.12 - https://www.python.org/downloads/release/python-3126/

And Python 3.12.6 is the one that's used by compiled builds from now - in our case it was fonttools (used by ezdxf) that compiled binaries and it's using cibuildwheel which is also started using Python 3.12.6 as it's released.
2024-09-25 13:45:32 +05:00
Jason Hilton e45b41c04b fix: compile errors qt app
I was able to hardcode load an ifc file, by uncommenting the hard
coded parse ifcfile, but I was unable to open and load files with the
qt menu.
2024-09-25 10:22:14 +02:00
Dion Moult 86367e9c1f Loading and saving meshlike items now take into account georef cartesian point offsets 2024-09-25 17:46:59 +10:00