Thomas Krijnen
9fedbbff6d
Only convert faces once if sewing shell fails pt.2
2016-04-17 15:12:02 +02:00
Thomas Krijnen
1c1097c8a4
Only convert faces once if sewing shell fails
2016-04-16 14:47:34 +02:00
Thomas Krijnen
a33f5b6e17
Merge pull request #31 from aothms/cmake_compile_schema
...
Add option to compile (external) schema by cmake + general improvements
2016-02-18 15:43:52 +01:00
aothms
da0af77570
Compatibility for older versions of cmake, python, open cascade, boost
2016-02-18 13:17:15 +01:00
aothms
c3f1b41860
Fix https://github.com/IfcOpenShell/IfcOpenShell/issues/30
2016-02-15 17:59:31 +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
4eee9a1936
Merge remote-tracking branch 'official/master'
...
Conflicts:
src/ifcconvert/IfcConvert.cpp
src/ifcgeom/IfcGeomIterator.h
2015-12-21 11:36:23 +01:00
aothms
a2d91f9331
Fix compilation error reported by bezumenez
2015-12-04 11:56:54 +01:00
aothms
0301e2fb1b
Emit an error message on extrusions with negative height or under model precision
2015-12-02 10:17:59 +01:00
Stinkfist0
a13042f227
Fix warnings: unused variables, shadowing variable names, constant conditional expressions, integer conversions, inability to generate copy-ctor and/or assignment operator, etc.
2015-11-21 23:05:28 +02:00
Stinkfist0
6190771817
Fix/suppress signed-unsigned int conversion warnings on Windows x64.
2015-11-04 18:27:46 +02:00
Thomas Krijnen
e518146bd6
Fix IfcCurveBoundedPlane implementation
2015-06-21 16:15:15 +00:00
Thomas Krijnen
28863f90b9
Add support for IFC4.IfcTriangulatedFaceSet
2015-06-16 12:58:51 +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
aad6c77d00
Skip IfcSweptDiskSolid.InnerRadii under IfcGeometricRepresentationContext.Precision. Thanks Stefan.
2015-03-03 19:18:51 +00:00
Thomas Krijnen
def1328a91
Some more checks and fixes in the IfcBooleanResult code. Most notably set the result to FirstOperand in case healing the result fails.
2015-02-06 17:14:05 +00:00
Thomas Krijnen
63e9b706c1
Add missing #includes for OCC 6.8.0 specific #if
2015-02-06 14:20:33 +00:00
Thomas Krijnen
d23dee551c
#ifdef away the two trailing precision arguments for gp_Trsf::SetValues() when OCC >= 6.8.0
2015-02-06 12:49:53 +00:00
Thomas Krijnen
8581fed39b
Track inverse attributes more correctly
...
Rename Size() to size() on EntityList and friends
2015-01-10 22:13:52 +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
cf2e82e8f5
Create a compsolid shape for an extrusion of a IfcCompositeProfileDef and process the opening subtraction individually
2014-07-24 11:22:31 +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
1c39eba3f7
Fix typo
2014-06-27 12:24:49 +00:00
Thomas Krijnen
92c5bb637b
- Check the validity of solids created from sewed shells and potentially revert to a shell or compound of faces
...
- Flag shape representations, for which no item succeeds, as failed
2014-06-27 12:00:41 +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
b30fbf73ae
Add support for IfcSweptDiskSolid
2014-04-16 16:51:03 +00:00
Thomas Krijnen
ed1db3dc68
Process IfcStyledItems directly applied to an IfcFacetedBrep
2014-04-09 10:57:45 +00:00
Thomas Krijnen
24279776ab
Increased verbosity in unsupported entity instances
2014-04-02 15:28:04 +00:00
Thomas Krijnen
3e7c0cfd55
IfcSurfaceCurveSweptAreaSolid improvements
2014-03-31 14:00:02 +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
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
03beb42d2e
Cosmetic changes
2013-08-12 00:26:15 +00:00
Thomas Krijnen
b4059cc340
Tweak processing of IfcBooleanClippingResult and IfcPolygonalBoundedHalfSpace
2013-08-09 05:13:02 +00:00
Thomas Krijnen
14a3f80c59
Correct a regression in matrix multiplication order
2013-07-20 22:12:40 +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
6f1e1c3bad
NOTE: From now on Boost is required in order to compile IfcOpenShell
...
====================================================================
- Use boost::optional for optional IFC arguments
- Use boost::uuid for the creation of GlobalIds
- New IfcGeomObjects setting to force alignment of TopoDS_Face normal to CCW orientation
- Removed static Ifc class, renamed to non-static IfcFile. IfcFile renamed to IfcSpfStream
- Introduced Logger class
- Introduced EntityBuffer class that keeps track of all writable entities created to add them all in once to the IfcFile class
2012-08-11 13:24:08 +00:00
Thomas Krijnen
b4e42025fd
Convert all .cpp and .h files to UTF-8 with BOM
2012-07-19 18:26:47 +00:00
Thomas Krijnen
4975de6d74
Apply patch #3537663 by myueho: https://sourceforge.net/tracker/?func=detail&atid=2204968&aid=3537663&group_id=543113
2012-06-25 15:08:58 +00:00
Thomas Krijnen
b2b51e343f
Only add faces to shells that have a surface area larger than some threshold value
2012-04-07 14:34:44 +00:00
Thomas Krijnen
a9bba39b9d
Applied Patch #3509752 by mv2ax
...
Made the sewing of TopoDS_Shells into a IfcGeomObjects::Setting
Limit the maximum number of faces a shell to be sewed
2012-03-23 17:38:44 +00:00
Thomas Krijnen
3bb008c89f
- Switch to double precision
...
- Allow accessing entities by GlobalId
- Some more support for writing back IFC
- Prefix EXPRESS Enum values to avoid collisions
- Fix a bug in the SenseAgreement of Cartesian trimmed curves
- Use straight line segment in case point projection failed on trimmed curve
- Add epsilon to polylines and -loops point equality test
- Decompose a convex polygonal bounded halfspace into several unbounded halfspace and process only if they operate on a volume larger than some epsilon
- No longer fail connected facesets if a single face is invalid
- Updated IfcBlender for compatibility with Blender 2.62
- Added additional test files
2012-03-13 11:56:52 +00:00
Thomas Krijnen
2b27b86b34
- IfcGeom: Major performance improvement by only sewing faces of IfcConnectedFaceSets when needed for boolean operations
...
- Automatic tests for several well known IFC files on the Internet
- IfcBlender: Make visibility in render consistent with 3d view
- Some compatibility for Ifc2x files with IfcShapeRepresentations and RepresentationIdentifier 'IAI'
2012-03-01 21:17:06 +00:00
Thomas Krijnen
3336102b46
No longer warn about 'empty' halfspace solids
2012-01-31 17:30:46 +00:00
Thomas Krijnen
bede68bef7
Properly clear log_stream
2011-10-24 19:26:55 +00:00
Thomas Krijnen
bd79df2be7
- Make distinction between single shape and list of shapes
...
- Store shapes in std::vectors rather than TopoDS_Compounds
- Apply transformation only on triangulated meshes or when processing openings
- Store transformations in a gp_GTrsf to allow arbitrary transformations
- Support IfcCartesianTransformationOperator3DnonUniform
- TODO: Create proper class for ShapeList
- TODO: Carefully check for null pointers returned from IfcGeom::convert_shape()
2011-10-23 17:11:06 +00:00
Thomas Krijnen
34efb480d6
- Provide logging information to IfcBlender
...
- Disallow open curves for IfcPolygonalBoundedHalfSpace [fixes #3405490 Incorrectly rendered wall in FZK-Haus-EliteCAD.ifc]
- Disable tolerance on IfcCompositeCurve
- Try to convert IfcConnectedFaceSets to TopoDS_Solids regardless of whether they are open or closed shells, improves openings in IFC files exported by Revit
- Provide debugging information based on shape volume on IfcBooleanClippingResult and IfcOpeningElement
2011-10-12 16:43:29 +00:00