Profile Curve Arrayed Between Rail Curves _ req. Rotate, Scale Along Rail

Good Afternoon Forum,

I think I am finding this more complicated than necessary; the task should be quite simple really? As per title, I am trying to create a definition where I will input a profile curve, which will then follow between input rail curves.

The difficulty is that the definition must allow for the rail curves to vary in rotation and scale (ie. angle and distance between). And the end use of the definition is that the rail will be divided, so that the profiles between will be lofted to create tiles.

So far I have managed to copy the profile curve along the rail curve, scale it to the correct length, and rotate the profile into the angle between the rail curves (see ss-05). The issue I am having is orienting the projection of the profile perpendicular to the rail, and so the tiles do not have a consistent profile, and have large gaps between them in places (see ss-06).

The aim would be for the tiles to have the regularity of the guide grid (see ss-02), but with a consistent three-dimensional form of the profile.

I have organised my progress to clearly demonstrate the steps in my logic (see ss-00), but wonder if actually I am approaching wrong entirely? Maybe there is an existing definition or plugin that achieves this?

I have attached a sequence of screenshots to show my progress, and the .gh definition where I am stuck.Any assistance with this issue would be greatly appreciated!


JJC. (40.2 KB)

Not sure this is what you are after, anyway, have a look at the optimized def of yours. (46.0 KB)
Update: Even more simpler than previous one. (45.7 KB)


Thanks so much, that is exactly what I needed; and your definition is so concise!

I have integrated the ‘vec2pt’ and ‘orient’ components as per your definition, and completed the tile array; but I am having an issue right at the end, where I am trying to turn these open surfaces into a solid brep volume, of which the original loft is the face.

I have set up a ‘pframe’ which creates depth to the tile, and used ‘rulesrf’ to make a shell which corresponds to the face; but the end product is an open brep.

I wonder if you can see or suggest why this brep is not closed - and how I could fill the gap?

As far as I can tell, all the surfaces are being generated by the same origin curves, so I am quite confused!

As always, any assistance would be hugely appreciated.

JJC. (43.5 KB)

The parts I modified are in the red group.
Next time, make sure that the problem is clearly marked or post a brief definition. Otherwise, it’s hard to recognize and there won’t be many people who want to help you. (47.6 KB)