Easiest way to draw a NURBS box?

   530   7   0
User Avatar
Member
30 posts
Joined: 11月 2008
オフライン
Super dumb question... I swear that had previously been an easy way to just input a number of points in a row to generate a NURBS shape, like a box, etc. But I can't think of it. Does anyone know the easiest way to just input a list of coordinates and generate a series of hard cornered NURBS shapes from it? I'm wanting to create a box shape, in particular. But ideally it would work for any series of closed coordinates, like to create an arrow shape, for instance, as well.
Edited by seven6ty - 2026年1月10日 01:50:26
User Avatar
Member
2169 posts
Joined: 9月 2015
オフライン
For Nurbs.

Assuming you mean from existing stand alone points;

You can do this(starting from just only points) using the add node then curve node.

However you have to make sure you have the proper point order and enough coincident points to get a sharp corner.

This will also change depending on the 'Order' of the Nurb curve you want - Which will determine the number of 'control/vertice' points needed for the desired curve shape of the Nurb specific Order.

However, if you just want to create the Nurb shape on the fly you can just 'draw' with the curve node itself; followed by a primitive node or Ends node.

When drawing directly, to get a sharp corner, you have to(depending on the 'Order' you selected for the Nurb) create(click) multiple coincident points at the 'hard' corner itself.

You can also draw multiple single nurb primitives and bring them together using the join sop to convert the multiple nurbs into a single nurb primitive.
Edited by BabaJ - 2026年1月10日 16:08:00

Attachments:
Create_Nurb_Boxes.hiplc (290.2 KB)

User Avatar
Member
30 posts
Joined: 11月 2008
オフライン
BabaJ
For Nurbs.

Assuming you mean from existing stand alone points;

You can do this(starting from just only points) using the add node then curve node.

However you have to make sure you have the proper point order and enough coincident points to get a sharp corner.

This will also change depending on the 'Order' of the Nurb curve you want - Which will determine the number of 'control/vertice' points needed for the desired curve shape of the Nurb specific Order.

However, if you just want to create the Nurb shape on the fly you can just 'draw' with the curve node itself; followed by a primitive node or Ends node.

When drawing directly, to get a sharp corner, you have to(depending on the 'Order' you selected for the Nurb) create(click) multiple coincident points at the 'hard' corner itself.

You can also draw multiple single nurb primitives and bring them together using the join sop to convert the multiple nurbs into a single nurb primitive.


Thanks! I was looking for a more precise and scriptable way of designing shapes to specific sizes/coordinates, rather than what you get out of the freehand drawing nature of the Curve node. Do you know of a way to specify a certain number of points and their coordinates? If so, that might work. And I was hoping to avoid having to draw multiple points at each corner to get a sharp corner, as I didn't want curved lines, but rather all of them being straight curves.

I guess using a series of line nodes might work, however I was hoping for something more easily contained within a single node, rather than having to create like 8 or whatever separate line nodes.
Edited by seven6ty - 2026年1月10日 21:33:40
User Avatar
Member
30 posts
Joined: 11月 2008
オフライン
Ah! It seems like creating a Box node and feeding it into one of your Primitive SOPs, with Close U set to "Unroll with Shared Points" seems to have done what I wanted. Although, I'd still like to be able to draw any random shape using solely a set of coordinates.
User Avatar
Member
30 posts
Joined: 11月 2008
オフライン
Ah HAH! And finally, it looks like the Add SOP does almost exactly what I want. You just specify the number of points, input coordinates for each one, and then go to the Polygons tab for that node and set it to By Group.
User Avatar
Member
2169 posts
Joined: 9月 2015
オフライン
seven6ty
I'd still like to be able to draw any random shape using solely a set of coordinates.

You can do that starting with a vex node(see attached hip).

Also(even though I didn't provide an example), you could create a series of splines in vex to get a 'nurbs' curve.
I don't know the math of how to construct a series of spline types to do that, but there is some documentation on those vex spline functions that might be able to help you.

I have in the past been able to create splines within vex, however that's with one caveat.

Using vex won't actually output the spline primitives. It exists only as an abstraction of spline(non polygon) data.

You would have to do your own 'resampling'(creating the polyline) within the vex node for output.

You can define the resolution of that spline/s to polyline though.

So unless you want to stay in spline/nurb space downstream, doing it completely from vex is possible.(Based on a set of coordinates)
Edited by BabaJ - 2026年1月11日 12:30:24

Attachments:
Set_Of_Coordinates.hiplc (171.0 KB)

User Avatar
Member
9417 posts
Joined: 7月 2007
オンライン
seven6ty
I swear that had previously been an easy way to just input a number of points in a row to generate a NURBS shape, like a box, etc. But I can't think of it
you likely remember the original Curve SOP, not Curve SOP 2.0

you can still use it if you want

Attachments:
switch_to_curve_1.0.gif (176.5 KB)

Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
30 posts
Joined: 11月 2008
オフライン
tamte
seven6ty
I swear that had previously been an easy way to just input a number of points in a row to generate a NURBS shape, like a box, etc. But I can't think of it
you likely remember the original Curve SOP, not Curve SOP 2.0

you can still use it if you want
Image Not Found

OMG, thank you, SO MUCH! Hahaha, it's been driving me crazy that one day everything changed, and suddenly, the simplest and most direct way to draw shapes precisely, just up and disappeared.
  • Quick Links