🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

help with *surfacecreatenurbs command

User: "timothy Lowe"
Altair Community Member
Updated by timothy Lowe

I have been trying to create a NURBS surface in HyperMesh by reading the parameters from a file with a tcl script.

The *surfacecreatenurbs command doesn't seem to follow the conventional NURBS definition where the #knots = degree + #ControlPoints + 1.  The data in my file fits this convention and I thought this would be an easy thing to do.

The documentation for *surfacecreatenurbs states;

“To reduce input, the usual NURBS convention that for the curve with polynomial degree degree first and last degree+1 knots must have the same value is enforced internally. Input for this command should only contain one value. For all internal knot values, multiplicity should still be provided explicitly. All knot values must be provided in non-decreasing order.”

I am not sure how to interpret the above, but sounds like I should eliminate the first degree & last degree knot points since they are redundant and enforced internally.  But that doesn't work either.

The example they give, which does work, is as follows;

*createdoublearray 22 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 2 0 1 2 1

*surfacecreatenurbs 1 2 2 2 2 3 0 1 22<br />This doesn't really fit any convention that I am a where of.<br />

U parameter;&nbsp; #Knots = #Control points

V parameter;&nbsp; #knots = #Control points -1

Can anyone explain this?

Any suggestions on how to convert/translate a traditional NURBS definition into one that the *surfacecreatenurbs command will recognize? Or am I doing something else wrong?

Thank you

Find more posts tagged with

Sort by:
1 - 1 of 11
    User: "Rishabh"
    Altair Employee
    Updated by Rishabh

    Hello Timothy 

    The data in your file needs to follow the arguments order for the double_array. 

     image

    Can you share the *createdoublearray arguments you used to create the NURB ?