Commit Graph

15758 Commits

Author SHA1 Message Date
Dion Moult
1406a61584 Merge branch 'fix-ifc' of github.com:Moult/FreeCAD into fix-ifc 2019-01-29 21:16:36 +11:00
Dion Moult
0855be08e5 Remove dependency on ifcopenshell at runtime and introduce new IfcVersion config 2019-01-29 21:15:44 +11:00
Dion Moult
b89907c92c Add json to cmakelists 2019-01-29 21:15:44 +11:00
Dion Moult
1c4a6e22d7 Add ArchIFC to CMakeLists otherwise nobody will get it 2019-01-29 21:15:44 +11:00
Dion Moult
c85514b2cf Refactor all IFC functions into ArchIFC and preload attributes with expressions
* The import code will manually set 2x3 attributes
 * The import code will rely on "smart" attributes for ifc 4
 * ArchSite and ArchBuildingPart now support IFC
 * IfcSite lat/lon is left alone until I better understand how coords work
2019-01-29 21:15:44 +11:00
Dion Moult
3448bb477c Fix a couple of broken properties 2019-01-29 21:15:44 +11:00
Dion Moult
6e7a0138cd Migrate IfcAttributes to IfcData for backwards compatibility 2019-01-29 21:15:44 +11:00
Dion Moult
33078844e6 Load JSON based on ifcopenshell schema version
This allows us to support more than one ifc version. The 2X3 jsons cannot be autogenerated and have been manually written based on the hardcoded values in the old codebase.
2019-01-29 21:15:43 +11:00
Dion Moult
69f7789dca Bump ifc_products.json to have uppercase enums
Enums should be uppercase which matches the IFC docs. This also prevents the need to do a upper() when using these values with IfcOpenShell.
2019-01-29 21:15:43 +11:00
Dion Moult
2c1fca3e5e Implement import and exporting of IFC attributes 2019-01-29 21:15:43 +11:00
Dion Moult
6da7f44916 Make importIFC use IfcData instead of IfcAttributes. 2019-01-29 21:15:43 +11:00
Dion Moult
a192e5411f Now support boolean, floats, and length IFC types instead of just enum 2019-01-29 21:15:43 +11:00
Dion Moult
06ccc04f1c Remove hardcoded ifc types and instead load from ifc_types.json 2019-01-29 21:15:43 +11:00
Dion Moult
9d3a988cda Update ArchComponent and importIFC to use values from the new ifc_products dictionary 2019-01-29 21:15:43 +11:00
Dion Moult
f097b3a2bf Add ifc_types.json which stores all of the ifc types 2019-01-29 21:15:43 +11:00
Dion Moult
84d39e8316 Bump IFC products to be a dictionary instead of a list 2019-01-29 21:15:43 +11:00
Dion Moult
8d04a4882c Add support for IFC enums, and minor variable name consistency cleanup 2019-01-29 21:15:43 +11:00
Dion Moult
2924dd1779 Add support for storing all IFC attributes as text attributes for now. Data is stored in IfcData as a JSON serialised string. 2019-01-29 21:15:43 +11:00
Dion Moult
171e713de0 Refactor IfcAttributes to be called IfcData.
* IfcAttributes as a name is misleading, as currently it stores GUID (yes, an attribute), but also stores IFC export settings (i.e. not an IFC "attribute", per say)
 * The previous description of "Custom IFC properties ..." is also misleading, as properties might suggest it stores property sets, which it doesn't (IfcProperties does, currently)
 * IfcData is more generic and allows us to store more data in it in the future
2019-01-29 21:15:43 +11:00
Dion Moult
7c8fb24338 Navigate to the json file in an os agnostic manner 2019-01-29 21:15:43 +11:00
Dion Moult
b81ab2718a Fix incorrect directory for location of json file 2019-01-29 21:15:43 +11:00
Dion Moult
7f02b0924c Load IFC from external JSON file for flexibility 2019-01-29 21:15:43 +11:00
Dion Moult
e2d2e723f9 Add extracted list of IFC products 2019-01-29 21:15:43 +11:00
Dion Moult
f6d6cd35d3 Remove dependency on ifcopenshell at runtime and introduce new IfcVersion config 2019-01-29 21:14:35 +11:00
Fredrik Johansson
93dd00cc39 Make startpage navigation buttons work initial load 2019-01-27 23:29:25 -02:00
carlopav
763b4f3d8c Update DraftTools.py
Small fix to edit tool when editing arcs.
2019-01-27 23:26:22 -02:00
Dion Moult
373e414dac Add json to cmakelists 2019-01-28 10:23:27 +11:00
Dion Moult
7191d7727e Add ArchIFC to CMakeLists otherwise nobody will get it 2019-01-28 10:19:07 +11:00
Dion Moult
47b9c17a4d Refactor all IFC functions into ArchIFC and preload attributes with expressions
* The import code will manually set 2x3 attributes
 * The import code will rely on "smart" attributes for ifc 4
 * ArchSite and ArchBuildingPart now support IFC
 * IfcSite lat/lon is left alone until I better understand how coords work
2019-01-27 23:21:04 +11:00
Dion Moult
fc72922834 Fix a couple of broken properties 2019-01-27 23:16:14 +11:00
Fredrik Johansson
5caae5f430 Fix chrash when clicking link to allow internetaccess, and not having a open document 2019-01-27 11:35:43 +01:00
Dion Moult
8a0808e799 Migrate IfcAttributes to IfcData for backwards compatibility 2019-01-27 21:14:31 +11:00
Dion Moult
d6bfcc0b5f Load JSON based on ifcopenshell schema version
This allows us to support more than one ifc version. The 2X3 jsons cannot be autogenerated and have been manually written based on the hardcoded values in the old codebase.
2019-01-27 18:31:26 +11:00
wmayer
f2dc59c3ab add missing header file 2019-01-27 00:05:23 +01:00
wmayer
d2ddce6a2e remove Standard_OVERRIDE which is unknown for older OCCT versions 2019-01-26 23:09:14 +01:00
wmayer
dbc09e3a23 fixes 0003020: 2D offset of circle are not in the right place 2019-01-26 22:52:40 +01:00
wmayer
9f96254e7e improve whitespaces 2019-01-26 22:52:40 +01:00
Yorik van Havre
bf24b74629 Draft: Small fix to Edit tool 2019-01-26 18:47:51 -02:00
Dion Moult
b10e6085e2 Bump ifc_products.json to have uppercase enums
Enums should be uppercase which matches the IFC docs. This also prevents the need to do a upper() when using these values with IfcOpenShell.
2019-01-26 22:04:10 +11:00
Dion Moult
2664f91894 Implement import and exporting of IFC attributes 2019-01-26 21:58:42 +11:00
Dion Moult
318036aa29 Make importIFC use IfcData instead of IfcAttributes. 2019-01-26 20:47:58 +11:00
Dion Moult
c613176920 Now support boolean, floats, and length IFC types instead of just enum 2019-01-26 14:51:57 +11:00
Dion Moult
d3017f8a87 Remove hardcoded ifc types and instead load from ifc_types.json 2019-01-26 13:35:56 +11:00
Dion Moult
96748561d0 Update ArchComponent and importIFC to use values from the new ifc_products dictionary 2019-01-26 13:35:17 +11:00
Dion Moult
3c73beef35 Add ifc_types.json which stores all of the ifc types 2019-01-26 13:33:17 +11:00
Dion Moult
501f19fd3e Bump IFC products to be a dictionary instead of a list 2019-01-26 13:33:01 +11:00
Dion Moult
63ffc2b6e1 Add support for IFC enums, and minor variable name consistency cleanup 2019-01-25 22:48:44 +11:00
Dion Moult
35e75ac85e Add support for storing all IFC attributes as text attributes for now. Data is stored in IfcData as a JSON serialised string. 2019-01-25 22:22:20 +11:00
Dion Moult
dce39f5045 Refactor IfcAttributes to be called IfcData.
* IfcAttributes as a name is misleading, as currently it stores GUID (yes, an attribute), but also stores IFC export settings (i.e. not an IFC "attribute", per say)
 * The previous description of "Custom IFC properties ..." is also misleading, as properties might suggest it stores property sets, which it doesn't (IfcProperties does, currently)
 * IfcData is more generic and allows us to store more data in it in the future
2019-01-25 22:16:37 +11:00
Dion Moult
1ad4efa57c Navigate to the json file in an os agnostic manner 2019-01-25 22:11:51 +11:00