Commit Graph

319 Commits

Author SHA1 Message Date
Thomas Krijnen 09c5759a9f Emit error messages on missing units 2018-09-07 14:25:46 +02:00
luz.paz 7e7da9cb1a Misc. typos
Found via `codespell -q 3`
2018-09-07 11:52:01 +02:00
Stinkfist0 aee4fe89ae IfcGeomIterator: compute model's bounding box only if needed (IfcConvert --center-model used). 2018-08-26 12:17:24 +02:00
Thomas Krijnen 14aeafe3ed Work on #426 2018-08-20 11:46:26 +02:00
Thomas Krijnen 67c27161ae SetNonDestructive does not exist prior to OCCT 7.0 2018-06-15 12:39:29 +02:00
Thomas Krijnen 4f280b1334 higher fuzz on half spaces 2018-06-12 16:15:28 +02:00
Thomas Krijnen d91a9d83eb 'nondestructive' boolean ops 2018-06-12 16:15:12 +02:00
Thomas Krijnen 7f8df04b2a Set precision on fix after boolean op 2018-06-08 14:12:01 +02:00
Thomas Krijnen 3205013d20 Additional improvements for comp curve wire building 2018-06-01 15:38:08 +02:00
Yorik van Havre 019684d762 adding exception for OCCT 7.3 2018-05-16 16:10:40 +02:00
Yorik van Havre 24fc57c743 Removed one last remaining BOPCol_ListOfShapes
Replaced one last remaining BOPCol_ListOfShapes with TopTools_ListOfShapes (deprecated in OCC7.3)
2018-05-16 16:10:40 +02:00
Otso Alho ac75a6d08c do not calculate reuse_ok multiple times for mapped representations 2018-05-14 13:36:38 +02:00
Thomas Krijnen e1000e0ab2 Optimize generation of faces with large (n > 128) number of edges. 2018-05-14 11:06:07 +02:00
Thomas Krijnen d258e2583c Add include, missing depending on occt version 2018-05-13 18:52:53 +02:00
Thomas Krijnen c477a10735 Add include, missing depending on occt version 2018-05-13 16:04:15 +02:00
Thomas Krijnen f23ffa856c Proper scope around goto labels 2018-05-13 15:30:20 +02:00
Thomas Krijnen 1ef813bf51 #332 2018-05-13 14:41:39 +02:00
Thomas Krijnen 082f16006a Limit boolean fuzz to edge length 2018-05-13 09:15:06 +02:00
Thomas Krijnen 68eab4310c Fix previous commit on gcc 2018-05-13 08:45:33 +02:00
Thomas Krijnen c8646feb4c ... but keep close point removal at 10 times precision 2018-05-08 16:19:47 +02:00
Thomas Krijnen 2cd88e12a4 Reduce radius on wire intersections 2018-05-08 09:41:19 +02:00
Thomas Krijnen 9422e375ea Copy operands prior to boolean operation 2018-05-05 16:09:12 +02:00
Thomas Krijnen 84f90c8b33 TColgp_SequenceOfPnt::Upper() does not exist on all versions of occt 2018-04-18 11:57:38 +02:00
Thomas Krijnen aeb2f10abb #288 #297 2018-04-18 11:33:57 +02:00
Thomas Krijnen 1b25f1a2cc #354 loose faces in SewedShape 2018-04-11 12:26:01 +02:00
Thomas Krijnen cdc018c9ea #329 Only auto close IfcCompositeCurve when used for profile 2018-03-09 10:41:22 +01:00
Thomas Krijnen b9b9b9c698 Fix geometry reuse in case of IfcTypeProducts with maps 2018-02-21 14:54:38 +01:00
Anders Granskogen Bjørnstad 4dd2623728 IfcConvert: Add --building-local-placement argument
Similar to --site-local-placement. Motivated by dealing with at least
two examples where IFC files for the same construction site have
inconsistent ObjectPlacement hierarchy:

- MEP models exported from MagiCAD for Revit:
   ObjectPlacement.PlacementRelTo of IfcBuilding is empty
- Regular construction models exported from Revit:
   ObjectPlacement.PlacementRelTo of IfcBuilding is pointing to
   IfcSite's placement
2018-02-19 16:17:12 +01:00
Thomas Krijnen 5b9a315823 Triangulate non-planar wires when invoked with --sew-shells 2017-11-27 16:27:36 +01:00
Thomas Krijnen 1e851ca5ad Fix typo 2017-11-13 13:01:59 +01:00
Thomas Krijnen 21c5400406 Fixes for boolean ops on recent OCCT versions 2017-11-13 12:41:37 +01:00
Thomas Krijnen 9765faa35c Fill holes in composite curves, fixes #282 2017-11-08 13:27:45 +01:00
Thomas Krijnen 25d68d320d Remove auto keyword 2017-10-06 16:01:18 +02:00
Thomas Krijnen 6c4fee1028 Color elements by material association. Reimplement reuse detection. Fix #265 2017-10-06 15:36:51 +02:00
Thomas Krijnen 688a652bc1 Fix #261 2017-09-25 14:57:49 +02:00
Thomas Krijnen 8c26037f84 Fix null dereference 2017-09-17 20:22:29 +02:00
Thomas Krijnen 96ec925f31 Spatial Querying: Implementation of BVH tree for IFC files using NCollection_UBTree (#130)
* Implementation of BVH tree for IFC files using NCollection_UBTree

* Fixes for gcc and OCCT < v6.8

* Enable BVH selection by TopoDS_Shape

* Small fixes to tree

* Merge conflicted files and other changes

* Eliminate one warning (some remain) + add tree test
2017-09-13 13:16:58 +02:00
Thomas Krijnen f2dbf7d063 Improve composite curve error message 2017-09-09 13:29:39 +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 ebfe8f9c54 Take into account Position is optional in IFC4 when processing layersets on slabs 2017-08-09 17:01:10 +02:00
Thomas Krijnen 132e5d5f6e Disable log_notice message on exceeding tolerance values 2017-08-09 17:00:41 +02:00
Thomas Krijnen fd7f6e1f26 IfcIndexedPolyCurve 2017-08-05 12:39:15 +02:00
Thomas Krijnen aa0a6aa5d1 Fix #178 2017-08-01 16:45:11 +02:00
Thomas Krijnen 6f7afd4b2a Build comprehensive representation id. Fix #225 2017-06-28 15:24:49 +02:00
Thomas Krijnen 23beb096a0 Remove auto keywords 2017-06-20 19:47:53 +02:00
Thomas Krijnen 101ef69ae9 Fail serialize() if one of the faces cannot be mapped to IFC (2x3) 2017-06-20 18:55:52 +02:00
Thomas Krijnen 5e0da9725a ifcparse refactoring (#190)
Unify attribute containers, provide latebound attribute access on IfcBaseEntity, more basic tests on Travis
2017-06-05 17:26:58 +02:00
Thomas Krijnen 9a43658716 Correct verbosity check 2017-06-05 13:08:07 +02:00
Stinkfist0 273c977f66 Remove extraneous spaces in geom filter description prints. 2017-06-05 11:41:55 +02:00
Thomas Krijnen 1704862d0d Correct test for when to reuse representation in iterator 2017-06-05 11:08:07 +02:00