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