Commit Graph

3450 Commits

Author SHA1 Message Date
Andrej730 e5fa8a01b4 fixed couple styles ui bugs
1) it was failing adding a new IfcSurfaceStyle if surface_style_class != Shading/Render as surface_style was not defined

2) It was never creating render material as IfcSurfaceStyleRendering class is a child of IfcSurfaceStyleShading and if statement never got to the is_a("IfcSurfaceStyleRendering") check
2023-12-04 17:38:22 +05:00
Andrej730 ad934cd9a6 Use paths relative to .ifc instead of .blend choosing texture paths
Texture path file dialog is also filtering image files now.

Removed subtype from `FILE_PATH` from all related props since `layout.prop()` for those props starts file dialog that cannot return path relative to .ifc. It can return path relative to .blend - though it can be processed in props update to convert to relative to .ifc, this doesn't allow setting relative paths if .blend is not saved. Therefore, I've created a separate operator.

add
2023-12-04 16:42:31 +05:00
Andrej730 92fe325816 Store reference images by relative paths #3447 2023-12-04 16:42:31 +05:00
Andrej730 818bb9c823 Fix normals for generic parametric stairs #4020
Also made concrete stair normals defined more explicitly.
2023-12-04 16:42:30 +05:00
Andrej d71fad988d Merge pull request #4071 from maxfb87/fix_clone_opening 2023-12-04 16:39:34 +05:00
Dion Moult ff0d6c810f Fix #4072. IDS reports now include filename. 2023-12-04 17:26:57 +11:00
Dion Moult 8b72929d22 Fix #4073. Objects with no applicable context for the drawing view are now hidden. 2023-12-04 12:47:07 +11:00
Bruno Postle 6452872e83 BlenderBIM IFC Git allow branch creation from HEAD
Previously you could only create branches by checking out an older
revision, making changes and committing it. This was an annoyance as
typically you are making changes to the HEAD of a branch, then you
realise this should have been a branch - now you can create the branch
on commit (#3096)
2023-12-03 16:15:09 +00:00
Ryan Schultz 88d2c61453 Merge pull request #3906 from IfcOpenShell/si_unit_w_cad_tools
allow SI with CAD tools.
2023-12-03 09:59:14 -06:00
Bruno Postle f777be6403 BlenderBIM IFC Git fix typo in function name 2023-12-02 23:59:07 +00:00
Massimo Fabbro 9aad249586 fix #3834. Now clone opening produces valid IFC files 2023-12-02 17:38:28 +01:00
Andrej730 da306c6141 Reference images attached to the drawings #3447
You can also save them as annotation types.
Example - https://imgur.com/a/6trT7SZ
2023-12-01 17:05:02 +05:00
Andrej730 e53c0b74b1 bim.update_representation to save non-body representations styles #3447 2023-12-01 16:53:50 +05:00
Andrej730 cb2f58ba0f Fixed issue importing drawing's IfcAnnotations with styles #3447 2023-12-01 16:53:50 +05:00
Andrej730 c0c7727f36 fix poll errors 2023-12-01 16:53:50 +05:00
Andrej730 60526e62b4 Revert "Minor fix - remove redundant code"
This reverts commit 7828508179.

Turned out when I was assuming `bim.add_style` is assigning the style but it wasn't, it was `bim.update_representation` on the file save. So basically during the session style wasn't assigned, therefore I added back explicit style assignment. 😬
2023-12-01 16:53:50 +05:00
Andrej730 93ef2d0349 Fixed issues applying arrays
because pset wasn't removed BBIM was recognizing those elements as parts of an array resulting in issues during deletion and duplication. This issue is a regression after ec4f0e5, the root problem was that `keep_objs` wasn't working with `sync_children`.

Since `keep_objs` was used only for applying array layers I've replaced it with `array_layers_to_apply` that works for both `sync_children` = True and False.

https://community.osarch.org/discussion/1831/duplicating-failed-for-array-items-after-apply-array
2023-11-30 16:24:39 +05:00
Andrej730 7828508179 Minor fix - remove redundant code
style assignment was already done by `bim.add_style`
2023-11-30 10:41:57 +05:00
Dion Moult 7aa6be8e8a FixRevitTINs patch now also flips normals for surface TINs instead of solid TINs.
Minor fixes to use view_layer.object.active etc instead of context.active_object when running via Blender UI (it seems when you run the patch recipe from the Blender UI at least in later versions, context does not have an "active_object" property.
2023-11-30 14:58:32 +11:00
Andrej730 0679956add bim.add_reference_image #3447
Added operator to load image references as planes that will be stored in IFC.

Button location - https://i.imgur.com/L87BPyX.png
Example - https://imgur.com/a/JJXyU6C
2023-11-29 17:23:27 +05:00
Andrej730 b86f924543 move all operators added to "add mesh" menu to common method in ui.py 2023-11-29 15:12:33 +05:00
Dion Moult 962b8fac67 Fix #4049. New basic "regenerate occurrence name" operator. 2023-11-29 17:36:59 +11:00
Dion Moult fdcb705551 Fix #4054. You can now select objects based on diff results. 2023-11-29 16:27:20 +11:00
Dion Moult b80ca3c167 See #4054. Diffing now allows partial loading of changed elements to make it easier to visualise without loading and linking two models. 2023-11-29 15:57:59 +11:00
Bruno Postle 5face7170f Fix python 3.12 SyntaxWarning (#4045)
Regular expressions now need to be double-escaped:
https://docs.python.org/3/whatsnew/3.12.html#other-language-changes
2023-11-28 22:51:58 +00:00
Andrej730 c6643da4ba created uv map to have constistent name with Blender uvs
Previously it was named "Float2"
2023-11-28 16:01:10 +05:00
Andrej730 18c93a13ec moved load_texture_map to tool.Loader, added a test 2023-11-28 15:53:40 +05:00
Andrej730 7cb582de5d bim.save_uv_to_style - experimental operator to save current uv to ifc
it's very limited and covering very little cases now. It works only for IfcPolygonalFaceSets representations that consists of triangles.

Short example - https://imgur.com/a/1AxunSN
2023-11-28 15:53:40 +05:00
Andrej730 a5bb458d3d fixed issue importing uv failing for some IfcPolygonalFaceSets
It was failing with IfcIndexedTriangleTextureMap + IfcPolygonalFaceSet
2023-11-28 15:34:21 +05:00
Andrej730 c7f6a5e621 fixed issue importing uv on non meters projects 2023-11-28 12:17:31 +05:00
Andrej730 141e0240d4 fixed issue settings style blender props if there are not texture style 2023-11-28 12:17:30 +05:00
Andrej730 15cd2b6075 fixed issue with importing ifc objects with uv after 03a6ee912 2023-11-28 12:17:30 +05:00
Dion Moult fab8b5b702 Fix #3059. Implement IfcTester prohibited string templates (taking into account double negatives) 2023-11-28 17:20:20 +11:00
c4rlosdias 844f4c4944 Update IfcTester and Tester module of Blenderbim 2023-11-28 16:48:19 +11:00
Dion Moult 03809b3d5e Fix #3996. Reassigning occurrences or types now also reassigns the correlating occurrence or type. 2023-11-28 16:44:31 +11:00
Andrej730 f215670381 Small styles UI tweaks
- fixed a typo in bim.select_by_style
- added note to clarify what Shade/Render/Texture/Lighting/etc buttons do and moved style selection block at the beggining (maybe it's just me but when edit buttons are above selection ui it seemed like they affect all the styles somehow, not just the currently active one), so it will be more intuitive

Before:
https://i.imgur.com/jRSTLGI.png

After:
https://i.imgur.com/8ih4qSX.png
2023-11-27 12:29:28 +05:00
Andrej730 11df5065e4 bim.validate_ifc_file to detect if there where no validation errors 2023-11-27 11:18:38 +05:00
Dion Moult ed47b6b227 Fix #4044. Bug where object in camera view algorithm was wrong. Simplied to simple AABB test. 2023-11-25 16:02:51 +11:00
Andrej730 6216ee9a98 Fixed issue duplicating IfcRelSpaceBoundary #4043 2023-11-24 20:37:23 +05:00
Andrej730 848d6b294e Fixed console errors with BIM Tool when boundary object is selected 2023-11-24 20:24:25 +05:00
Andrej730 795a372ac9 test creating surface style without IFC entities 2023-11-24 16:49:02 +05:00
Andrej730 03a6ee9121 BBIM Shader Graph Settings - setting uv mode for the textures
Now you can set UV mode that will be used to sample textures (previously it was always using UV data on geometry or breaking if it was otherwise). Basically now you can use autogenerated UV for the objects without UV.

https://i.imgur.com/WtYdpmU.png

Removed BIMMaterialProperties.ifc_coordinate_id as it was only used during the ifc_import and maintained by the `Loader.create_surface_style_with_textures` which is also used to update live shader graph that not always have specific IFC id for the UV.
2023-11-24 15:52:31 +05:00
Andrej730 5299a9d8a2 Fixed issue updating texture style for non-faceset representations 2023-11-24 15:24:56 +05:00
Dion Moult ea6c8fe2f8 Fix #4027. Fix regression where S-D or A-D hotkeys didn't follow vanilla Blender behaviour from 81a1bd9 2023-11-24 15:09:29 +11:00
Bruno Postle 8f650c56e5 Revert 1d972a6 as no datetime.UTC on CI server 2023-11-23 21:59:23 +00:00
Bruno Postle 1d972a6a6f fix python 3.12 utcnow() deprecation warning
Warning is:

/usr/lib64/python3.12/site-packages/ifcopenshell/api/project/create_file.py:61:
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version.
Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
2023-11-23 21:16:24 +00:00
Gorgious56 0612d2b615 You can now select the same ifc classes and match predefined types with SHIFT + Clicking the "Select Ifc Class" button 2023-11-23 09:52:37 +01:00
Dion Moult 9429e478fe Fix #3691. Add toggle for power users to disable the BIM toolbar if an IFC isn't loaded. 2023-11-23 14:59:26 +11:00
Dion Moult 2f6c50d9c2 New style manager supports basic editing of externally defined surface styles 2023-11-23 13:17:33 +11:00
Dion Moult 42878e325e Minor fix to "select multiple IFC class" implementation 2023-11-23 11:18:04 +11:00