Jump to content
ejr32123

how to add points to a curve?

Recommended Posts

Wow, I have been using houdini for so long but I never did curve editing. How do I add points to an existing curve? 

1. No, I can't go back and add points on a original curve sop. I mean post that operation, or if the curve was made in maya or I have edits after my initial curve sop, so I can't just go back add points to the original curve sop.
2. Resample is not what I am looking for, I just need to add a few points in specific locations.
3. The best thing I have found so far is to use poly split, but the problem with that is it connects every point I place, so I can only place a few points then I have to make another one so my points dont connect and make a face.

surely there is a way to do this, right?

Edited by ejr32123

Share this post


Link to post
Share on other sites

You're not kidding, I thought I remembered it being straightforward, but wow it's been awhile.   I found the refine SOP will let you create a new point along the curve without changing the shape by dragging an indicator in viewport or using the U position similar to carve

  • Like 1

Share this post


Link to post
Share on other sites

Thanks, I saw someone else recommend that too, I just know there has to be another way to quickly add multiple points

Share this post


Link to post
Share on other sites

have you tried SHIFT + LMB at location you want point?

Share this post


Link to post
Share on other sites

You can't just shift lmb on any node and add points to a curve. That only works on a curve sop.

Share this post


Link to post
Share on other sites

The simplest answer I can think of is to rebuild the input curve and turn it into a single curve node (very easy to do with python). From there, do whatever you want.

node   = hou.node('/obj/geo1/alembic_curves_unpacked')
parent = node.parent()
pos    = node.position()
geo    = node.geometry()
prims  = geo.prims()

for prim in prims :
    crvnode = parent.createNode("curve")
    pts = prim.points()
    tmppos = ""
    for pt in pts :
        tmppos += ",".join([str(x) for x in pt.position()]) + " "
    crvnode.parm("coords").set(tmppos)
    crvnode.setPosition(pos)
    crvnode.move([0,-1])
    pos = crvnode.position()

 

Edited by ftaswin
  • Like 2

Share this post


Link to post
Share on other sites
On 1/29/2021 at 6:12 PM, ejr32123 said:

Wow, I have been using houdini for so long but I never did curve editing. How do I add points to an existing curve? 

1. No, I can't go back and add points on a original curve sop. I mean post that operation, or if the curve was made in maya or I have edits after my initial curve sop, so I can't just go back add points to the original curve sop.
2. Resample is not what I am looking for, I just need to add a few points in specific locations.
3. The best thing I have found so far is to use poly split, but the problem with that is it connects every point I place, so I can only place a few points then I have to make another one so my points dont connect and make a face.

surely there is a way to do this, right?

yes .. here it is a 10-years-old thread

usage description there sounds long but usage is easy . just drop the otl . turn on points ..

post-5487-130658801487_thumb.png

helpThatCurve_001_py.otl

should be easy . hope that helps

.cheers

  • Like 3

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×