Commit Graph

180 Commits

Author SHA1 Message Date
Anders Granskogen Bjørnstad d14d63dd5c IfcConvert: Fix bug with --bounds for SVG
`if(bounding_width)` evaluates to true as long as `bounding_width` is
non-zero (including negative values). Since `bounding_width` and
`bounding_height` are default initialized to -1.0, we were erroneously
setting a bounding rectangle of (-1.0, -1.0) here. This means the SVG
output has been broken/malformed if we didn't specify --bounds.
2017-10-06 15:49:07 +02:00
Thomas Krijnen 4f31b9467a Fix #248 2017-09-10 16:59:05 +02:00
Stinkfist0 c7c5e692d3 IfcConvert --version: print also OCC version. 2017-08-27 16:11:54 +02:00
Anders Granskogen Bjørnstad 475b8554a8 Site local placement (#240)
* ifcgeom: Add placement_rel_to for convert()

Change geometry conversion in `convert()` for `ObjectPlacement` such
that we can stop the `PlacementRelTo()` recursion when we hit an
`ObjectPlacement` that places a certain type, e.g. a `IfcSite'.

Introduce a new IteratorSetting `SITE_LOCAL_PLACEMENT` which will be
exposed in `IfcConvert`.

* IfcConvert: Add --site-local-placement

Some IFC authoring tools may put the global origo at a large distance
away from the actual building geometry. Also, the global X- and Y-axes
may be at arbitrary angles with natural building axes. Using
--center-model or --model-offset may place the converted geometry closer
to origo, but will still use the global IFC definition of axis
directions. Also, in a scenario with multiple IFC files for one
construction site, using --center-model on each of them would not
generate consistent geometry across OBJ or DAE files.

Solve this by introducing --site-local-placement which will disregard
the ObjectPlacement at the IfcSite level.
2017-08-19 17:21:10 +02:00
Thomas Krijnen 62794d4b07 Unused variable warning 2017-08-09 12:55:03 +02:00
Thomas Krijnen aa0a6aa5d1 Fix #178 2017-08-01 16:45:11 +02:00
Thomas Krijnen ae0afe2c0a mmap #22 2017-07-25 16:27:13 +02:00
Thomas Krijnen d94eb9a96e IfcMaterialList in XML output 2017-07-03 15:18:07 +02:00
Thomas Krijnen b604e5cf99 Fix #204 2017-07-02 19:57:10 +02:00
Thomas Krijnen 6f7afd4b2a Build comprehensive representation id. Fix #225 2017-06-28 15:24:49 +02:00
Stinkfist0 7eb1346407 IfcConvert: prevent doing IfcFile::Init() "prematurely", e.g. before some additional program option parsing that might fail. 2017-06-23 14:12:07 +02:00
Stinkfist0 771b1f3d3c IfcConvert: consistent style for user error prints. 2017-06-23 14:12:07 +02:00
Stinkfist0 3fb96cad0b IfcConvert: make sure to delete temp file if no actual conversion occurs. Also fixes serializer memory leaks. Closes #199.
C
2017-06-23 14:12:07 +02:00
Stinkfist0 84813084d0 Fix/suppress signed-unsigned integer conversion warnings. 2017-06-05 19:53:10 +02:00
Stinkfist0 f3f4c41f8d IfcConvert: add --no-progress option to suppress possible progress bar type of prints that use carriage return. 2017-06-05 11:41:55 +02:00
Stinkfist0 0adcb9ae20 IfcConvert --filter-file: Specifies a filter file that describes the used filtering criteria. 2017-06-05 11:41:55 +02:00
Thomas Krijnen af2799acd4 Matrix multiplication in OCC rather than boost::ublas (re #211) 2017-05-20 19:50:10 +02:00
Balleux Benjamin 834e05a01c Feature : For each parent element, include the type in the name if --use-element-types if used 2017-05-18 11:26:19 +02:00
Balleux Benjamin be39f30029 Fix : fix build error 2017-05-16 15:54:26 +02:00
Balleux Benjamin e02bbefa68 Clean : Removed debug logs 2017-05-16 15:20:30 +02:00
Balleux Benjamin 5c497c8f6c Fix : Handle the case where the first representation element has 0 parent 2017-05-16 15:01:55 +02:00
Balleux Benjamin 942d34ee39 Feature : Retrieve the full hierarchy. Fix the placement of the objects.
Check slab->HasObjectType before using slab->ObjectType
2017-05-16 14:27:36 +02:00
Balleux Benjamin 45ec08f840 feature (WIP) : retrieve the full hierarchy. The placement of several objects still be incorect 2017-05-16 11:27:45 +02:00
Balleux Benjamin be3dbce9f4 feature (WIP) : retrieve full hierarchy
Bug : the element are not at the right location
2017-05-15 17:45:05 +02:00
Balleux Benjamin 4f6e8a7d56 Fix : Change wrong namespace 2017-05-11 13:27:00 +02:00
Balleux Benjamin ef0e9d9eb4 Feature : Handle every IfcSlabTypeEnum (3 were missing) and sort the floors by elevation 2017-05-09 15:55:37 +02:00
Balleux Benjamin 3c2fbcc4e1 Feature : Handle every IfcSlabTypeEnum (3 were missing) and sort the floors by elevation 2017-05-09 15:54:21 +02:00
Balleux Benjamin a6ffa7fc42 Fix : fill the storey property of an Element with NULL when we don't find any IfcBuildingStorey parent 2017-05-09 14:40:23 +02:00
Tristan Zimpfer e3e4fba63a Clean of the double declaration of IfcSlabTypeEnum. 2017-04-26 10:59:07 +02:00
Tristan Zimpfer 78b904dfeb Differentiate slab types when option --use-element-types is used. 2017-04-26 10:28:38 +02:00
Balleux Benjamin 1d8f6addf8 Get the information on the IfcSlab (floor or roof..) and put it in the element name.
To be cleaned
2017-04-25 16:27:14 +02:00
Balleux Benjamin 26a9167eea Add coments 2017-04-25 11:55:09 +02:00
Balleux Benjamin 5fae7a5992 Merge branch 'feature/hierarchy' of https://github.com/mitmadness/IfcOpenShell into feature/hierarchy 2017-04-25 10:13:37 +02:00
Balleux Benjamin 7edca081bf Raise an error when the option --use-element-hierarchy is used with a file different of .dae 2017-04-25 10:13:18 +02:00
Tristan Zimpfer 08e4d16f28 Modified the condition checking if the parent had changed so an object without parent isn't placed in a storey. 2017-04-21 18:05:35 +02:00
Tristan Zimpfer 470e8e772e Comments + conditions for sorting the deferred objects added. 2017-04-21 16:15:41 +02:00
Balleux Benjamin 95acd4c517 Clean : remove debug lines
Find the floor of an element in the IfcGeomIterator class
2017-04-21 15:49:34 +02:00
Balleux Benjamin 7ce795def3 clean WIP 2017-04-20 15:06:49 +02:00
Balleux Benjamin 8e4febecc0 clean : Remove the debug print
debug : don't display the name of the element in unity anymore
2017-04-19 16:38:35 +02:00
Balleux Benjamin 195979d4f0 Merge branch 'feature/hierarchy' of https://github.com/mitmadness/IfcOpenShell into feature/hierarchy
# Conflicts:
#	src/ifcconvert/ColladaSerializer.cpp
2017-04-19 15:09:59 +02:00
Balleux Benjamin ab0e47c55f Options added : --use-element-types and --use-element-hierarchy 2017-04-19 12:07:03 +02:00
Tristan Zimpfer 9f362853d6 Added a matrix for the parent node and a better id. 2017-04-19 11:48:52 +02:00
Tristan Zimpfer 79e1e0ec04 Hierarchy v1 2017-04-13 16:39:36 +02:00
Tristan Zimpfer f446f25cee Sort DeferredObject. 2017-04-12 17:28:29 +02:00
Balleux Benjamin a02b189f69 Bug Fix : the previous commit made the program crash when an object has no parent 2017-04-12 16:11:37 +02:00
Balleux Benjamin 8312853b99 add parent property to deffered objects 2017-04-12 15:49:05 +02:00
Balleux Benjamin be326e13ed Send Hierarchy data to the serializer 2017-04-12 14:56:00 +02:00
Balleux Benjamin a2aa2bf9eb Send hierarchy data to the serializer WIP 2017-04-12 14:38:54 +02:00
Balleux Benjamin b9e9bfeceb Handle errors : when an object has no parent 2017-04-12 13:36:12 +02:00
Balleux Benjamin 37f7fbecca Retrieve the type and the hierarchy of the IFC and write it in the .dae files 2017-04-11 17:26:30 +02:00