Commit Graph

112 Commits

Author SHA1 Message Date
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
Dion Moult 3bc4e756cb Add support for case insensitive file units on import 2020-11-02 10:20:44 +11:00
htlcnn 163075a821 black ifcblenderexport 2020-11-02 08:28:02 +11:00
htlcnn 5e844682ea unformat log messages 2020-10-29 09:15:07 +11:00
Dion Moult 6fd5f8d8c7 Support import of IFC2X3 document information / reference date times and formats 2020-10-27 11:08:22 +11:00
Dion Moult 76af85264f Fix bug where attributes wouldn't import for some IFC classes 2020-10-26 14:25:39 +11:00
Dion Moult 473d97649c Implement workaround when importing ProStructures files that aggregate elements of different types together 2020-10-26 14:06:06 +11:00
Dion Moult e1c1cf6c9b Implement model offset workaround for Bentley ProStructures. See #1047.
In an ideal world, projects are geolocated properly in IFC. If not, they tend to store it in the spatial structure placement which is then inherited (e.g. Revit) or in the geometry coords themselves (e.g. 12D). In the case of Bentley ProStructures, it seemas s though large coords can be found in both object placements and geometry coords and who knows where else. In this scenario, a model offset is a clean solution rather than patching. However, it will lead to mesh inaccuracies in Blender due to the mixing of large numbers in both object locations and geometry coordinates.

Also model offsetting is useful to have available in general.
2020-10-26 13:36:18 +11:00
Dion Moult 8872a13fd8 Classification trees are now stored in the blend instead of an external file for portability. See #1036. 2020-10-24 21:35:01 +11:00
CyrilWaechter 85e7ed380e Import materials psets and display it
Import psets similarly to objects.
Display in the UI similarly to objects.
Basic handling for ConstituentSet and MaterialList.
2020-10-09 13:22:34 +11:00
Dion Moult b4f4d9b3c5 Improve prototype of native round-tripping by reading from original file and preserving styles 2020-09-28 22:14:03 +10:00
Dion Moult cbeaee8501 Fix bug where spatial elements with representations would import twice 2020-09-20 20:36:38 +10:00
Dion Moult 6cc4ce46c2 Proof of concept of native representation roundtripping 2020-09-17 17:28:17 +10:00
Dion Moult 2310bf628f You can now set facet tolerances (angular and deflection tolerance) when importing. See #766. 2020-09-15 15:59:52 +10:00
Dion Moult 1a04e54f03 Fix bug where multiple presentation style assignments in IFC2X3 would get ignored 2020-09-12 10:59:45 +10:00
Dion Moult 518c3eb6f0 Remove deprecated representation item operators in the mesh properties 2020-09-11 16:33:33 +10:00
Dion Moult 03b8503049 2D annotation now extracts from IFC directly, and considers bounding box intersection with the section plane 2020-09-01 22:44:28 +10:00
Dion Moult 55a54098dd Fix #961. Reloading is now more robust, and detects opening and projection changes to geometry 2020-09-01 12:18:48 +10:00
Dion Moult f1269c7618 Fix #964. Allow import of nested IfcSpace. 2020-09-01 09:46:40 +10:00
Dion Moult 6ac56cbcf6 Fix #965. Improve canonicalisation of material names to fix import failure. 2020-08-31 22:31:15 +10:00
Dion Moult eea7b6547e Fix bug where mapped representations belonging to a context fails to import 2020-08-28 08:24:32 +10:00
Dion Moult 345ef27b15 Support IFC2X3 classification CalendarDates 2020-08-26 20:04:07 +10:00
Dion Moult 75b34b6a95 Support import of native IfcCircleProfileDef 2020-08-17 10:22:27 +10:00
Dion Moult 2c79f07abf New purge classifications feature, and imported systems shows up immediately 2020-08-15 18:37:03 +10:00
Dion Moult cc4a29fc11 New feature to quickly add an Ifc Grid system object 2020-08-14 20:43:44 +10:00
Dion Moult 0a657be394 Grid axes are now categorised in UVW and have attributes on import 2020-08-14 18:22:07 +10:00
Dion Moult 9062d9720b Add import support for IfcGrid itself, not just the grid axes 2020-08-14 16:54:47 +10:00
Dion Moult 3292b98080 Allow export of type relations in IFCCSV 2020-08-08 17:58:45 +10:00
Dion Moult 7d976b1bc7 Add support for importing area and volume units 2020-08-08 14:47:33 +10:00
Dion Moult ecebb4b853 Fix #932 - bug where a material_id of -1 will not import. 2020-07-31 20:28:01 +10:00
Dion Moult 3e985facdd When absolute coordinates are offset during import, record the offset 2020-07-31 20:10:05 +10:00
Dion Moult e9cd48c62d Fix import bug getting geometry type of objects without a representation
E.g. an IfcGridAxis
2020-07-31 15:41:38 +10:00
Dion Moult e63f083a40 Fix bug where IFC2X3 files cannot have coordinates reset properly 2020-07-31 09:32:08 +10:00
Dion Moult a376ec1b12 Accommodate blank qto names. Probably invalid IFC though. 2020-07-31 09:31:31 +10:00
Dion Moult e7446dc6cb Fix bug #936 where long, duplicate, material names fail to import. 2020-07-30 19:15:06 +10:00
Dion Moult ab432ba3dd Allow "none" geometry types for objects with no body representation 2020-07-18 13:11:13 +10:00
Dion Moult 9f63f42e6e Support import of IfcObjective constraints 2020-07-16 11:52:51 +10:00
Dion Moult e3de339ab2 Fix import bug where truncated material names cause import failure 2020-07-16 11:11:47 +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 65821c4367 Group all aggregates into a single collection and update aggregate operators 2020-07-10 13:52:34 +10:00
Dion Moult 2132706c6e Migrate import geolocation to util module 2020-07-10 12:00:54 +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 d22d903a36 Improve absolute coordinate support for georeferencing 2020-06-29 11:16:49 +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 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