Projecting element location points to a plane

Hi,

I am trying to do a parametric facade that has a pattern relative to a spline that I have made. I am aiming to remap the parameter value relative to the distance to the spline. However, I am having trouble doing this since it is curved, I am thinking if there is a way to project the points to a plane parallel to the spline? Or is there another way to go about this?

Thanks!

Maybe there is something for you in the Synthesize Toolkit package

If you can get the surface around your spline and then get the base curved surface of your facade, you could work across them together using their UV domains. By getting the UV at each panel, you could ask the corresponding point at parameter on the drawing surface for the distance to the spline, then map that back to the panel.

This would be a bit like using a graph mapper in Grasshopper if you are familiar with that, where your spline/surface acts as the mapping tool.

This should project the points for you. I would utilize a plane or an extruded surface for the other geometry.

https://dictionary.dynamobim.com/#/Geometry/Point/Action/Project

That said you should be able to pull the parameter using Surface.UVParameterAtPoint to get the current UV values on the surface. These can then be used on another surface for mapping directly.

There is plenty of good information on this subject over at the Building Coder. Corssproduct and Dotproduct come in handy for these sorts of calculations.
https://thebuildingcoder.typepad.com/blog/2014/09/planes-projections-and-picking-points.html
But it could be even more straightforward than that just using a bunch of vectors. It looks like you want to project the points in the X direction. Just grab all those points and use the BasisX to get the vector. If you extrude the plane, you should be able to easily find the intersecting points.

Each time I read the question I come out with a different thought… Perhaps Curve.ParameterAtPoint is what we’re really after here?

Thanks for all your response. I’ll try all your suggestions and post an update. Thanks!