Commit Graph

564 Commits

Author SHA1 Message Date
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 ebc305c0e1 Bump IfcOpenShell 2020-06-21 19:43:58 +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
Robert Gützkow 7c7587f167 Fix #833 by adding correct number of edges
The mesh structure was invalid because the vertex indices for only one edge were set. The other edge had the same index for both vertices.
2020-06-06 23:42:24 +02:00
Dion Moult 793c1c8ec6 Enable curve imports by default, so rebar, profiles, are imported without user confusion. See #771 and #865. 2020-06-06 11:55:22 +10:00
Dion Moult 9c111a1470 Disable limited dissolve, which can break geometric accuracy. 2020-06-05 21:24:28 +10:00
Dion Moult f21ae53950 Merge pull request #880 from globalcitizen/v0.6.0
Section Plane -> Temporary Section Cutaway
2020-06-05 21:11:04 +10:00
Walter Stanish 8ab42cf09f Section Plane -> Temporary Section Cutaway 2020-06-05 20:53:20 +10:00
Dion Moult a6a4cb81c5 Merge pull request #876 from globalcitizen/v0.6.0
Minor UX and documentation tweaks
2020-06-04 12:05:16 +10:00
Walter Stanish 619abdae51 Update strings as per pull request 2020-06-04 11:42:29 +10:00
Walter Stanish f5d01a90a9 Note on platform specificity 2020-06-04 11:08:34 +10:00
Walter Stanish 3a8a4b7c86 Normalize UI panel naming 2020-06-04 11:06:46 +10:00
Dion Moult d0f02f9247 Users are prompted to assign an IFC class prior to changing IFC metadata. See #869. 2020-06-04 10:47:51 +10:00
Dion Moult 12bb14da48 Minor fix. See #874. 2020-06-04 10:33:05 +10:00
Dion Moult b708c25f90 Minor fix 2020-06-03 22:03:30 +10:00
Dion Moult 4f1514022a Material layer set usage data is now half-imported, with no metadata. See #865. 2020-06-03 11:21:10 +10:00
Dion Moult 43abb87e82 Fix incorrect type assignment on non-unique type names bug. See #865. 2020-06-02 20:48:36 +10:00
Dion Moult 2e19d7697a IFC4 georeferencing data is now imported 2020-06-02 09:34:24 +10:00
Dion Moult 72a1c00e46 Switching contexts are now more tolerant of broken IFCs. See #865. 2020-06-01 22:37:11 +10:00
Dion Moult fa461502a0 Store the IFC geometry type on import. See #865. 2020-06-01 21:57:56 +10:00
Dion Moult 0ec205ad1d Retain material data if a surface style overrides it on import. See #865 2020-06-01 20:55:14 +10:00
Dion Moult ee7ea5445a Covetool now reads north angle from project geolocation 2020-05-30 19:40:05 +10:00
Dion Moult 7e77c0c92c You can now submit custom geometry for covetool environmental analysis 2020-05-29 19:18:57 +10:00
Dion Moult ec8a07ec6a Setup a default project if one hasn't been setup yet instead of an error 2020-05-29 09:24:07 +10:00
Dion Moult bdf17e5c12 Allow for objects with no placement 2020-05-28 22:34:54 +10:00
Dion Moult 8bef6b9347 Bump IfcOpenShell build 2020-05-25 20:42:35 +10:00
Dion Moult e75cc10988 New feature to select IFC clash results 2020-05-25 19:07:09 +10:00
Dion Moult 1361c7b7e5 Users can now switch between IFC4 and IFC2X3 for exporting 2020-05-22 12:06:55 +10:00
Dion Moult 3b81a69591 You can now export psets for spatial elements 2020-05-22 11:08:54 +10:00