Commit Graph

9369 Commits

Author SHA1 Message Date
Andrej730 8df04091ff ifcopenshell.api.run optimization
cache usecase classes instead of importing their modules and getting them each time, makes empty api call twice as fast
2024-04-18 10:48:24 +02:00
Andrej730 da838a2c7c deprecate spatial.remove_container in favor of spatial.assign_container
added temporary support for old version with warnings:

WARNING. `spatial.remove_container` api method is deprecated and should be replaced with spatial.unassign_container
WARNING. `product` argument is deprecated for API method "spatial.remove_container" and should be replaced with `products`.
2024-04-18 10:48:24 +02:00
Dion Moult d9d38e00bf See #4481. Faster implementation of object hiding and toggline viewport visibility. 2024-04-18 10:48:24 +02:00
Dion Moult 8d9a65caa4 Fix #4497. Drawing text annotations are now based on actual line breaks. 2024-04-18 10:48:24 +02:00
Dion Moult 4541a15a19 See #4497. Show invisible newlines and allow newline editing in attributes. 2024-04-18 10:48:23 +02:00
Dion Moult ba8257c9b0 Fix #4533. Add convenience link to launch type manager when no types exist. 2024-04-18 10:48:23 +02:00
Benoit DAMAY 446e9093a3 Inline help feature (#4409)
* Help operator in grouping and filtering Panel

Opens up a webbrowser on click

* Help button on the right of filtering panel header

* replacing os.rename() by shutil.move in ifcpatch

* removing debug print from previous commit

* Removing extra operator
Using bim.open_uri to open help page

* Update docs url

* Clean up whitespace

---------

Co-authored-by: Dion Moult <dion@thinkmoult.com>
2024-04-18 10:48:23 +02:00
ppaawweeuu d6eb8c131b Add CCI Classification schema
I'd like to add CCI classification to BBIM. It is very similar to CSS, developed by CCI-C and licensed under CC BY 4.0
More details here: https://cci-collaboration.org/the-standard/

This is my first commit, I used CCS(EN).ifc file as reference. Any feedback welcomed.
2024-04-18 10:48:23 +02:00
Gorgious 69d51283c7 New UI List in Sandbox panel to access, flip, remove, add, edit clipping planes
and some tweaks :
- Disable possibility to edit clipping plane quad geometry
- Add select and delete operators
- Remove polls from CreateClippingPlane that prevented from using it in the Properties editor. The clipping plane is added near the origin when using the Add button in the panel
2024-04-18 10:48:23 +02:00
Andrej730 163f5f2611 aggregate.unassign_object - support batching #4474 2024-04-18 10:48:23 +02:00
Andrej730 833f67cf45 aggregate.assign_object - support batching #4474 2024-04-18 10:48:23 +02:00
Andrej730 b106d6a4d1 temporary support for deprecated api arguments #4531 2024-04-18 10:48:23 +02:00
Andrej730 bc8b4e1a69 typing 2024-04-18 10:48:23 +02:00
Andrej730 9ef63e9b04 black format 2024-04-18 10:48:23 +02:00
Andrej730 65d419d5c7 fix test after 7dd0d7601 2024-04-18 10:48:23 +02:00
Andrej730 d35f2dd0e9 layer.unassign_layer - support batching #4474 2024-04-18 10:48:23 +02:00
Andrej730 a003bc0018 layer.assign_layer - support batching #4474 2024-04-18 10:48:23 +02:00
Andrej730 7d0111115b validate - add examples 2024-04-18 10:48:23 +02:00
Andrej730 e21eaac3a2 fix possible infinite recursion in bim.debug_active_drawing #4500
also fixed the issue with mixed up results at the end of the operator execution
2024-04-18 10:48:23 +02:00
Dion Moult 3357f89311 Fix #4509. Don't show scary error message if you haven't specified a filter query. 2024-04-18 10:48:23 +02:00
Dion Moult 562bc14f5b Fix #3759. IFC4X3 files should use ADD2 identifier. 2024-04-18 10:48:23 +02:00
Dion Moult aba8683d5e Fix #4303. Declare dependencies for ifctester. 2024-04-18 10:48:23 +02:00
Dion Moult ef1a92a9ee Publish IfcClash to PyPI 2024-04-18 10:48:23 +02:00
Dion Moult bfe2d9f256 Publish IfcCSV to PyPI 2024-04-18 10:48:23 +02:00
Dion Moult 1ab76897a8 Whoops again 2024-04-18 10:48:23 +02:00
Dion Moult 0168c0ee26 See #4529. Publish IfcPatch to PyPI. 2024-04-18 10:48:23 +02:00
Dion Moult 42db0b18b0 Add bSDD makefile 2024-04-18 10:48:23 +02:00
Dion Moult 89b1616d2b Publish bSDD to PyPI 2024-04-18 10:48:23 +02:00
Dion Moult b158d6a5f8 Materials with no style colours now default to Blender's default colour when linking models 2024-04-18 10:48:23 +02:00
Dion Moult 9a19fb89c9 Fix #4521. 2024-04-18 10:48:23 +02:00
Dion Moult 52be9684fc Minor fix in doc utility for entities which have no predefined types 2024-04-18 10:48:23 +02:00
Dion Moult 46adb2b4db Fix bug where drawing psets were needlessly updated and random objects would get drawing psets added on them
The prop update callbacks on has_underlay, has_linework, and has_annotation would edit the active object, which is not necessarily the camera. Yikes! Also, this means that when activating the drawing, it would sync references and every time it synced a reference it would attempt to sync these properties too which was slow and wasteful.
2024-04-18 10:48:23 +02:00
Dion Moult acba7c2410 Fix #4492. Refix bug where there was an extra equal sign when loading saved queries. 2024-04-18 10:48:23 +02:00
sebphi 0f33c000fb Fix import of ifcopenshell.util.unit in Python <3.10 #4520 2024-04-18 10:48:23 +02:00
Andrej730 eebcc48238 group.unassign_group - support batching #4474 2024-04-18 10:48:23 +02:00
Andrej730 df9a306730 spatial.unassign_container - support batching #4474 2024-04-18 10:48:22 +02:00
Andrej730 52995d1cdd spatial.assign_container - support batching #4474 2024-04-18 10:48:22 +02:00
Andrej730 ee6c7a9fad black format 2024-04-18 10:48:22 +02:00
Andrej730 443cd5187c typing 2024-04-18 10:48:22 +02:00
Andrej730 1d916f41e2 Collector.sync skip_unlinking option #4500
To speed up the drawing process in large projects and reduce time on syncing stage I've found that if object is already assigned to it's parent collection (both as part of blender collection and in IFC) we can skip assigning stage significantly reducing time on syncing in general (from 20-25 secs -> 9 secs).

The only thing we'll be missing in that case that object won't be unlinked from other unrelated blender collections which shouldn't break anything in the case of drawing generation.
2024-04-18 10:48:22 +02:00
Andrej730 bbdfe11cc0 documentation and small refactor 2024-04-18 10:48:22 +02:00
Andrej730 26e296c4b5 small optimizations
1) stop on first parent collection
2) ensure object's own collection's parent has BIMCollectionProperties.obj during the loop
3) collector._get_collections - returns project's own collection for consistency
4) couple tweaks skipping unnecessary iterations in loops
2024-04-18 10:48:22 +02:00
Dion Moult 9ee35b1054 See #4518. Fix pypi python version requirements. 2024-04-18 10:48:22 +02:00
Dion Moult 35f425c69d Add missing build dep 2024-04-18 10:48:22 +02:00
Dion Moult 336d056be7 Fix evil hacks in ifcopenshell pip dist packaging and support py312 on PyPI 2024-04-18 10:48:22 +02:00
Dion Moult a12c732d0f Fix #4504. Extract CAD layers when linking in models. 2024-04-18 10:48:22 +02:00
Dion Moult f72604052b See #4504. Extract material data for linked models. 2024-04-18 10:48:22 +02:00
Dion Moult 760e8014e6 See #4508. Update example code to serialise to obj. 2024-04-18 10:48:22 +02:00
Andrej730 6bc4e003b4 bim.debug_active_drawing debug operator #4500
Operator can help narrow down failing elements when drawing is failing with "RuntimeError: An unknown error occurred".

it's located in debug section - https://i.imgur.com/b03jmkZ.png

The output is noisy but the results are highlighted:
https://i.imgur.com/0ZA0u60.png
https://i.imgur.com/oXzqIXU.png
https://i.imgur.com/Y0nMRMz.png
2024-04-18 10:48:22 +02:00
Andrej730 d0e1a04fba bim.create_drawing to sync only once if printing multiple drawings
Turned out syncing process takes too much time on large projects, so we can speed up the printing process by syncing just once. Also exposed option not to sync to operator's properties to allow debugging failing elements.

A bit related to #4500
2024-04-18 10:48:22 +02:00