Easiest way to draw a NURBS box?

   231   5   0
User Avatar
Member
28 posts
Joined: Nov. 2008
Offline
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 - yesterday 01:50:26
User Avatar
Member
2166 posts
Joined: Sept. 2015
Offline
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 - yesterday 16:08:00

Attachments:
Create_Nurb_Boxes.hiplc (290.2 KB)

User Avatar
Member
28 posts
Joined: Nov. 2008
Offline
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 - yesterday 21:33:40
User Avatar
Member
28 posts
Joined: Nov. 2008
Offline
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
28 posts
Joined: Nov. 2008
Offline
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
2166 posts
Joined: Sept. 2015
Offline
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 - today 12:30:24

Attachments:
Set_Of_Coordinates.hiplc (171.0 KB)

  • Quick Links