Thomas Krijnen
24b46c1f43
Work on serialization
2017-12-22 17:37:58 +01:00
Thomas Krijnen
b3458c872f
Work on python wrapper
2017-12-22 13:51:11 +01:00
Thomas Krijnen
6622afd93a
Rename
2017-12-20 17:09:42 +01:00
Thomas Krijnen
8b4650b169
Fix compilation on msvc
2017-12-20 16:38:55 +01:00
Thomas Krijnen
a792a7e2c7
Two simultaneous IfcGeom implementations
2017-12-18 15:25:09 +01:00
Thomas Krijnen
c099234796
Update ifcgeom
2017-12-11 15:07:40 +01:00
Thomas Krijnen
c0a2e3395f
Triangulate non-planar wires when invoked with --sew-shells
2017-11-27 16:27:36 +01:00
Thomas Krijnen
6c4fee1028
Color elements by material association. Reimplement reuse detection. Fix #265
2017-10-06 15:36:51 +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
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
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
d34c3b4b20
Example for #209
2017-04-25 16:53:35 +02:00
Stinkfist0
195d68cd0a
Generalize IfcGeom::Iterator filtering and move make the filter specification external to the Iterator.
2017-03-04 13:54:19 +01:00
Stinkfist0
63b0488909
Implement filtering created geometry by layer assignments.
2017-03-04 13:54:19 +01:00
Thomas Krijnen
8ce4bbdf61
Adaptive tolerance boolean ops
2017-02-16 15:54:34 +01:00
Thomas Krijnen
c08aa3216d
Fix #163 Disallow narrow IfcPolygonalBoundedHalfSpace
2016-12-10 14:11:01 +01:00
Thomas Krijnen
4354361a13
More elaborate wire ordering check and shell sewing code ( #147 )
2016-12-09 16:40:14 +01:00
Thomas Krijnen
f1099fc3b1
Merge branch 'master' into tridify_ifcgeom_dll
...
# Conflicts:
# cmake/CMakeLists.txt
2016-08-08 10:56:06 +02:00
Ali Kämäräinen
4a85e5e7a5
MSYS build scripts and instructions ( #99 ) and warning fixes
...
* Preliminary MSYS2 + MinGW build scripts and instructions.
* CMakeLists.txt: MinGW tweaks, enforce C++03, suppress warnings for now.
* Fix some GCC warnings.
* Fix unused parameter warnings coming from Ifc*.h.
* Fix warning regarding unreachable code (++jt) on MSVC.
* Add IfcParse_EXPORT for IfcInvalidTokenException
* Fix potentially uninitialized pointer variables.
* Note about OpenCASCADE cyclic dependencies fix.
* GCC warning fix: don't generate 'current_enum' variable that is only set and not used for anything ever
* Work around -Wmaybe-uninitialized warnings about boost::optional constructs. Also prevent passing of negative values for --bounds.
* Remove unused variable.
* CMakeLists.txt: ENABLE_BUILD_OPTIMIZATIONS for GCC (simply enforce -03)
2016-07-15 05:49:32 +02:00
Stinkfist0
6bcabfd567
Dllimport/export for IfcGeom. Closes #77
2016-07-11 22:37:50 +03:00
Thomas Krijnen
aebb9e324b
Geometry serialization ( #71 )
...
Serialize geometry to IFC instances directly from a TopoDS_Shape
2016-06-22 15:03:18 +02:00
Thomas Krijnen
b04ca74308
Derive minimal face area from modeling precision
2016-05-24 12:50:05 +02:00
Thomas Krijnen
04acfe1169
Fix #63
2016-05-03 11:01:47 +02:00
Thomas Krijnen
37f0e09947
Fix compiler warnings
2016-05-02 15:56:08 +02:00
Thomas Krijnen
39e26dff46
Merge branch 'master' into layerset_slicing
...
# Conflicts:
# src/ifcconvert/IfcConvert.cpp
# src/ifcgeom/IfcGeom.h
# src/ifcgeom/IfcGeomFunctions.cpp
# src/ifcgeom/IfcGeomIteratorSettings.h
2016-05-02 15:13:30 +02:00
Thomas Krijnen
a1d584796a
Set reasonable defaults for caching behavior
2016-05-01 20:38:10 +02:00
Thomas Krijnen
c6d5adfa42
Merge branch 'master' into performance_improvements
...
# Conflicts:
# src/ifcexpressparser/implementation.py
# src/ifcgeom/IfcGeomFunctions.cpp
# src/ifcparse/Ifc4.cpp
2016-04-24 15:22:10 +02:00
Thomas Krijnen
884b3fe850
Project wires onto a plane if non-planar. Fixes #57 .
2016-04-16 14:47:09 +02:00
Thomas Krijnen
1142db3265
remove msvc specific leniencies
2016-04-09 17:54:23 +02:00
Thomas Krijnen
59d2d227d9
Directly re-use IfcMappedItem triangulated elements when not using world coordinates
2016-03-18 11:23:25 +01:00
Thomas Krijnen
8ecc1269d7
Compile-time options to manipulate caching behaviour
2016-03-18 11:21:04 +01:00
aothms
4be7da1a43
Use fuzzy boolean subtraction if available
...
Remove collinear points from polygonal halfspace boundary
Lookup styled items on boolean operation operands
Fixes https://github.com/IfcOpenShell/IfcOpenShell/issues/6
Fixes https://sourceforge.net/p/ifcopenshell/discussion/1782717/thread/a7f99e41/?limit=25#5c36
2016-01-22 17:27:28 +01:00
aothms
c9db70c7c3
Initial implementation of layerset slicing
2015-10-07 17:33:30 +02:00
aothms
3a9e90f94f
Mark IfcGeom::Kernel::getValue as const
2015-10-07 16:13:25 +02:00
Thomas Krijnen
771f78a671
Fix surface style association when compiling with IFC4
2015-05-21 12:55:54 +00:00
Thomas Krijnen
40a60386c8
Brand new implementation of IfcFace(Surface)
2015-05-20 08:55:02 +00:00
Thomas Krijnen
c97cf661a2
1. Also emit Plan and Axis shape representations and IfcTopologyRepresentations if requested. 2. Add serialization for curves. 3. In Python add option to specify representation for which to generate shape.
2015-04-22 09:15:48 +00:00
Thomas Krijnen
1c757c351b
Fix compilation of IfcOpenHouse, move IfcGeom::tesselate back directly in IfcGeom namespace
2015-01-06 10:19:24 +00:00
Thomas Krijnen
4d5d749255
Merge developments from the python_wrapper branch into master
2015-01-05 14:11:42 +00:00
Thomas Krijnen
2a403e240d
*** See: https://sourceforge.net/p/ifcopenshell/discussion/1782718/thread/6bd0f843/ ***
...
Massive refactor of the IfcGeomObjects module, which is now the IfcGeom::Iterator class.
2014-12-19 12:14:36 +00:00
Thomas Krijnen
e77216d41c
More robust processing of IfcPolyline and IfcPolyLoop
2014-07-28 20:03:53 +00:00
Thomas Krijnen
e6aa449ef8
Accept IfcBooleanResult operands that convert to set of shapes in IfcOpenShell rather than a single shape (i.e IfcShellBasedSurfaceModel, IfcFaceBasedSurfaceModel, IfcFacetedBrep, IfcGeometricSet)
2014-07-06 14:21:56 +00:00
Thomas Krijnen
1b54ba039d
- Add support for IFC4 nurbs surfaces (IfcBSplineSurfaceWithKnots and IfcAdvancedFace)
...
- Remove unnecessary typedefs
2014-05-04 14:42:55 +00:00
Thomas Krijnen
71ea636206
Add support for IfcBooleanResult, IfcBlock, IfcRectangularPyramid, IfcRightCircularCylinder, IfcRightCircularCone, IfcSphere, IfcCsgSolid, IfcCurveBoundedPlane, IfcRectangularTrimmedSurface, IfcSurfaceCurveSweptAreaSolid, IfcCylindricalSurface.
...
Add CSG example.
2014-03-22 10:31:51 +00:00
Thomas Krijnen
220b36b09c
Support for IfcCompositeProfileDef and IfcDerivedProfileDef
2014-03-16 13:34:01 +00:00
Thomas Krijnen
4c17d153f4
Add support for IfcGeometricSet IfcRevolvedAreaSolid IfcSurfaceOfLinearExtrusion IfcSurfaceOfRevolution IfcCenterLineProfileDef IfcArbitraryOpenProfileDef
2014-03-15 11:51:23 +00:00
Thomas Krijnen
17f873b486
First stab at a new express parser to have some more luck with Ifc4
2014-02-17 22:13:55 +00:00
Thomas Krijnen
bffb19a92f
Use the precision from the IfcGeometricRepresentationContext to dictate OCC modeler tolerances
2013-11-24 15:44:27 +00:00
Thomas Krijnen
80bc1b5dab
[Work in progress] Start adding support for IfcSurfaceStyleShading and -Rendering
2013-05-05 08:49:25 +00:00
Thomas Krijnen
e56281a72e
- Correctly format REALs according to ISO 10303-21 instead of C++ std::stream double formatting
...
- Add the IfcHierarchyHelper to assist in the creation of IFC files
- Add the IfcOpenHouse example for writing topological geometry and tessellated Open Cascade shapes to IFC
2012-11-04 16:26:33 +00:00