Commit Graph

298 Commits

Author SHA1 Message Date
Dion Moult ce3490824d Optimise all editing API functions to be 100x faster when you're dealing with proprietary BIM exports with loads of shared owner histories. See #1904 and #1905. 2022-01-10 12:12:34 +11:00
Dion Moult 4f047274bf The IfcOpenShell API now supports automatic primitive casting for editing properties. See #1943. 2022-01-07 17:38:43 +11:00
Jesusbill 03f5feca88 refactor structural module - wip - structural analysis models #1848 2022-01-02 00:34:38 +01:00
Cyril Waechter d1caa3242f Refactor to usecase as asked in #1881 (#1907) 2021-11-30 21:24:19 +11:00
Cyril Waechter f991b053d3 Allow to manually update boundary connection geometry (#1899)
* Allow to manually update boundary geometry

Following have been created in this purpose:
* usecase in ifcopenshell.api
* blenderbim operator
* button in blenderbim manually trigger it

* Assign kwargs to object instead of settings dict

* Add forgotten helper file
2021-11-30 13:29:22 +11:00
Dion Moult 622ff05247 Fix bug where updating owner history may not work if you were using it outside Blender. 2021-11-29 20:17:02 +11:00
Dion Moult d638405ff8 Assigning library references now works on IFC2X3. 2021-11-29 20:16:25 +11:00
Dion Moult 3accc1dbd6 Editing object placements is now 3x faster on large files. See #1807. 2021-11-29 19:58:03 +11:00
Dion Moult a1817e8a61 Fix #1889. Allow explicitly overriding data types when editing psets. 2021-11-24 16:38:19 +11:00
Dion Moult 18719c16df Fix bug where subelement coordinates were incorrectly calculated in non SI units 2021-11-17 16:22:23 +11:00
Dion Moult f9221717ff You can now associate IFC elements with Brick elements and navigate to them 2021-11-17 13:27:07 +11:00
Dion Moult 4617d9f234 A whole bunch of new usecases for managing IFC library information and references 2021-11-16 18:30:23 +11:00
Dion Moult 43869c33f6 Rebuild text annotations to have leaders in the same object and use text literals. See #1153. 2021-11-16 08:54:29 +11:00
Dion Moult c1c50f8868 Minor fix. 2021-11-10 12:46:07 +11:00
Dion Moult 7ccb6ee110 Resolve #1836. Scaling in Blender is now auto resolved when representations are updated. 2021-11-08 21:12:38 +11:00
Dion Moult 117f663f48 Fix bug where you couldn't add a plan representation to something with no context identifier 2021-11-06 17:48:31 +11:00
Dion Moult 07bee4acfa Fix bug where adding a representation to type instances didn't ensure it was added to a geometric type 2021-11-05 15:14:10 +11:00
Dion Moult 109149a0be Optimise owner check depending on your implementation and no longer create default users on IFC4. Can result in 50% faster script running on long scripted operations. 2021-10-29 18:04:17 +11:00
HassanEmam 4bb549f3e9 IFC4D code refactoring (#1834)
* P6XML Parser failing on calendar type

* add work plan references a get_person which is not an attribute. modified to get_user to work

* Initial support for Primavera XER files

* IFC4D impl XER calendars exceptions and work time

* merged updats

* refactoring code for the 4D model to avoid duplicate code

* Assign process in the api module was missing an atrribute QuantityIn Process

* Merged changes from master

* refactoring

* resolved conflicts

* refactoring code for IFC4D

* refactoring code for IFC4D

* refactoring code for IFC4D

* Reverted the changes to IfcRelAssignsToProcess usecase

* Changed the class to be more discriptive from Utils to ScheduleIfcGenerator

* reverted changes to add_work_plan and Makefile

Co-authored-by: Dion Moult <dion@thinkmoult.com>
2021-10-28 18:49:02 +11:00
Dion Moult 3406c23f98 Fix bug where copying a type also copied its type relations which is invalid. 2021-10-26 20:51:27 +11:00
Dion Moult 818e8010a4 Minor fix. 2021-10-25 19:32:37 +11:00
Dion Moult 7bccf10fec Fix regression bug where you couldn't add a grid. 2021-10-23 21:19:10 +11:00
Dion Moult 9ffe92eae5 Assigning a parametric layer type (for walls for now) now attempts to switch from non parametric to parametric geometry. 2021-10-22 15:43:04 +11:00
Dion Moult a5b8728aec Fix bug where copying elements didn't ensure that material usages were unique 2021-10-22 12:09:57 +11:00
Dion Moult a8c99cebaf Fix terrible bug #1819 where duplicating mapped elements didn't actually copy the geometry mapping. 2021-10-22 11:16:03 +11:00
Dion Moult c437ba8f9d Assigning a parametric profile type now auto switches from non parametric geometry to parametric geometry 2021-10-21 16:28:55 +11:00
Dion Moult 58859ef8c3 Fix bug where when deleting representations it could sometimes overreach and delete geometric, style, or layer data of other elements. See #1812. 2021-10-20 14:11:49 +11:00
Dion Moult 4577b7bf60 Potentially risky refactor of add_representation in preparation of stabilisation and optimization of geometric operators. 2021-10-18 19:23:40 +11:00
Laurens Oostwegel b41e90ead6 IfcOpenShell-python: Implemented point cloud export functionalities (#1799)
* Implemented export of point cloud representation

* Do representation geometry data no-edge check before no-polygon check
2021-10-15 12:15:55 +11:00
Dion Moult 68fd0c0cf5 Fix bug where you couldn't filter imported subelements without also selecting their parents 2021-10-14 18:47:48 +11:00
Dion Moult 199be3363f Fix bug where copying elements shared a placement. This fix speeds up copying parent elements in the decomposition significantly, like when copying a storey. 2021-10-14 16:13:48 +11:00
Dion Moult d384b3d7df Fix bug where copying a container also copied its contents 2021-10-14 15:52:38 +11:00
Dion Moult 3d0d2ec8fb Fix #1795. New support for conversion based units with offsets, like fahrenheit. 2021-10-14 12:46:01 +11:00
Dion Moult 464b0c2ebc Unassigning the last unit now cleans up empty unit assignments 2021-10-14 12:42:33 +11:00
Dion Moult e17ae4ef61 Fix #1792. Regression caused by other improvements in editing object placement. 2021-10-13 11:55:03 +11:00
Dion Moult fc2e12bff6 New usecase for adding conversion based units 2021-10-12 18:34:26 +11:00
Dion Moult f26d43e0cd Prioritise editing rendering surface styles over shading surface styles 2021-10-07 18:51:50 +11:00
Dion Moult 9508858fcb New unassign aggregate feature. 2021-10-06 14:11:54 +11:00
Dion Moult 3aa36dd4b7 Changing aggregation now ensures spatial containment is mutually exclusive to prevent invalid IFC data 2021-10-06 12:52:01 +11:00
Dion Moult cbc0b8d5d4 When assigning containers, ensure aggregates and containers are mutually exclusive 2021-10-05 17:49:29 +11:00
Dion Moult c105b8f3a7 Fix bug where assigning a spatial container didn't work with non local placements 2021-10-05 17:49:29 +11:00
Jesusbill e8764c58b5 minor mods in api structural data 2021-10-04 21:32:48 +02:00
Dion Moult 6e6cbcef6f Test edit object placement. See #1711 2021-10-04 13:14:47 +11:00
Dion Moult 4697e063af You can now add and remove users for ownership history 2021-10-01 17:32:58 +10:00
Dion Moult fe1e30702a Fix bug where removing addresses and roles could leave other elements in invalid states, "IfcPersonAndOrganization" 2021-10-01 14:48:44 +10:00
Dion Moult 291bb0cd55 Removing an organisation now properly handles references appropriately. 2021-10-01 13:29:10 +10:00
Dion Moult 915fa9f9b0 Removing a person no longer has the potential to leave files in an invalid state 2021-10-01 12:35:46 +10:00
Dion Moult 0a27308532 Optimise create owner history to not rely on a person and organisation lookup, speeding up long procedures 2021-10-01 11:05:35 +10:00
Dion Moult 8bcec29429 Application data in IFC now reflects the latest IFC version tag 2021-10-01 10:10:45 +10:00
Dion Moult 42d321d553 Removing contexts now also reassign to parent or remove references to the context. 2021-10-01 09:29:38 +10:00