Surface
Model ElementSurfaceは、3D空間でパラメトリックサーフェス要素を定義します。
クラス名
Surface
説明
2つの自由パラメータ(uとv)について1つのパラメトリックサーフェスが定義されます。これは、サーフェス上の任意のポイントPの3つの座標(x、y、z)が2つの自由パラメータuおよびvの関数であることを意味します。サーフェスには3つのメソッドがあります。
属性の概要
名前 | プロパティ | コマンドで変更可能か | 設計可能か |
---|---|---|---|
id | Int () | × | |
label | Str () | ○ | |
uclosed | Bool (False) | ○ | |
vclosed | Bool (False) | ○ | |
minpar | Double ([-1, -1], count=2) | ○ | |
maxpar | Double ([1, 1], count=2) | ○ | |
function | Function ("SURSUB") | ||
routine | Routine () |
使用法
#1: Defined in a compiled user-written subroutine
Surface (function=userString, routine=string, optional_attributes)
#2: Defined in a Python script
Surface (function=userString, routine=functionPointer, optional_attributes)
属性
- function
- 文字列
- routine
- 文字列
- function
- 文字列
- routine
- Python内の呼び出し可能な関数へのポインタ。
- id
- 整数
- label
- 文字列
- uclosed
- ブール
- vclosed
- ブール
- minpar
- 2つの倍精度値のリスト。
- maxpar
- 2つの倍精度値のリスト。
例
#Define the surface in the function cylindricalSurface ()
from math importsin, cos, pi
def cylindricalSurface (id, par, npar, u, v, iord, iflag):
values = []
r = par [0]
if iord ==0:
values.append (r * cos (u)) # x
values.append (r * sin (u)) # y
values.append (v) # z
elifiord ==1:
values.append (-r * sin (u)) # dx / du
values.append ( r * cos (u)) # dy / du
values.append (0.0) # dz / du
values.append (0.0) # dx / dv
values.append (0.0)# dy / dv
values.append (1.0)# dz / dv
elifiord ==2:
values.append (-r * cos (u)) # d2x / du du
values.append (-r * sin (u)) # d2y / du du
values.append (0.0) # d2z / du du
values.append (0.0) # d2x / du dv
values.append (0.0) # d2y / du dv
values.append (0.0) # d2z / du dv
values.append (0.0) # d2x / dv dv
values.append (0.0) # d2y / dv dv
values.append (0.0) # d2z / dv dv
elif iord == 3:
values.append ( r * sin (u)) # d3x / du du du
values.append (-r * cos (u)) # d3y / du du du
values.append (0.0) # d3z / du du du
values.append (0.0) # d3x / du du dv
values.append (0.0) # d3y / du du dv
values.append (0.0) # d3z / du du dv
values.append (0.0) # d3x / du dv dv
values.append (0.0) # d3y / du dv dv
values.append (0.0) # d3z / du dv dv
values.append (0.0) # d3x / dv dv dv
values.append (0.0) # d3y / dv dv dv
values.append (0.0) # d3z / dv dv dv
# Return the computed values
return values
# Define the Surface and refer to the user-subroutine cylindricalSurface ()
mysurface = Surface (function="user (10)", routine=cylindricalSurface, uclosed=True, vclosed=False, minpar=[0, -150], maxpar=[2*pi, 150])
コメント
- プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
- Surfaceの詳細については、Reference: Parametric Surfaceをご参照ください。