Cancel
Showing results for 
Search instead for 
Did you mean: 

conic vs. spline

Valued Contributor
Valued Contributor
I'm thinking about the NX mechanism of building a spline.
 
Below is a picture of Conic (left) vs. Spline (right). If they are mirrored, it can be find that they are completely equivalent.
 
For the spline on the right, the degree is 2. It seems that NX forces a default RHO 0.5 on the spline.
 
Then my question is: What's the NX machnism in determining the fullness under each pole? Always using a constant factor?
 
Image.png
7 REPLIES

Re: conic vs. spline

Siemens Phenom Siemens Phenom
Siemens Phenom

NX in general will create a non-rational spline, that is the weight of each control point (pole) is the same.

NX can handle rational splines, for example if created in another CAD system and imported via IGES. Also some of the Section Surface functions will create rational surfaces.

 

I would not worry too much about the maths here . If you want analytic curves such as arcs and conics then use the arc and conic commands. The internal math of the NURBS is only with a few specialist applications, such as optics design, of importance. For industrial design and Class A surface work what is important is to get an understanding on positioning pole and matching poles and the concepts of degrees, segments/patches and continuity (G0,G3,...).

 

 

Steve V

Re: conic vs. spline

Valued Contributor
Valued Contributor

Hi @StevenVickers

 


For industrial design and Class A surface work what is important is to get an understanding on positioning pole and matching poles and the concepts of degrees, segments/patches and continuity (G0,G3,...).

OK. If you think this is enough, I would settle on this. Thanks!

 

I still have a practical question. The picture below is the same as that in my first post.

 

  • In sketch, the Conic does not accept an expression for its RHO value. I had planned to create the conic via Studio Spline, but was dissappointed to find that the fullness of a spline is fixed. 

If possible, hope to have your suggestion on how to control RHO of a conic with expression in sketch. Thanks!

 

Image.png

 

Re: conic vs. spline

Legend
Legend

I could not find how to make Expression of Conic RHO value.

 

But if you use 'General Conic' command rather than 'Conic' of Sketch,
I can suggest a trick by '3 Points, Anchor' type of General Conic.

 

As you know, the RHO is ratio of Interior Point height to Anchor Point height.
So you can make those points and each dimension with RHO value.
ex) Interior_h = RHO * Anchor_h.

 

rho

 Sunkap Ahn, Senior Support Engineer


logo

Re: conic vs. spline

Valued Contributor
Valued Contributor

Hi @SKAHN Thanks for sharing the workaround!

Re: conic vs. spline

Siemens Phenom Siemens Phenom
Siemens Phenom

If you're going to use the General Conic command, then you don't need a "workaround" to specify the rho value via a point. There are two options in the General Conic command that let you specify the rho value directly.

山田
yamada

Re: conic vs. spline

Siemens Phenom Siemens Phenom
Siemens Phenom

First, some terminology:

  • A spline curve that has a single segment is called a Bézier curve.
  • A spline curve in which the weights are not all the same is called a rational spline
  • A spline curve with degree = 2 is called a quadratic spline

So, putting all this together, a rational quadratic Bézier curve (RQB curve) is a spline of degree 2 that has a single segment and unequal weights.

 

Now the punch-line: conics and RQB curves are entirely equivalent: every conic can be expressed in RQB form, and vice versa. Different values of the conic rho correspond to different values of the middle weight in the RQB curve.

 

So, why would you choose one form over the other in NX?  One reason is that conics are easier to edit. You can use the rho value to control the fullness of a conic curve, but interactive NX does not let you play with the weights of a spline curve.

 

You can experiment with spline weights if you're willing to do a little programming. The NX/Open and SNAP APIs both allow you to adjust weights. Here's a very simple example that creates RQB curves with various different weights. You can just paste this code into the NX Journal Editor and click on "Play".

 

Public Class MyProgram

   Public Shared Sub Main()

      Dim poles(2) As MiniSnap.Position

      poles(0) = New MiniSnap.Position(0,0,0)
      poles(1) = New MiniSnap.Position(5,4,0)
      poles(0) = New MiniSnap.Position(9,0,0)

      For n As Integer = 0 To 8
         Dim w As Double = (2.0)^(n-3)
         Dim weights As Double() = {1.0, w, 1.0}
         MiniSnap.Create.BezierCurve(poles, weights)
      Next

   End Sub
End Class

 

 

山田
yamada

Re: conic vs. spline

Valued Contributor
Valued Contributor

Hi @Yamada  Very helpful explanation of spline math behind the scence. And the interesting code snippet. Thank you!