I am trying to place Road barriers along a path (polyline). The solid is converted from Microstation smart solid to GC readable solid. I have set-up a coordinate system at the start of my polyline. How can I array my solid (barrier) along the path? (Please note that my path is not planer, please check attached photo).
Things I want to achieve are,
1. Array Solid along the path.
2. Maintain min. 10mm spacing between each solid.
3. Output solids should follow the path vertically and horizontally.
4. If above mention things can be achieved then what are the steps (eg. do I have to setup point nodes, or coordinate system or planes along the path, any other things that I have to do to achieve my goal)
Thanks in Advance,
Jaimin Patel
Hi Jaimin,
Yes, for B-spline geometry the algorithm would change. The example script was in response to your request about placing objects along a polyline. To cover both cases, one would have to modify the algorithm.
In the example script the long objects are long compared to the path so that it becomes obvious if the would-be last object cannot be placed because its end point would not fall onto the path. Starting the start of placement could easily affect the last object to drop off, which in the long objects' case would be very apparent. With longer paths and shorter objects this remainder becomes less obvious. Again, depending on the requirements of the design, this could be adjusted in the script. With fixed object length and fixed spacing, controlling the number of objects could only be a limit of objects placed but not extend object placement past the end of the path to meet the number of object.
The object clash situation is not trivial with a curvature potentially in three dimensions. Most likely this can be done.
It is, however, a geometric and algorithmic problem, not a problem of mastery of C#. The required C# knowledge could be taught in a few hours (a start is for example the Zero to Simple Scripting sequence of GC SIGs). For a speedy algorithm, most likely some shortcuts are necessary like including the spacing as part of the object's size which would result in some perhaps tolerable inaccuracies.
Regards,
Volker