Native Entities - HiStructClient/femcad-doc GitHub Wiki
p1 = Fcs.Geometry.Point3D(0, 0, 1)
- point is intended to be used further (not on its own, as vertex for example)
# input of point using point, multiplier and vector
p2 = p1 * 1 * vv1
v1 = Fcs.Geometry.Vertex3D(0, 0, 0)
# or
v1 = Fcs.Geometry.Vertex3D(p1)
# or
vertex {v1} xyz 0 0 0
Only the third possibility above displays vertex graphically, the two above not (althought they are handeled in the same manner in further code.
vv1 = Fcs.Geometry.Vector3D(1, 0, 0)
myMatrix33 = Fcs.Geometry.Matrix33(vv1, vv2, vv3)
lcs = Fcs.Geometry.Lcs(p1, myMatrix33)
# or
lcs {LCS1} origin {v1} matrix 0 0 0 0 0 0 0 0 0
Example of advanced syntax:
lcs = Fcs.Geometry.Lcs(
Fcs.Geometry.Point3D(1,0,1),
Fcs.Geometry.Matrix33(
Fcs.Geometry.Vector3D(1,0,0),
GCS.Axes.Z,
GCS.Axes.Y
)
)
lcsOne = GCS.Tx(1).Ty(2).Tz(3)
lcsTwo = GCS.Rx(PI/2).Ry(PI).Rz(-PI/4)
Creates Lcs with direction of X axis defined by two points:
lcsThree = FCS.Geometry.Tools.CreateDefaultLcsByTwoPoints( Fcs.Geometry.Point3D( 0, 0, 0 ) , # origin point Fcs.Geometry.Point3D( Fx, Fy, Fz ) # point in X axis direction )
Creates Lcs with two points and Z axis vector:
lcsFour = FCS.Geometry.Tools.CreateDefaultLcsByTwoPointsAndZ( Fcs.Geometry.Point3D( 0, 0, 0 ), # origin point Fcs.Geometry.Point3D( 0, 1, 0 ), # point in X axis direction GCS.Axes.Z, # Z axis direction )
curve {c1} vertex {v1} {v2}
# polyline without roundings
curve {c1} filletedpoly radiusmultiplier 0 vertexes {a1} {a2} {a3} {a4} {a1} fillets 1 1 1 1 1
# polyline with rounding
curve {c1} filletedpoly radiusmultiplier 1 vertexes {a1} {a2} {a3} {a4} {a1} fillets r1 r2 r3 r4 r5
Alternative definition of curve using items array (with layer definition):
a = 1.00
b = 1.03
layer {koko} color (Black)
vertex {v1} xyz -a/2 -b/2 0
vertex {v2} xyz a/2 -b/2 0
vertex {v3} xyz a/2 b/2 0
vertex {v4} xyz -a/2 b/2 0
itemsArray = [
{Vertex = v1, Radius = 1 },
{Vertex = v3, Radius = 1 },
{Vertex = v4, Radius = 1 },
{Vertex = v2, Radius = 1 },
{Vertex = v1, Radius = 1 },
]
curve {c5} filletedpoly items (itemsArray) radiusmultiplier 0.1 layer (koko)
area {a1} boundary curve {c1} mapping Auto
# or
area {a2} boundary curve +101 +102 +103+ 104 mapping Auto
# or area with opening
area {a3} boundary curve +1 +2 opening curve -3 -4 mapping Auto
Note: Surface of the area can be calculated using any of the following two functions:
surface = a1.GetArea() # or surface = a.MeasureArea()
volume 1 prism {a1} {a2}