Commit Graph

161 Commits

Author SHA1 Message Date
Dion Moult 30d9ad1fbc Fix #1194. Aggregates no longer use collection instances. 2021-01-07 20:21:41 +11:00
Dion Moult d673e845f6 WIP psets now use partial editing with new features! See full message. See #1222.
* Psets are now sensitive to data type
 * Psets now support null vs empty
 * Psets now respect shared STEP IDs
2021-01-07 19:09:55 +11:00
Dion Moult fcc2b9ee13 WIP migrate types to partial editing. See #1222. 2021-01-07 10:47:50 +11:00
Dion Moult cac635107e WIP spatial operator now updates the blender collection structure. See #1222. 2021-01-06 11:06:59 +11:00
Dion Moult 30b3090386 WIP migrate attribute management to partial editing with 4 new features! See #1222.
New features include:

 - New clarity between null and empty string attributes
 - Attribute editing now shows appropriate UI widgets depending on data type
 - Attribute editing for enumerations now show a dropdown
 - Attribute editing is now schema sensitive
2021-01-05 13:16:31 +11:00
Cyril Waechter 516869ba5d Use lru_cache for pset module (#1229)
New features
===========
* `get_by_name` : get pset template by name
* `is_templated` : allow to check if a pset template correspond to given name

Enhancement
============
* Use of lru_cache simplify code and enhance performance largely
(10+ times more requests in 4 less time)
kudo to aothms for the idea. See https://github.com/IfcOpenShell/IfcOpenShell/pull/1221#issuecomment-752902996.
* Take advantages of new caching system and new features in blenderbim
2021-01-04 12:13:04 +11:00
Dion Moult af5350bb9f WIP refactor representation editing into geometry module. See #1222. Some new functionality as a result:
- Representations can now be added to any context, even invalid ones, non-subcontext, or missing target views
 - Switching representations now change all linked data objects
2021-01-03 19:45:40 +11:00
Dion Moult 2c6686846a WIP allow partial mesh geometry editing to preserve style assignments. See #1222. 2021-01-02 17:45:36 +11:00
Dion Moult 008014a89b WIP refactor ability to partially write a new shape representation. See #1222. 2021-01-02 15:39:24 +11:00
Dion Moult b016d39eca WIP refactoring representations to be incrementally edited. See #1222.
# Conflicts:
#	src/ifcblenderexport/blenderbim/bim/operator.py
2021-01-01 12:15:18 +11:00
Cyril Waechter 9060b6ee40 Rework python pset module (#1221)
New features
============
* Handle all syntax for ApplicableEntity as defined in IFC documentation. (drawback it increase request time by ~2/3)
* Allow to get applicable psets directly from template definition without caching.
This allow more general purpose usages. (drawback it increase request time by ~2.4)

To notice / discuss
===================
* `ifcwrap/CmakeLists` was installing only `.py` and `.bnf` files from `ifcopenshell-python`.
Why ? It now copy all files. Is it an issue ?
* property template file is now stored in ifcopenshell python module to allow usage
from every softwares. It was before only available for blenderbim addon.
* psets and qtos are now optionnally cached at object instead of module level.
This allow to work with multiple schema in the same python interpreter.
(eg. might help conversion between schemas)
* in blenderbim addon psetqto are now stored in `schema.psetqto`.
2020-12-31 21:39:33 +11:00
Dion Moult 9def261316 Importing now stores a link to the original IFC representation contexts and subcontext IDs 2020-12-30 21:09:19 +11:00
Dion Moult 1a48343bcb Optimise import and editing for files with lots of aggregations 2020-12-21 10:44:14 +11:00
Dion Moult b0bd027f84 Optimise import to only consider surface styles 2020-12-21 10:43:21 +11:00
Dion Moult 3eee5aba78 Optimise presentation layer assignment which was ridiculously slow and badly implemented 2020-12-20 11:03:19 +11:00
Dion Moult bdaf8cd0f3 Fix import bug where duplicate material names with accents cause import to fail 2020-12-03 21:44:20 +11:00
Dion Moult 2596f90015 Fix #952. Implement roundtripping of all representation contexts. 2020-12-01 10:46:28 +11:00
Dion Moult 7b7f756506 Add support of exporting material sets for construction types 2020-11-30 11:28:32 +11:00
Dion Moult 78666caa47 Minor improvement to roundtripping. Combined with 2.91 booleans, this rocks. 2020-11-27 22:02:12 +11:00
Dion Moult 3ad2d0eaac Fix import bug where some IfcOpeningElements aren't put in the openings collection properly 2020-11-27 22:01:43 +11:00
Dion Moult 7ad35249b8 IfcOpeningElements now show up as wireframe for convenience by default 2020-11-27 22:01:15 +11:00
Dion Moult cfa97be080 Be less accommodating to invalid Revit grids. See #1133. 2020-11-27 12:14:08 +11:00
Dion Moult fddea742b8 Support invalid IfcGrid elements coming from Revit. See #1133. 2020-11-27 09:31:00 +11:00
Dion Moult 15ea15d9ab Roundtripping geometry now works for one to many styled item relationships 2020-11-26 21:31:42 +11:00
Dion Moult e346d5e3c6 Support invalid empty IFC properties coming from ArchiCAD. See #1131. 2020-11-26 12:48:03 +11:00
Dion Moult c057cb9aab Recreating round-tripped representations now preserves surface styles 2020-11-24 12:09:49 +11:00
Dion Moult e2543954c0 Native geometry round-tripping now works with decoupled surface styles 2020-11-24 10:18:16 +11:00
Dion Moult b37ddb766f Native representation roundtripping now supports layer assignments and will "fix" representations to use subcontexts properly. See #952. 2020-11-23 16:00:45 +11:00
Dion Moult 280466df53 Fix bug where a material wouldn't get assigned for multiple mapped representations 2020-11-20 23:31:52 +11:00
Dion Moult 2bd44e2fe8 Add support for importing IfcMaterial description and category attributes 2020-11-20 23:31:29 +11:00
Dion Moult 9a87f3673a Vendor workaround "treat styled item as material" deprecated, as new material & style system supports styles much better 2020-11-20 20:30:30 +11:00
Dion Moult 5af85ee7a3 Add support for IFC2X3 material data imports 2020-11-20 19:49:50 +11:00
Dion Moult 44dc5a92b7 Fix bug where no colour is set if only a styled item has a style but a material has no representation 2020-11-19 22:38:23 +11:00
Dion Moult 17d069e9b5 Bump IfcOpenShell & minor fix 2020-11-15 21:08:25 +11:00
Dion Moult 76b29cb174 Presentation layers are now assigned to meshes, and implement representation assignment. See #1109. 2020-11-15 17:00:50 +11:00
Dion Moult 9080744669 Minor fixes to new presentation layer features by Krande 2020-11-14 22:17:56 +11:00
Dion Moult 2e762854fa Merge branch 'presentationlayer' of https://github.com/Krande/IfcOpenShell into Krande-presentationlayer 2020-11-14 19:54:51 +11:00
Dion Moult 819b62a747 Fix bug where a styled item could be incorrectly assigned if an element has more than one representation context 2020-11-14 14:33:58 +11:00
Kristoffer b9e34a107b Prepare for pull request 2020-11-13 14:45:08 +01:00
Dion Moult df3bb0428c Fix #1103 bug where importing multiple grids with the same name fails 2020-11-13 22:01:49 +11:00
htlcnn 728b60e8c3 remove unused imports 2020-11-13 20:13:07 +11:00
Dion Moult b3d180a288 Add workaround to guess geolocation data from Revit 2020-11-10 22:43:05 +11:00
Dion Moult a9ae92883d Add support for importing material data for type elements with no representation geometry 2020-11-10 18:02:43 +11:00
Dion Moult 1866b7852a Provide support of upgrading a deprecated material list as a constituent set during import 2020-11-10 17:50:04 +11:00
krande aca90b38c8 further experimentation. Still not able to hide\unhide 2020-11-09 18:08:03 +01:00
Kristoffer 2eae3a70d9 Added support for importing Presentation Layers from Ifc 2020-11-09 16:44:56 +01:00
Dion Moult 3477d3f1a2 Implement import support for material profile sets 2020-11-09 21:03:21 +11:00
Dion Moult 527e6b0ca7 Minor fix 2020-11-09 15:26:16 +11:00
Dion Moult 8bdd24ba16 Add support for importing all attributes of material layers and consitutents 2020-11-09 15:01:39 +11:00
Dion Moult 67baad5182 Fix #971. New utility function to query which psets/qtos apply to a class. 2020-11-03 09:53:03 +11:00