Commit Graph

188 Commits

Author SHA1 Message Date
Dion Moult e3de339ab2 Fix import bug where truncated material names cause import failure 2020-07-16 11:11:47 +10:00
Dion Moult 1222716e16 BIMTester UI updated to new Gherkin syntax conventions 2020-07-14 18:22:32 +10:00
Dion Moult 42f597a7af New experimental mode to allow users to profile import progress 2020-07-13 16:15:23 +10:00
Dion Moult 88331d16a2 Fix bug where imported materials that duplicated a name could be incorrectly assigned 2020-07-13 16:12:34 +10:00
Dion Moult fa1926fa84 Exporting now uses custom people and organisations defined from the UI. See #875. 2020-07-13 15:29:06 +10:00
Dion Moult bdbe988dc7 Don't bother creation relationships to invalid psets.
An invalid pset can occur when the pset doesn't contain any properties. This can happen when all properties are not part of the pset definition template. This may lead to unwanted data loss, but strictly enforces buildingSMART pset definitions.
2020-07-12 11:06:14 +10:00
Dion Moult 6b07aeb703 Allow export of positioning elements (only IfcGrid for now) See #911 2020-07-12 10:19:22 +10:00
Dion Moult 58fad83d4f No longer require object linked materials in Blender in preparation for new material system 2020-07-11 22:25:06 +10:00
Dion Moult 4baec5754d Allow you to specify whether to recut all, or just recut selected. See #901. 2020-07-10 21:22:22 +10:00
Dion Moult 607e506767 Users no longer need to manually select types for collections when exporting 2020-07-10 14:08:04 +10:00
Dion Moult 65821c4367 Group all aggregates into a single collection and update aggregate operators 2020-07-10 13:52:34 +10:00
s-leger fd283b9c84 Update export_ifc.py
Fix for objects where material index > material slots
Keep material indexes in material slots range (index % slots is blender default behavior)
Fallback to a minimal slot count to 1 for objects without material slots
2020-07-10 12:09:10 +10:00
Dion Moult 2132706c6e Migrate import geolocation to util module 2020-07-10 12:00:54 +10:00
Dion Moult e781dbd789 Export now supports Ifc2x3 style classes in IFC4 2020-07-10 11:59:21 +10:00
Dion Moult 07f8f8c489 Support IfcSpatialElementTypes for export 2020-07-10 11:55:45 +10:00
Dion Moult a7e1eb15ab Add support for triangular grids in IFC import 2020-07-10 10:30:41 +10:00
Dion Moult a27b00e616 Allow import of invalid grids coming from Revit. See #911. 2020-07-10 10:18:33 +10:00
Dion Moult c7211ed171 Create basic UI to manage people and organisations. See #875. 2020-07-09 20:46:50 +10:00
Dion Moult fbaa6cd2ed New UI to assign constraints to objects and export 2020-07-07 12:33:41 +10:00
Dion Moult e2868f871a Support export of scaled curve bevel objects. See #900. 2020-07-06 19:14:27 +10:00
Dion Moult b866106293 Exported constraints are now managed using the new UI, no CSV required 2020-07-06 17:48:00 +10:00
Dion Moult fda508e3f8 New UI to manage IFC constraints in the file 2020-07-06 17:26:38 +10:00
Dion Moult 155a1eeca9 Fix incorrect dimension export of rectangle profiles 2020-07-04 13:26:14 +10:00
Dion Moult 79fdfa878c Rename "documentation" to "drawings and sheets" for more universal terminology. See #881. 2020-07-03 22:00:25 +10:00
Dion Moult 9a026d93fb Update fetch object passport to substitute a mesh from a Blender file only. See #871. 2020-07-03 21:54:22 +10:00
Dion Moult 125c0ced6e New feature to remove a representation subcontext. See #870. 2020-07-03 21:08:40 +10:00
Dion Moult 36b262dff9 Allow for null data in exporting georeferencing 2020-06-30 21:28:46 +10:00
Dion Moult d22d903a36 Improve absolute coordinate support for georeferencing 2020-06-29 11:16:49 +10:00
Dion Moult 3e9fff6c19 New feature to unassign/reassign IFC class easily 2020-06-23 23:42:33 +10:00
Dion Moult da7ba7b1e9 Fix bug for exporting slots with no materials 2020-06-23 22:49:56 +10:00
Dion Moult 794e55aadd Fallback to non-native if boolean operations exist. See #865. 2020-06-23 08:02:46 +10:00
Dion Moult 358d9ef1c8 Reimplement edge based mesh import
We don't use foreach_set, since for some reason doing it with foreach_set requires edit mode to be toggled for the edges to be visible. We make the assumption that an object is either edge based or face based, but not both.
2020-06-21 09:48:54 +10:00
Dion Moult a931c5ced9 Fix bug with incorrect unit scales on native elements 2020-06-20 21:23:53 +10:00
Dion Moult 189177300a Allow export of native faceted breps 2020-06-20 21:23:15 +10:00
Dion Moult b77ed5aab6 Fix bug where group subtypes are imported as the wrong class 2020-06-20 21:22:49 +10:00
Dion Moult 8962e3bcf4 Don't fail on importing case insensitive file extensions 2020-06-19 16:43:22 +10:00
Dion Moult d3f07c4ac4 Support native export of IfcArbitraryClosedProfileDef and IfcRectangleProfileDef 2020-06-18 21:55:07 +10:00
Dion Moult 391ae80e36 Add support for storing subitems of a representation, like a profile. See #865. 2020-06-18 11:50:23 +10:00
Dion Moult 76e7205692 Add experimental native support for faceted breps import 2020-06-14 19:19:54 +10:00
Dion Moult 7e362110d2 Optimise import process. See commit notes.
* When there is only one material slot, there is no need to assign materials as the slot becomes the default
 * Don't loop through collections to find the collection you need, we now store aggregate collcetions
 * The project collection is not added to the scene collection until the very end. Apparently linking objects to collections when the collection is enabled in the view_layer causes it to be twice as slow. Therefore all view layer operations happen at the end.
 * Don't print the progress bar, as excessive prints and calls to the iterator.progress() makes it very, very slow. Like, so slow you wouldn't even wait for the file to finish you'd just give up. See #895.
 * Only create materials once per mesh. Nobody seems to be using styled items properly as an object override anyways.
 * Use foreach_set to create meshes instead of mesh.from_pydata. This is much faster.
 * Similarly use foreach_set to set material indexes. This leads to a crazy speed increase on big meshes.
2020-06-14 19:17:58 +10:00
Dion Moult 7b98e48b9c Prevent adding a crazy number of material slots, especially in messy IFCs coming from Revit 2020-06-14 19:03:43 +10:00
Dion Moult d8373715e2 Disable mesh cleaning if objects >= 10000, for import optimisations 2020-06-12 21:48:35 +10:00
Dion Moult 9961f6172f Users can now choose whether to import type representations, disabled by default 2020-06-12 21:46:28 +10:00
Dion Moult 2035cf64c2 Improve i18n support in section plane tool and fix bug for invalid materials 2020-06-12 16:59:27 +10:00
Dion Moult 2f8ea33da5 Native elements are now always processed separately with multithreading, reducing bugs with 2D axis representation parsing too. See #865. 2020-06-11 10:57:29 +10:00
Dion Moult edc3aa6157 Support import whitelists and blacklist filters. Groundwork for #865. 2020-06-11 10:52:00 +10:00
Dion Moult 4a6868495e Opening elements now create a boolean relationship. See #865. 2020-06-11 09:58:40 +10:00
Dion Moult 9ae3adf0d7 Distinct representation items are now stored in different vertex groups. See #865 2020-06-08 17:04:36 +10:00
Dion Moult a8a51eb212 Add support for styled surfaces for native elements. See #865 2020-06-08 12:06:15 +10:00
Dion Moult 0237f12ceb Add native element processor for extruded solids and swept disks. See #865 #885
* New user option to enable native element processing
 * Native element geometry will be substituted with dummy geometry so that the iterator doesn't waste time on it
 * IfcArbitraryClosedProfileDef and IfcRectangleProfileDef are supported for IfcExtrudedAreaSolid
 * Old rebar code full of assumptiosn deleted for a more globally applicable native support for IfcSweptDiskSolid
 * Probably created a whole bunch of new useful utility functions in the process, which can contribute to #829
2020-06-07 22:53:33 +10:00