Commit Graph

9605 Commits

Author SHA1 Message Date
Dion Moult 304acdccef Fix #3059. Implement IfcTester prohibited string templates (taking into account double negatives) 2024-04-16 11:09:28 +02:00
c4rlosdias a464551644 Update IfcTester and Tester module of Blenderbim 2024-04-16 11:09:28 +02:00
Dion Moult d6142d90a9 Fix #3996. Reassigning occurrences or types now also reassigns the correlating occurrence or type. 2024-04-16 11:09:28 +02:00
Dion Moult 4f8a6c47a1 Fix #4052. Bug where invalid plane was generated due to missing X axis. 2024-04-16 11:09:28 +02:00
Dion Moult ac42318a64 Fix #3974. Bug where orphaned histories would be left in API remove operations. 2024-04-16 11:09:28 +02:00
Kristoffer Andersen 4f655870b3 Update installation.rst
add more information about conda package installation
2024-04-16 11:09:28 +02:00
Dion Moult d0cab0821d See #3974. WIP review to ensure history removal in API. 2024-04-16 11:09:28 +02:00
Andrej730 53da438b23 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
2024-04-16 11:09:28 +02:00
Andrej730 4d3f8f14b4 bim.validate_ifc_file to detect if there where no validation errors 2024-04-16 11:09:28 +02:00
Dion Moult 4b44427e90 Fix #4044. Bug where object in camera view algorithm was wrong. Simplied to simple AABB test. 2024-04-16 11:09:28 +02:00
Andrej730 c5c7109415 Fixed issue duplicating IfcRelSpaceBoundary #4043 2024-04-16 11:09:28 +02:00
Andrej730 1019b0c075 Fixed console errors with BIM Tool when boundary object is selected 2024-04-16 11:09:28 +02:00
Andrej730 4e71671412 test creating surface style without IFC entities 2024-04-16 11:09:28 +02:00
Andrej730 e98d7ed89c 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.
2024-04-16 11:09:28 +02:00
Andrej730 3aa3b329c7 Fixed issue updating texture style for non-faceset representations 2024-04-16 11:09:28 +02:00
Dion Moult bc04a65109 Fix #4027. Fix regression where S-D or A-D hotkeys didn't follow vanilla Blender behaviour from 81a1bd9 2024-04-16 11:09:24 +02:00
Dion Moult 5f1943a756 Fix #4037. IfcTester reports now also include an element type column. 2024-04-16 11:09:24 +02:00
Dion Moult 267505bd99 Fix #4034. Bug where abstract pset template applicabilities didn't apply to occurrences as well as types. 2024-04-16 11:09:24 +02:00
Bruno Postle c846edd896 Revert 1d972a6 as no datetime.UTC on CI server 2024-04-16 11:09:24 +02:00
Bruno Postle 98cba98f7d 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).
2024-04-16 11:09:24 +02:00
Bruno Postle 4b074fc79e python api documentation fix 2024-04-16 11:09:24 +02:00
krande 5f3e9f7576 add a workflow dispatch trigger (lets you click a button in the github actions workflow panel to start a new build) 2024-04-16 11:08:05 +02:00
krande 8c0ec6d398 test one more time on my fork before merging 2024-04-16 11:08:05 +02:00
Kristoffer Andersen a744aa8570 Update ci-ifcopenshell-conda-daily.yml
change from deprecated mamba provisioner and move to python 3.11 and 3.12
2024-04-16 11:06:20 +02:00
Gorgious56 50561d72b8 You can now select the same ifc classes and match predefined types with SHIFT + Clicking the "Select Ifc Class" button 2024-04-16 11:05:27 +02:00
Andrej730 518f054cbd edit_object_placement optimization for objects with subchildren #4035
1) We were iterating over same subchildren 2 or more times.
2) There is no need to change subchildren position at all since their parent position is already adjusted.

Explained here in detail - https://github.com/IfcOpenShell/IfcOpenShell/issues/4035#issuecomment-1822824352
2024-04-16 11:05:27 +02:00
Dion Moult 847f0890e0 Fix #3691. Add toggle for power users to disable the BIM toolbar if an IFC isn't loaded. 2024-04-16 11:05:27 +02:00
Dion Moult f1b59ee583 New style manager supports basic editing of externally defined surface styles 2024-04-16 11:05:27 +02:00
Dion Moult e3742cefb0 Minor IfcPatch doc fix where examples had a missing argument 2024-04-16 11:05:27 +02:00
Dion Moult f2e56f8128 Minor fix to "select multiple IFC class" implementation 2024-04-16 11:05:27 +02:00
Dion Moult a18cd0eeab IfcFM panel now autodetects available engines with names and descriptions 2024-04-16 11:05:27 +02:00
Ryan Schultz d49fb90320 Select all objects from multiple selected classes 2024-04-16 11:05:27 +02:00
Andrej730 86f0af030a fill userdefined type field during reassigning IFC class #4034
to avoid confusion
2024-04-16 11:05:27 +02:00
Andrej730 d5253a8cbf store path to bcf in Blender file to reaccess it on Blender restart
Previously it was throwing errors if load .bcf and then restart Blender, since it was just trying to reaccess file in BcfStore.bcfxml which is gone after Blender restart. Now we store filepath to bcf in Blender properties to reload it after Blender restart.

Removed BCFProperties.is_loaded as it won't be possible to rely on it after Blender restart - after restart it will still indicate that file is loaded and it won't be possible to change it from .poll and .draw if file is gone.
2024-04-16 11:05:27 +02:00
Dion Moult b84cb72e1d New graphical element filtering UI for drawing filters that lets you also use saved searches. 2024-04-16 11:05:27 +02:00
Dion Moult 10a4fcfa10 If there is a Blender offset, show the non-offset placement in the placement panel 2024-04-16 11:05:27 +02:00
Dion Moult eaf939070b Fix bug when loading IFC with unsupported reflectance method (even though we don't fully support them yet) 2024-04-16 11:05:27 +02:00
Dion Moult 3e36e87311 Move georeferencing calculator panel until scene georeferencing panel.
Slowly all the N sidebar panels should be moved away.
2024-04-16 11:05:27 +02:00
Andrej730 b369c5e06e BCF Viewpoint - clear selection before hiding IfcSpaces #4031 2024-04-16 11:05:27 +02:00
Andrej730 6fd629f707 Fixed issue reassigning class to type class with userdefined type #4018
When PredefinedType is not found in the related enum reassign_class is considering it USERDEFINED and trying to set .ObjectType. The problem was it was doing for type classes also, when it should have set .ElementType instead.

Why it crashed BlenderBIM - in IfcClassData.data["has_entity"] we store currently active IFC entity which is recreated during `ifcopenshell.util.schema.reassign_class` making old entity invalid. Since `root.reassign_class` was failing in the process, related BBIM operator was failing too, IfcClassData wasn't updated and removed entity was accessed from UI leading to crash.
2024-04-16 11:05:27 +02:00
Dion Moult 1dd401d77e Fix critical georeferencing autodetection regression due to refactor of new context filters. 2024-04-16 11:05:27 +02:00
Dion Moult b20f0dd199 Improve geometry guessing to also check placements of random sample of elements (not just site and building), not just geometry 2024-04-16 11:05:27 +02:00
Dion Moult be584d9155 New IfcPatch recipe to tessellate elements to account for bugs in other vendors. 2024-04-16 11:05:27 +02:00
Dion Moult 15f06dee29 Fix missing LGPL license blocks in IfcPatch 2024-04-16 11:05:27 +02:00
Andrej730 4fba7461c2 Fixed more overlooked context overrides... #3876 2024-04-16 11:05:26 +02:00
Andrej730 ffce41be95 Fixed #4026 related to #3876 2024-04-16 11:05:26 +02:00
Andrej730 581014a1d5 Move code using ui index from data to ui #4028
As UI indices changes doesn't trigger data.py updates and information on screen is not synced with the active item anymore.
2024-04-16 11:05:26 +02:00
Dion Moult 990611c160 Add support for loading nested elements and consider nesting for indirect spatial containment. 2024-04-16 11:05:26 +02:00
Dion Moult 6e97ef66a1 Don't unnecessarily merge materials which can be very computationally consuming on file loads (e.g. from software like Solidworks) which will be made redundant now that a new materials/style management system is WIP. 2024-04-16 11:05:26 +02:00
Dion Moult fd53adfa49 New ConvertNestToAggregate patch recipe 2024-04-16 11:05:26 +02:00