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.

Comments

Sign In or Register to comment.