Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Poles and knots of B-spline

Status
Not open for further replies.

ReSant

Petroleum
Apr 30, 2017
1
Hi! I am currently working with NX 10.0 and I am trying to find out the poles, knots and weights of the surface I've created with fit surface. I see the representation of those parameters but I don't know how to display or have a text or Excel file with x, y, z, of poles and knots and the knots's weights.

Anyone who has valuable advice would be much appreciated.
 
Replies continue below

Recommended for you

I don't think there is an interactive "info" function that outputs this data.

A couple of ideas ...

You could export and IGES file, and that will include all the data you need.

Write a small program to output the data. You will probably need some code to organise the data the way you want, anyway. You could call either NX/Open or SNAP functions to do this. Here's an example written in VB, copied from the SNAP Reference Guide:

Code:
Imports Snap, Snap.Create

Public Class MyProgram

   Public Shared Sub Main()

      Dim p00, p01, p02, p03, p10, p11, p12, p13, p20, p21, p22, p23 As Position
      p00 = { 0, 0, 0 }   :   p01 = { 0, 3, 1 }   :   p02 = { 0, 6, 1 }  :  p03 = { 0, 9, 0 }
      p10 = { 3, 0, 1 }   :   p11 = { 3, 3, 2 }   :   p12 = { 3, 6, 2 }  :  p13 = { 3, 9, 1 }
      p20 = { 6, 0, 0 }   :   p21 = { 6, 3, 1 }   :   p22 = { 6, 6, 2 }  :  p23 = { 6, 9, 0 }
      Dim thruPoints As Position(,) = {{p00, p01, p02, p03}, {p10, p11, p12, p13}, {p20, p21, p22, p23} }

      ' Create Bezier patch through points
      Dim bsurface As NX.Bsurface = BezierPatchThroughPoints(thruPoints)

      ' Get face geometry
      Dim faceBsurface As NX.Face.Bsurface = bsurface.Face
      Dim geom As Geom.Surface.Bsurface = faceBsurface.Geometry

      ' Write out the geometry properties of the face
      InfoWindow.WriteLine("The poles of the b-surface are ")
      InfoWindow.WriteLine(geom.Poles)

      InfoWindow.WriteLine("The weights of the b-surface are ")
      InfoWindow.WriteLine(geom.Weights)

      InfoWindow.WriteLine("The knotsU of the b-surface are ")
      InfoWindow.WriteLine(geom.KnotsU)

      InfoWindow.WriteLine("The knotsV of the b-surface are ")
      InfoWindow.WriteLine(geom.KnotsV)

      InfoWindow.WriteLine("The degreeU of the b-surface is " & geom.DegreeU)

      InfoWindow.WriteLine("The degreeV of the b-surface is " & geom.DegreeV)

      InfoWindow.WriteLine("The orderU of the b-surface is " & geom.OrderU)

      InfoWindow.WriteLine("The orderV of the b-surface is " & geom.OrderV)

   End Sub

End Class

' Results: The output in the NX Information window is ...
'     The poles of the b-surface face are 
'     ( 0 , 0 , 0 )       ( 0 , 2.84096812404742 , 1.53524529396854 )( 0 , 6.36409902996395 , 1.43659706844564 )( 0 , 9 , 0 )       
'     ( 2.9604972293626 , 0 , 2.00008668895851 )( 2.9604972293626 , 2.84096812404742 , 4.30746296165522 )( 2.9604972293626 , 6.36409902996395 , 1.88480459229175 )( 2.9604972293626 , 9 , 2.00008668895851 )
'     ( 6 , 0 , 0 )       ( 6 , 2.84096812404742 , 0.0111836746879276 )( 6 , 6.36409902996395 , 4.49975544243664 )( 6 , 9 , 0 )       
'     The weights of the b-surface face are 
'     1         1         1         1         
'     1         1         1         1         
'     1         1         1         1         
'     The knotsU of the b-surface face is 
'     0         0         0         1         1         1
'     The knotsV of the b-surface face is 
'     0         0         0         0         1         1         1         1
'     The degreeU of the b-surface face is 2
'     The degreeV of the b-surface face is 3
'     The orderU of the b-surface face is 3
'     The orderV of the b-surface face is 4
 
So your subject says spline and your question says surface - for which is it you want information, the curves or the surface?

Regardless, I could be wrong, but I believe Information -> Object will give you the info you require for the curve or the face and make SURE you select the face entity, NOT the feature (Fit Surface). You should be able to save this info as a .txt file.

Tim Flater
NX Designer
NX 9.0.2.5 Win7 Enterprise x64 SP1
Intel Core i7 2.5GHz 16GB RAM
4GB NVIDIA Quadro K3100M
 
The Info-->Bsurface function gives you ...

Degree in u 5
Degree in v 5
Rational status Polynomial
Number poles in u 6
Number poles in v 6
Number C0 seams u 0
Number C1 seams u 0
Number C2 seams u 0
Number C0 seams v 0
Number C1 seams v 0
Number C2 seams v 0
Number patches in u 1
Number patches in v 1

So, it does not include anything about poles or knots.
 
Sorry - I missed that he required their coordinate locations.

I guess the number of poles and seams are nothing to some?

Tim Flater
NX Designer
NX 9.0.2.5 Win7 Enterprise x64 SP1
Intel Core i7 2.5GHz 16GB RAM
4GB NVIDIA Quadro K3100M
 
Is there a reason why you want this data ?

Regards,
Tomas
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor