Is there any way to convert polygon to nurbs curve without a sharp corner?

   6376   16   4
User Avatar
Member
19 posts
Joined: 1月 2019
Offline
Is there any way to convert polygon to nurbs curve without a sharp corner?

Attachments:
{34C8751A-F5B6-4958-93A1-4E684E77A773}.png.jpg (141.1 KB)

User Avatar
Member
648 posts
Joined: 7月 2005
Offline
see attached,
use carve before convert.

Attachments:
nurbscurve_fix.hiplc (64.9 KB)

User Avatar
Member
19 posts
Joined: 1月 2019
Offline
cpb
see attached,
use carve before convert.
Thank you for help. It solve the problem partially. But it's hard to give me a perfect shape, like a perfect circle.
If there is a way to give result like the picture below. That'd be best.
Edited by bao007fei - 2019年3月9日 14:27:00

Attachments:
{74FDCBD4-E619-4A47-B666-E7F9EEF945C9}.png.jpg (51.9 KB)

User Avatar
Member
67 posts
Joined: 5月 2013
Offline
try the fit sop…with interpolation
Edited by Jim Rutherford - 2019年3月9日 21:00:25
User Avatar
Member
14 posts
Joined: 9月 2018
Offline
1. Drop a “Circle” node.
2. Change the “Primitive Type” to “NURBS Curve”.
3. ???
4. PROFIT!
User Avatar
Member
19 posts
Joined: 1月 2019
Offline
Just a simple example…
The point is I want to figure how to to convert a polygon to nurbs curve and keep the shape clean. No sharp corner and point variation. Just use the polygon points to generate a smooth, clean and closed nurbs curve.
Thank you all but the solutions above aren't robust enough.
User Avatar
Member
67 posts
Joined: 5月 2013
Offline
fit doesn't work?
User Avatar
Member
19 posts
Joined: 1月 2019
Offline
Jim Rutherford
fit doesn't work?
It give the shape but bigger than I need.
I actually want to keep the points stay at their origin and get blue nurbs.

Attachments:
{5576DA3D-5CE5-461B-B582-71B2578BD199}.png.jpg (133.5 KB)

User Avatar
Member
67 posts
Joined: 5月 2013
Offline
okay…I think you can do what you want with a python sop using createNurbsCurve with the point positions…
User Avatar
Member
19 posts
Joined: 1月 2019
Offline
Jim Rutherford
okay…I think you can do what you want with a python sop using createNurbsCurve with the point positions…
I'll check that. Thanks for the clue.
User Avatar
Member
67 posts
Joined: 5月 2013
Offline
another way would be to make a nurb circle with same number of points and wire your polygon into an attributeCopy sop and match the P
User Avatar
Member
19 posts
Joined: 1月 2019
Offline
Jim Rutherford
another way would be to make a nurb circle with same number of points and wire your polygon into an attributeCopy sop and match the P
Wow. This is what I need. Simple and clever.Thank you very much.
Edited by bao007fei - 2019年3月11日 04:34:41

Attachments:
{2D6E86C4-53A8-4534-A710-F919E163D4FA}.png.jpg (181.5 KB)

User Avatar
Member
192 posts
Joined: 4月 2015
Offline
I go with the attribute copy method also,

But what is happening here under the hood? Is there nothing to detect, debug or solve such a thing? Why is one point completely near the curve and while all the other points keep a distance from the curve? By what is that controlled? By something the user could acces? or something hidden?

It seems so random and inexplicable, uncontrollable, like a bug or something.
Edited by OdFotan - 2021年5月4日 08:55:41

Attachments:
Screenshot 2021-05-04 at 14.41.47.jpeg (148.8 KB)
Screenshot 2021-05-04 at 14.37.46.jpeg (153.0 KB)

User Avatar
Member
8833 posts
Joined: 7月 2007
Online
in the original file append Basis SOP, change U Parametrization to Uniform and you should get expected result
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
192 posts
Joined: 4月 2015
Offline
Thanks, let me try that..

edit: it doesn't do it:
Edited by OdFotan - 2021年5月4日 16:48:40

Attachments:
huh.hiplc (93.4 KB)

User Avatar
Member
7 posts
Joined: 6月 2015
Offline
Sorry for necroposting, just ran into a similar problem. It's easily solved with unclamp option in ends:sop, and uniform parametrization in basis:sop.
User Avatar
Member
3 posts
Joined: 9月 2023
Offline
yes, it is decided by an intrinsic attribut called "closed" on prim.
use the function setprimintrisic(0,'closed',0,1) to manipulate it.

Attachments:
image.png (1.1 MB)

  • Quick Links