Create a retaining wall

i would like to create a retaining wall by using a curve line . but i don’t know how to control the start point of curve , and move all point on a cu rve by a distance ! Capture|604x500

it’s correct to use Curve.PointAtSegmentLength, but you need to feed with a list of numbers.
You can use a Code Block, i.e:


That means it starts a 0 and count 10 times with a distance of 3 (meters, feet or whatever you need)

If you need to move you starting point, just replace 0 with your starting point, i.e.:


You can find more info about code blocks range here:

Once you have the points, just use them with FamilyInstance.ByPoint.

If you need an alternated 2D grid of points, starting from your curve and moving up (Z), you can translate the point and use List.GetEvenOdd from Springs package to get the alternate grid:

  • first curve: 0,2,4,6
  • second curve: 1,3,5,7
  • etc

The problem is … I should offset the second curve 5 cm from the first curve and I must change the the Z of the second curve by add 25 cm and move all points on this curve about 33 cm … And this my problem how to move them exactly 33 from the start of the first point of the first Curve.

You need to use Curve.PointAtSegmentLength, not Curve.PointAtSegmentLengthFromPoint.
With a simple code block you can set the start point, the distance and the count of points.
For your second curve just change the start point.

In this case the first curve has one point at the beginning (0) and then one point every 5m.
The upper curve has the first point after 2.5m, and then again every 5m.

Hope to have been clear enough and that this solves your problem

1 Like

Thank you too much … it was helpful

Hi, could you share this script, please? Thanks…

Yeah of course … Im also improved it more …