putting an arrow at the end of a curve

   1192   3   1
User Avatar
Member
340 posts
Joined: June 2017
Offline
I want to put an arrow at the end of a curve/sweep. I can't think of a way to just make sure the terminal point has a normal associated with it, so my only workaround is to clip the curve to create a very short segment near the end, copy to points and then delete one arrowhead. (see attachment). Is there a more elegant way to do this?

Attachments:
ArrowCurve.hiplc (555.2 KB)

User Avatar
Member
7785 posts
Joined: Sept. 2011
Online
There are a couple nodes that could be of use here.

Orientation along curve generates the required tangent and up vector to transform onto the points of the curve. To place only at the end of the curve, the end point must be extracted. This can be done a couple ways, but generally requires vex unless there's only one curve, then a delete sop can be used to delete all but the last point. Finally, use copy to points to transform the geometry onto the ends of the curves.

An alternative approach is to use the path deform tool. Use the Offset Position to place the item at the end of the curve. The reference frame is computed internally using orientation along curve, so the controls are the same as that node.

Attachments:
arrowheads.hip (282.8 KB)

User Avatar
Member
333 posts
Joined: April 2018
Online
Copy to Points accepts groups from the template geometry, so you don't need to extract points. End points are usually 0 and npoints(0)-1. Alternatively, the Group Expression node provides a preset for first point of primitive.
Edited by eikonoklastes - Dec. 4, 2021 23:48:16
User Avatar
Member
340 posts
Joined: June 2017
Offline
Thank you both!
  • Quick Links