IfcSectionedSurface Example

I'm trying to write and IfcOpenShell script to build a roadway alignment with the geometric representation as an IfcSectionedSurface. Attached is the resulting file. The surface geometry isn't displaying in Bonsai (or any other viewer that I've tried).
Does anyone have a simple example I can look at?

Thanks

Comments

  • @Rick_Brice
    it would be a dream come true if Blender-Bonsai could sweep cross sections, or assembly with daylights along an alignment, in full IFC4x3_2
    it might sound niche stuff to many but there is real money in that scope, just saying.. :)

  • MasMas
    edited November 2025

    @steverugi I don´t know if bonsai will fully uses the blender 5 array funcionality, but than alignment along curves will be possible. Sweeping/extrusion along curves can be done in geonodes. (right setup - draw curve - use the modifier)... Maybe you will be lucky in some time 😉
    Attatched a little nodesetup for extrusions of curves. (a curve for the path is needed, and one as profile to extrude- predifined ones in the modifier Tab- or you choose a second one also in the modifierTab).

  • edited November 2025

    thanks @Mas
    sure, I watched some video on Blender5 array, adding more actions to linear offset, I like it.
    Maybe tweaking its geometry nodes it can be used to interpolate cross-sections along a curve, let's see if others here have alrady explored that possibility
    As for IFC schema, since its compliance is what I am after, it handles arrays via a specific propery set, let's see ;)

    Mas
  • Beware that geometry nodes based sweeps along paths have limitations. They don't do miter calculations, and distort tight corners, leading to non uniform thickness. Only way to currently obtain expected results e is to have rounded corners.
    Native bezier curve beveling doesn't suffer from this, if you set your curve to 2D mode.

    steverugiBedson
  • @Rick_Brice said:
    I'm trying to write and IfcOpenShell script to build a roadway alignment with the geometric representation as an IfcSectionedSurface. Attached is the resulting file. The surface geometry isn't displaying in Bonsai (or any other viewer that I've tried).
    Does anyone have a simple example I can look at?

    Thanks

    In the Acca Software viewer, you can see the file you have generated. In case it helps you.

  • @BimETS - thank you for that. The Acca software viewer seems a bit off to me. The IfcSectionedSurface is located using IfcAxis2PlacementLinear with the starting point 1900 from the start of the IfcGradientCurve and no offsets. The surface should align with the gradient curve but clearly does not.

    #263=IFCSECTIONEDSURFACE(#26,(#182,#191,#200,#218,#236,#245),(#257,#258,#259,#260,#261,#262));
    #181=IFCPOINTBYDISTANCEEXPRESSION(IFCLENGTHMEASURE(1900.),$,$,$,#26);
    #182=IFCAXIS2PLACEMENTLINEAR(#181,$,$);
    #26=IFCGRADIENTCURVE((#168,#75),.F.,#23,$);
    
    BimETS
  • I think the Acca viewer has it right. The sections are linearly placed the the entire surface is linearly placed, compounding one another.

    BimETS
Sign In or Register to comment.