Jump to content

Smoothing NURBS Curves


Recommended Posts

On 12/1/2019 at 4:17 PM, Matt Panzer said:

@line-weight, @Kevin McAllister,

Thank you for the files. I played around with the files and, unfortunately, cannot come up with any workarounds to get better smoothing. We do know about the problem but I'll try to nudge some relevant bug reports on this.

 

Best,

Matt

 

Thanks for taking the time to look at it and it would be good to hear if and when there is any progress.

 

It strikes me that the faceting can be controlled by the various render settings which range from 'low' to 'very high', it's just that 'very high' is not high enough. Therefore is it possible to add an extra tier that *is* high enough? I assume that there are then potentially problems with the rendering becoming unmanageable but other elements are rendered in way too much detail.

Link to comment
1 hour ago, Wes Gardner said:

Hi All,

 

Here's a bit of an explanation as to what NURBS curves are and what "Degree" is.  I tried to REBUILD a curve by adding many more points...no joy. 

 

 

yes, as noted further up the thread, increasing the number of control points on the curve has no effect.

 

Regarding NURBS curves and 'degree' settings - this is a separate issue to what is being discussed in this thread, but contrary to what that PDF document implies, it is not at all clear what 'degree' means in VW and how it is controlled. I explain this in another thread:

 

 

Edited by line-weight
Link to comment
Guest Wes Gardner

@line-weight, yes, I tried to NOT get too technical with an explanation of degree, etc.  I think for Vectorworks, to keep things simple, the best course is to draw with a Degree 1 curve if you want hard corners, if you want a more free-flowing curve, bump it to Degree 3. I use mostly Control point mode.  I do ALOT of Rebuilding curves, both increasing the number of points or decreasing depending on what's needed. I rarely, if ever, mess with the degree of the curve.

 

 The segmenting you're experiencing must be a limitation of Vectorworks and you're right, doesn't have anything to do with the "degree" thing.

Wes

 

 

 

 

Link to comment
  • Vectorworks, Inc Employee
1 hour ago, line-weight said:

It strikes me that the faceting can be controlled by the various render settings which range from 'low' to 'very high', it's just that 'very high' is not high enough. Therefore is it possible to add an extra tier that *is* high enough? I assume that there are then potentially problems with the rendering becoming unmanageable but other elements are rendered in way too much detail.

 

Yes.  this is the problem. Think about some fancy curvy cabinet door and drawer knobs on all of the kitchen cabinets.  Having an "Ultra High" setting could potentially bring things to a crawl.  However, we have made improvements in VW 2020 for navigation graphic display of 3D curved geometry. Basically, this technology reduces the number of facets in curved objects when their facets are too small to display on the monitor at the current zoom level.  IOW, if there aren't enough pixels to resonably show the facet, the object is displayed with fewer larger facets.  I imagine this technology might VW to represent curved surfaces with more facets when zoomed closer.  just speculating here...

Link to comment
1 hour ago, Matt Panzer said:

 

Yes.  this is the problem. Think about some fancy curvy cabinet door and drawer knobs on all of the kitchen cabinets.  Having an "Ultra High" setting could potentially bring things to a crawl.  However, we have made improvements in VW 2020 for navigation graphic display of 3D curved geometry. Basically, this technology reduces the number of facets in curved objects when their facets are too small to display on the monitor at the current zoom level.  IOW, if there aren't enough pixels to resonably show the facet, the object is displayed with fewer larger facets.  I imagine this technology might VW to represent curved surfaces with more facets when zoomed closer.  just speculating here...

Yes, that all makes sense to me.

 

I'd sort of assumed that in principle, that's how it would work anyway (ie pre 2020) but sounds like it's not necessarily. So in pre 2020 versions, VW is calculating a load of facets even if a thousand of them are within a single pixel on screen?

Link to comment
Guest Wes Gardner

Hmmm...I wonder how Rhino pulls it off.  Attached is a little project that has a bunch of detail and is of course 100% NURBS as that's all Rhino does.  The rendering is done in Flamingo which is one of their renderers, probably took 45 minutes.  On screen, in their openGL mode you don't get the facets and motion navigating around the model is pretty fluid...

 

G47 Ketch.png

Link to comment

Going on a bit of a tangent here... but I've realised there's something that's very tricky to get right even if you aren't worrying about the faceting. The attached image is in wireframe view so there is no faceting going on. It's a top, orthogonal view.

 

Say I have drawn the blue curve first - and it then becomes part of the geometry of an object, the edge of a table, let's say. Now I want to draw the orange curve - I want it to follow that blue edge exactly. As you can see, it's easy enough to get it nearly right ... but if you want to get it exactly right, then the only option is to take the original blue curve, and cut it back somehow. Is that correct? Which is something you can only do if you've kept that original curve somewhere. If the object is something that has gone through a process of some subtractions, extrusions and so on, the original curve might not be easily accessible. So if you are doing this stuff properly then presumably you have to be always thinking about keeping track of the original geometry somewhere. I imagine these issues would come up modelling something like that boat. Or is it somehow easier in Rhino?

 

1799078047_ScreenShot2019-12-02at21_23_10.thumb.jpg.b7d527a3253c9a00b61e9e98d813ba48.jpg

Link to comment
Guest Wes Gardner

@line-weightIn Vectorworks, you could "Extract Edge", in Rhino you could "DupEdge".  You'd then have to trim at each end to get just the segment you're after.  Haven't really tried it in VW...do it all the time in Rhino.  I DO keep complex assemblies in "Reserve" layers (in Rhino) in case I want to quickly get back to them but for the most part, DupEdge will get you there.  Rhino lets you trim stuff in any view and on any layer, the objects don't have to be in the same plane, if you can see it, or set your model in the right view, you can trim it...joining is something else where stuff DOES have to touch.  In fact, if stuff is "close but no cigar", Rhino tells you how close and then asks if you want to align them.  I try to get my models "waterproof" so the hydrostatic calculations are good.  Rhino also tells you if/where there are "naked edges."

 

Link to comment
  • Vectorworks, Inc Employee
17 hours ago, line-weight said:

I'd sort of assumed that in principle, that's how it would work anyway (ie pre 2020) but sounds like it's not necessarily. So in pre 2020 versions, VW is calculating a load of facets even if a thousand of them are within a single pixel on screen?

 

As far as I know, yes.  I believe the facets are created when the object is generated and the new navigation graphics drop them out when they're too small to show.

Link to comment
  • Vectorworks, Inc Employee
16 hours ago, Wes Gardner said:

Hmmm...I wonder how Rhino pulls it off.  Attached is a little project that has a bunch of detail and is of course 100% NURBS as that's all Rhino does.  The rendering is done in Flamingo which is one of their renderers, probably took 45 minutes.  On screen, in their openGL mode you don't get the facets and motion navigating around the model is pretty fluid...

 

G47 Ketch.png

 

Show off! 😉

 

Beautiful work Wes!!!

  • Like 2
Link to comment
18 hours ago, line-weight said:

Then 'extract edge' to get the highlighted edge. It looks ok zoomed out but when you look closely it looks like this

 

1866428680_ScreenShot2019-12-02at22_42_13.thumb.jpg.d64bd32d730851918539ae2f6222e686.jpg

 

Two faceted curves that don't quite match each other.

 

This happens to me a lot. If the curves are different lengths, the faceting will be different. If the curves are different types (polyline, circle, arc, NURBS) this will often happen. If I have things that need to match I do as much matching as possible in 2d before things get converted.

 

Kevin

 

  • Like 1
Link to comment
2 hours ago, bcd said:
On 4/9/2018 at 6:01 PM, cberg said:

extruded NURBS Surface

 

Is this new? or are we talking about Shelled Nurbs surfaces?

 

I should have said a NURBS surface that is extruded using the Push-Pull tool; the resulting object technically turns into a Tapered Extrude.  You cannot extrude a NURBS surface with the Extrude command. The taxonomies of all the VW solid objects are somewhat arbitrary, and they should probably be unified at some point.

  • Like 1
Link to comment
26 minutes ago, cberg said:

NURBS surface that is extruded using the Push-Pull tool

 

Thanks for this - it's interesting I don't believe I've ever explicitly done this with a Nurbs Surface which are only planar in selective cases, although in these cases they should also respond to the Extrude command.

 

I have generally extruded  VW Planar objects (polylines etc. ) only using the Push Pull or the Extrude command.

 

29 minutes ago, cberg said:

The taxonomies of all the VW solid objects are somewhat arbitrary, and they should probably be unified at some point.

+ 1 to this.

Link to comment
  • 2 weeks later...

Sorry for the late reply was off sick last week and only now back on my feet.
I found my notes from the work I was doing regarding a viaduct curve etc., the best results I obtained at the time I have translated into the workflow below relating to your original model.

I have had to convert the model up to 2020 version as this is all I have on this workstation at the moment but workflow should work in previous versions without to much change.

 

I selected the RHS branch from the screen shot below to apply the workflow,

1.thumb.jpg.937e8930513e7bb62a93dd3961c104ec.jpg

 

Double click to edit the symbol and select “3D Component” to edit

2.thumb.jpg.627b300dcbfdf0b584d5e9e9ff8362ba.jpg

 

You will need to double click until you get the option to edit profile

3.thumb.jpg.eeca06eb0045e9f4906a8f30660d7838.jpg

 

4.thumb.jpg.ca13e9c025a12f8b3dc310469d9569e7.jpg

 

With the NURBS Curve selected; From the OIP we can see the “Degree” is set to 4

5.thumb.jpg.eb82e7e5a26029b1d94e516cbfd1b518.jpg

 

If we change the “Degree” to a higher number say: 7
Additional points are created  (If you want you can change the Weight" value.... it doesn't do anything... but you've paid for it so you might as well give it a go, ha it might work one day)

6.thumb.jpg.a1f85581dfd025f95e34ae4f1a3cf0b7.jpg

 

With the NURBS curve still selected now convert to a 3D Poly: Modify > Convert > Convert to 3D Polys
The additional points are added and distributes more evenly along the curve

7.thumb.jpg.32758f21db5020a02cdd5306923ec385.jpg

 

Exit the path
Double click on the object and now edit the “Profile”

8.thumb.jpg.3ce39668ea34a99906ecb7d20f1aeebf.jpg

 

With the profile selected also convert this to a 3D Poly: Modify > Convert > Convert to 3D Polys

Now exit out and check the results

Original:                                                                                                      Converted:

9.thumb.jpg.b89d20353cad9b344e7092b3fb29d2db.jpg     10.thumb.jpg.df02b2e4d3d8a0b45c041d792a7d6c06.jpg

 

It’s the best your going to get from VW 😞


Visually smother but due to the conversion and issues with NURBS curves etc., only the start and end points pass through the original points, all other points have moved off of their original line

 

 

Edited by axhake
Link to comment
  • 1 year later...
  • 2 years later...
4 hours ago, neebo_2323 said:

OK I finally solved this same issue by using the pull-down on the render mode, and selecting 'options for other render modes->shaded options'. Then where it says detail, I set to 'very high'.

 

Solved to issue 

 

Yes, but if you read the thread in detail, you will see that this does not fully solve the issue.

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...