Scripting a Polynomial Surface

The Polynomial Surface Type has a general form and can therefore be used for a wide variety of surface shapes.

This surface can be created using the scripting language using the AddPolynomialSurf function which requires the T_ENTITY structure (the fundamental information of the surface object such as the name, its parent etc.) and an array of coefficients. The key part of the script is to understand how to provide the coefficients of the polynomial.

Although the equation described above is a function of i,j,z, the AddPolynomialSurf function expects a one dimensional array where the coefficients are in the order as shown in the GUI for the surface. The index shown in the Term column matches the array index.

The example script below will create a Polynomial Surface with the following form:

-0.04*X - 0.08*Y + 0.05*X^2 -0.00015*XY + 0.04*Y^2

    Dim ent As T_ENTITY, id1 As Long, id2 As Long

    InitEntity ent

    'Custom Element parent = "Elem 1"
    id1 = AddCustomElement(ent)

    'polynomial surface as child of Custom Element = "Poly Surface"
    ent.parent = id1

    Dim coefs(7) As Double

    coefs(0) = 0        'A
    coefs(1) = -0.04    'X
    coefs(2) = -0.08    'Y
    coefs(3) = 1        'Z
    coefs(4) = 0.05     'X^2
    coefs(5) = -0.00015 'XY
    coefs(6) = 0        'XZ
    coefs(7) = 0.04     'Y^2

    id2 = AddPolynomialSurf ( ent, coefs )

    'Need to make the Boundary Box bigger...
    Dim trimVol As T_TRIMVOLUME
    GetTrimVolume id2, trimVol
    trimVol.xSemiApe = 2
    trimVol.ySemiApe = 2
    trimVol.zSemiApe = 2
    SetTrimVolume id2, trimVol

    'Final UPDATE

Still need help? Contact Us Contact Us