IfcSweptAreaSolid using a 2D shape along a 3D line
Hi,
in comparison to what is shown here with the builder.create_swept_disk_solid()
function:
builder = ifcopenshell.util.shape_builder.ShapeBuilder(model)
# Sweep a 10mm radius disk along a polyline with a couple of straight segments and an arc.
curve = builder.polyline(
[(0., 0., 0.), (100., 0., 0.), (171., 29., 0.), (200., 100., 0.), (200., 200., 0.)],
arc_points=[2])
swept_curve = builder.create_swept_disk_solid(curve, 10)
# Create a body representation
body = ifcopenshell.util.representation.get_context(model, "Model", "Body", "MODEL_VIEW")
representation = builder.get_representation(body, swept_curve)
would it also be possible to create an "IfcSweptAreaSolid" in ifcopenshell 0.8+ ?
I know this is currently an abstract function in the IFC schema, but one may commonly need to sweep simple 2D shapes (such as squares, rectangles, T-shapes, L-shapes, etc) along a 3D line that is not necessarily defined on a unique plane in space.
Such a function would therefore be extremely convenient.
Thanks.
Tagged:
Comments
Maybe IfcDirectrixCurveSweptAreaSolid
https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcDirectrixCurveSweptAreaSolid.htm
@theoryshaw : I'm unfortunately not able to find out such function in ifcopenshell 0.8.0.
Yeah, i don't think a UI exists yet in BB, to create it from scratch.
It appears in the roadmap, however. https://github.com/IfcOpenShell/IfcOpenShell/issues/4933