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.
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.
For the scenario where we a building storey and it has an elevation:
Instead taking the cross section of every product 1 meter above it's
lowest, take the cross section at storey elevation + 1 meter.
When running the viewer app in python3, I got the following crash:
Traceback (most recent call last):
File "geom_app.py", line 2, in <module>
ifcopenshell.geom.app.application().start()
File "/usr/lib/python3/dist-packages/ifcopenshell/geom/app.py", line 534, in __init__
self.editor = code_edit(self.canvas, configuration().options('snippets'))
File "/usr/lib/python3/dist-packages/ifcopenshell/geom/app.py", line 68, in __init__
config = Cfg()
TypeError: 'ConfigParser' object is not callable
Unify configparser usage for py2 and py3 by making sure the py3 path
also gives a callable Cfg
`if(bounding_width)` evaluates to true as long as `bounding_width` is
non-zero (including negative values). Since `bounding_width` and
`bounding_height` are default initialized to -1.0, we were erroneously
setting a bounding rectangle of (-1.0, -1.0) here. This means the SVG
output has been broken/malformed if we didn't specify --bounds.
* 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
When adding entities, don't assign ID to Simple types.
Otherwise that type will be serialized incorrectly.
This fixes the issue with IFCPLANEANGLEMEASURE being serilzed
incorrectly when used as attribute to IFCMEASUREWITHUNIT.
With ID assigned, it will look like this:
#10=IFCMEASUREWITHUNIT(#9=IFCPLANEANGLEMEASURE(0.017453293),#8);
The correct way to serialze is:
#10=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453293),#8);