GluLam beam: Errors in trimming multiple curves

Hi All,

Long story short I am undertaking experimentation on manufacturing GluLam beams. I have a curved beam (image below) which is to be made of multiple timber layers. I am effectively modelling this to be able to determine the layup and required lamella thickness required for the workshop.


The beam will vary in thickness along its length. These are shown by the green trimming curves (image below) which will cut away the modelled timber lamellas (red curves). The curves are in the same plane yet I cannot trim the timber layers with the outer curves no matter what I try, this has included:

  • Using curve intersections (CCS) to determine parameters to shatter the curves with. This has been unsuccesful.

  • Creating a region / boundary surface with the outer curves to trim the internal curves. No matter what I do the Brep won’t be closed and so I’ve tried the workaround of extruding this and capping it. Alas, no luck.

  • I’d had some success with projecting the curves onto a surface defined by the outer curves, however this proves buggy when incorporated in the larger script with the Karamba3D finite Analysis.

I’ve removed the relevant excerpt from my grasshopper script (data has been internalised) to show the outcome of a few attempts. I’m convinced this is a bug Grasshopper script can be downloaded here:


NOTE: this is part of a larger script which includes structural analysis through Karamba3D, so I am more concerned with responses around how to successfully trim these curves. Any help would be appreciated.
Required plug-ins: pufferfish

1 Like

Does this work for you? I am using the CCX aproach.

But be aware that taking the second curve from the list of shattered fragments works with your current inputs, but I am sure it could break in other cases (if the lamella gets trimmed at multiple places). Maybe better idea would be taking every odd index from the list (0,1,0,1,0,1 sift pattern)?

Timber_beam_Forum (16.0 KB)

Much appreciated my man! Unfortunately the case is as you say, and should the profile of the beam change or I’m having multiple lamellas trimmed at multiple levels then the below happens:

CCX Intersection points seem to only recognize at the ends of the curves, and only a few in the internal areas, and this is often erratic. Might have to explore the sifting logic, however further suggestions are welcome!

Could be a tolerance problem,
when I scale the curves by 1000 it seems to work