ArrayCrv doesn't work for stair balusters

thanks to @pascal i have got to a good work flow for irregular curved stairs which involves unrolling and creating 2 d stringers and then FlowAlongSrf. However doing the balustrade this way is proving difficult,

I am trying to set them out in 2d by ArrayCrv before FlowAlongSrf. Although i can get them oriented right the distance between them changes when I ArrayCrv, I think its it measuring the distance along curve rather than along plane or relative to object. I need to find a way to maintain their orientation to a plane (eventually the floor) whilst maintaining a statutory horizontal distance of say 100mm.

In other 3d programs a similar outcome can be created by creating a linear array and ‘dropping’ it onto a surface however i don’t think that is available to us here - anyone have a workflow which might allow me to do this?

dear @Thomas_Boundary
I think _arrayCrv is using equal Curve-Arc-lengths.
_divide has an option for EqualChordLength

but you would need even more - kind of EqualChordLength-Pattern.
in my example / screenshot the initial curve (black) is divided with 20-5-20-5-20…
(20 red, 5 green) chords.
The only chance for this i see a manual step by step (Arcs, Intersections) workflow or a script or grasshopper definition.

If each of the small fences (grids H-like-Elements) become a block, you can turn on the Control-Point of the block (which is the insert-point) and then project this onto the surface.

so this would be the manual workflow
create a fence-Element as a block
use a planar base-curve (optional projected to a c-plane)
construct a division with arcs (small blue)
draw the division (red,green,red, green)
align the fences/block _orient

Thanks for the response - I am currently trialling rhino as we have issues with sketchup, that said not being able to do things like this, as well as the huge complexity in creating something like a sweep which maintains its axis are making it look likely we will stick with SketchUp. I am four days into trying to model this stair and really disappointed that It would need a grasshopper or script - both of which are beyond my skills and knowledge. I kind of thought Rhino would be able to knock out a stair like this pretty easily!

I did try and follow your manual workflow - thanks for posting , however it doesn’t shape the individual balusters to the curve which is an issue!

Thanks for trying!

if you want a workflow with several commands - you will not need a script / grasshopper.
if you want a one-button-push solution / single command - i assume yes a script would be nicer / beneficial.

sorry if i did n’t got this from you re post - i thought / assumed you’re using the rigid option for the _flowAlongSrf command
(which will also result edges, that are of from the center-curve)

if you want the single balusters to be bent:

use the curve / center-line (red)
_extrudeCrv bothsides=yes (just big enough) → cyan surface
_unrollSrfUV (the important step !!) → to get a 2d representation of this surface with same parametrisation
do some help-construction for the spacing (cyan, points, lines, …) - the equal spacing is happening on the straight cyan line at the right. (don t use flow(alongCurve) for this step,
_flowAlongSrf should do the job, but will bend the single fences / balusters.