Thomas Krijnen
6c1ad47481
Additional improvements for comp curve wire building
2018-06-01 15:38:08 +02:00
Thomas Krijnen
2ed2e9cf86
Add include, missing depending on occt version
2018-05-13 18:52:53 +02:00
Thomas Krijnen
c1635d65eb
Add include, missing depending on occt version
2018-05-13 16:04:15 +02:00
Thomas Krijnen
495ad75b14
Proper scope around goto labels
2018-05-13 15:30:20 +02:00
Thomas Krijnen
966e57e94a
#332
2018-05-13 14:41:39 +02:00
Thomas Krijnen
589f4bda2e
... but keep close point removal at 10 times precision
2018-05-08 16:19:47 +02:00
Thomas Krijnen
8ffc12e6cd
Reduce radius on wire intersections
2018-05-08 09:41:19 +02:00
Thomas Krijnen
1f68d9d5bc
TColgp_SequenceOfPnt::Upper() does not exist on all versions of occt
2018-04-18 11:57:38 +02:00
Thomas Krijnen
656346741e
#288 #297
2018-04-18 11:33:57 +02:00
Thomas Krijnen
e87a1a0b32
#329 Only auto close IfcCompositeCurve when used for profile
2018-03-09 10:41:22 +01:00
Thomas Krijnen
b7ce547a0c
Fill holes in composite curves, fixes #282
2017-11-08 13:27:45 +01:00
Thomas Krijnen
f2dbf7d063
Improve composite curve error message
2017-09-09 13:29:39 +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
257c28d450
Take into account IfcTrimmedCurves with unspecified preference
2017-01-22 11:06:36 +01: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
aothms
9b13ed3f38
Emit more debug information when failing to join curve segments
2016-01-25 14:25:24 +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
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
aothms
c20afd24a5
Remove unnecessary precision cast
2015-10-05 13:09:16 +02: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
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
1b54ba039d
- Add support for IFC4 nurbs surfaces (IfcBSplineSurfaceWithKnots and IfcAdvancedFace)
...
- Remove unnecessary typedefs
2014-05-04 14:42:55 +00:00
Thomas Krijnen
4c17d153f4
Add support for IfcGeometricSet IfcRevolvedAreaSolid IfcSurfaceOfLinearExtrusion IfcSurfaceOfRevolution IfcCenterLineProfileDef IfcArbitraryOpenProfileDef
2014-03-15 11:51:23 +00:00
Thomas Krijnen
ec2ed06272
Add support for ellipses with SemiAxis2 > SemiAxis1
2014-03-03 19:07:39 +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
17ebefa158
Fix a bug in the processing of an IfcTrimmedCurve with an IfcLine as a basis constructed from an IfcVector with non-unit length.
2013-06-10 15:47:41 +00:00
Thomas Krijnen
4f26622e03
Do revert to unknown plane angle unit state after guessing when creating an IfcCompositeCurve
2012-12-31 15:48:04 +00:00
Thomas Krijnen
2f500aa098
IfcGeom: Use the 'wire creation tolerance' on point projection for trimmed curves
...
Fall back to trimming by parameter if possible and point projection fails
2012-09-16 12:49:55 +00:00
Jang Myeongho
da616ffd64
- Added getter to IfcFile object
...
- fixed wrong operator to judge plan angle unit is not exist.
- guessed plane angle unit stay in a file processing.
2012-08-21 07:06:59 +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
975d0caa0f
If no plane angle unit is provided in the IFC file, create composite curves using both radians and degrees and see which 'looks best' (=successfully created and/or closed curve)
2012-07-29 15:16:30 +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
2137ad2488
Apply patch #3534755 by myueho to use the standard M_PI instead of relying on PI defined in OCC, which recently got removed upstream.
2012-06-13 07:13:31 +00:00
Thomas Krijnen
df2bcecf96
- Fix a regression due to too high tolerance in Polyline -Loop creation.
...
- Make tolerances slightly more explicit, ideally these should obviously be configurable at runtime.
2012-03-20 09:32:51 +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
798397fa21
Do not trim conical curves if the difference between parametric values is 2pi
2012-01-02 14:56:11 +00:00
Thomas Krijnen
9d88d75b3b
Fixes #3452363 Fail to create meshes of parametric curves when no angular unit information is present in the IFC file
2011-12-07 14:07:22 +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
61c07dbe37
- Implement correct use of IfcCompositeCurveSegment::SenseAgreement and IfcTrimmedCurve::SameSense
...
- Reintroduce smaller tolerance value for IfcCompositeCurves
2011-10-13 13:37:38 +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
Thomas Krijnen
1b9c9615d1
Process entities with the "Facetation" RepresentationIdentifier too
...
Fixed a bug in the rendering of IfcTrimmedCurve
Inverted the resulting transformation of IfcCartesianTransformationOperators
2011-09-07 11:28:55 +00:00
Thomas Krijnen
d02eeac132
Reduce unnecessary use of smart pointers
...
Speed up type checking by using std::maps and switch statements
Add compile flag to win/IfcGeom.vcproj
2011-09-03 13:58:59 +00:00
Thomas Krijnen
2561f94acb
- Fixed a bug regarding IfcUnitAssignment
...
- Separate IFC parsing library and geometry libraries [#3395025 ]
- Added example for IfcParse usage without geometry or Open CASCADE functionality
- Cleanup of vcproj Open CASCADE dependencies
- Added function to query parent class type in IfcExpressParser.py
2011-08-24 12:21:07 +00:00