Commit Graph

237 Commits

Author SHA1 Message Date
Thomas Krijnen 13d2cf3357 Remove --sew-shells option, always on now 2018-12-28 15:36:10 +01:00
Thomas Krijnen 72c96905b9 Option to validate created geometries based on explicit quantities 2018-12-12 12:33:09 +01:00
Thomas Krijnen a7c7a684ee Emit surface genus for representation items 2018-12-10 11:33:54 +01:00
Thomas Krijnen 66859c7140 Missing option 2018-11-02 16:24:32 +01:00
Thomas Krijnen 3ff619c7ed Quantities in convert and geomserver. Faceset helper for creating edge pairs. 2018-11-02 16:10:06 +01:00
Thomas Krijnen ad41f04f11 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomRenderStyles.cpp
#	src/ifcparse/IfcParse.cpp
2018-10-30 14:32:28 +01:00
Stinkfist0 58759cf365 IfcConvert: prevent memory leaks and clean up code by utilizing shared_ptr. 2018-10-15 14:02:17 +02:00
Stinkfist0 2024a24e31 IfcConvert: proper "exit routine" if initialization of input fails when trying to create geometry files. 2018-10-15 14:02:17 +02:00
Jean Niklas L'orange e39835d25e Make API more consistent 2018-10-15 11:25:17 +02:00
Jean Niklas L'orange 9c1660a84b Catch and inform about errors
The changes in how specular roughness and transparency is read in was
done to ensure type safety. If you added

    "transparency": "0.8"

to the file, then that would be silently ignored. In the new style, it
instead errors out if the type cannot be converted to a double.
2018-10-15 11:25:17 +02:00
Jean Niklas L'orange dab3382b29 Implement support for custom default materials
The support for custom default materials is implemented as a JSON
file passed via the command line. The default material specification
will override the defaults, except the toplevel default value.
2018-10-15 11:25:17 +02:00
Thomas Krijnen 54d96fe167 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeom.h
2018-09-07 14:42:15 +02:00
Thomas Krijnen 0df4edff01 Revive some temporarily disabled features in de 0.6 branch 2018-09-07 14:08:56 +02:00
luz.paz d78c9171db Misc. typos
Found via `codespell -q 3`
2018-09-07 11:52:01 +02:00
Thomas Krijnen 4d33ed5cb8 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomShapes.cpp
#	src/serializers/ColladaSerializer.cpp
#	src/serializers/schema_dependent/XmlSerializer.cpp
2018-09-04 13:23:11 +02:00
Thomas Krijnen 3e80d3646c Work on ifcxml parsere 2018-09-02 11:59:54 +02:00
Stinkfist0 07f5ac6994 IfcGeomIterator: compute model's bounding box only if needed (IfcConvert --center-model used). 2018-08-26 12:17:24 +02:00
Thomas Krijnen 891448e902 Fix #343 2018-08-15 17:10:29 +02:00
Michael Sundqvist 82718fad30 Catch some ifc file header exceptions to prevent crashing during xml serialization 2018-08-15 16:15:25 +02:00
Stinkfist0 9f03a78652 ColladaSerializer::differentiateSlabTypes: IfcSlab.PredefinedType is optional so check for its existence.
https://github.com/Tridify/IfcOpenShell/commit/c4f426392cfc021b8a9c617f21d258759b289d6a#diff-cca49440331fb4c1363204028192c459
2018-08-15 16:09:15 +02:00
Stinkfist0 505d234ea2 Unify GeometrySerializers' object ID logic. Fixes #397. 2018-08-15 16:09:15 +02:00
Robbe Derks bd5e25889a Added command-line option to output progress to stderr stream 2018-08-15 14:45:43 +02:00
Thomas Krijnen ba5049a7eb Break out of loop in case of attribute count mismatch 2018-08-10 14:57:33 +02:00
Felipe Mesquita 40b70b1815 Workaround wrong argument count. Fix #419 2018-08-10 14:55:47 +02:00
Thomas Krijnen 20b35ec4ea Preprocessor stuff for stp and igs serializers 2018-07-08 11:08:07 +02:00
Thomas Krijnen d105292817 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomFilter.h
#	src/ifcgeom/IfcGeomIteratorImplementation.h
#	src/ifcgeom/IfcGeomWires.cpp
#	src/ifcparse/IfcFile.h
#	src/ifcparse/IfcLogger.cpp
#	src/ifcparse/IfcLogger.h
#	src/ifcparse/IfcParse.cpp
#	src/serializers/SvgSerializer.cpp
#	src/serializers/schema_dependent/XmlSerializer.cpp
2018-07-07 17:15:54 +02:00
Thomas Krijnen 089bb95c9f Fix previous commit on gcc 2018-05-13 08:45:33 +02:00
Thomas Krijnen 7786b89269 Machine readable progress with -q and --log-format json 2018-05-12 20:12:25 +02:00
Thomas Krijnen 5082fe8be4 Revive XML serializer 2018-03-16 16:04:48 +01:00
Thomas Krijnen 834780b726 Schema dependent serializers 2018-03-16 13:49:11 +01:00
Thomas Krijnen 6685ea6d7a Schema dependent serializers 2018-03-16 12:10:05 +01:00
Thomas Krijnen 14be6b49fe #348 2018-03-16 11:03:02 +01:00
Anders Granskogen Bjørnstad 8a316e45ed 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
stefkeB 5bf7f53fd8 BaseQuantities support in IfcConvert XmlSerializer
Added the export of BaseQuantities in the XML export of IfcConvert.
Very similar to the export of properties.
2017-12-22 11:33:28 +01:00
Thomas Krijnen 4d325e026e Fix compilation and execution of IfcConvert 2017-12-21 14:14:04 +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 6e525662c3 Disable XML serializer for the time being 2017-12-20 12:41:39 +01:00
Thomas Krijnen d46dfb6061 Work on serializers 2017-12-20 12:40:15 +01:00
Thomas Krijnen 830a03ffcd Schema agnostic iterator 2017-12-20 11:10:27 +01:00
Thomas Krijnen e3a7e6137d Update SvgSerializer.cpp 2017-12-19 14:58:56 +01:00
Xsoiou 01d261e168 SVG storey elevation (#315)
IfcConvert SVG does not generate <path d=""> for IfcSpace. #313
2017-12-19 12:10:19 +01:00
Thomas Krijnen 322dec6fd0 Update ifcconvert 2017-12-11 15:46:17 +01:00
Thomas Krijnen be5bd2e735 optional building storey argument added to setSectionHeight() 2017-12-11 11:19:15 +01:00
Thomas Krijnen ce782cc784 2d edges in svg serializer 2017-12-11 11:18:37 +01:00
Anders Granskogen Bjørnstad 34e2ff31bb SvgSerializer: Fix bug in ellipse writeout
Add a missing "=" to create a valid SVG for ellipses.

I accidentally stumbled upon a way to actually get an ellipse in SVG by
tilting a cylinder. If I tilt the cylinder via the `ObjectPlacement` of
the `IfcProduct` I get an ellipse. If I set the `ExtrudedDirection` of
the `IfcExtrudedAreasolid`, however, I get a sampled path.
2017-12-04 17:23:32 +01:00
Thomas Krijnen 7cd354ee7d Eliminate warning 2017-11-27 16:24:29 +01:00
Thomas Krijnen 111569ec1b Approx other curve types in SVG, hollow circles 2017-11-25 13:08:34 +01:00
Anders Granskogen Bjørnstad 9c88a35173 SvgSerializer: Support full circles and ellipses
Use <circle> and <ellipse> to create a valid SVG for these geometries.

Limit to only the *first* edge. I am not sure whether there are
scenarios with multiple edges like this:
1. One or more straight line pieces or arc segments
2. A full closed circle
3. More straight lines or arc segments

If there is, we are keeping the original behavior here.
2017-11-25 13:06:03 +01:00
Anders Granskogen Bjørnstad df942f6460 SvgSerializer: Fix bounding box for arc segments
Not necessarily minimal, but better to be conservative w.r.t. getting
all geometry inside bounds.
2017-11-25 13:06:03 +01:00