61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
![]() |
// There are 3 ways to define a plane in KCL, according to https://zoo.dev/docs/kcl-std/types/std-types-Plane
|
||
|
// - A default plane
|
||
|
// - Modifying a default plane e.g. via offsetPlane
|
||
|
// - Defining your own struct
|
||
|
// This file tests they all work equivalently.
|
||
|
|
||
|
// Define a plane using struct representation.
|
||
|
myPlane = {
|
||
|
origin = { x = 0, y = 0, z = 0 },
|
||
|
xAxis = { x = 1, y = 0, z = 0 },
|
||
|
yAxis = { x = 0, y = 1, z = 0 },
|
||
|
}
|
||
|
|
||
|
// Prove we can get its axes and origin.
|
||
|
ax = myPlane.xAxis
|
||
|
assert(ax[0], isEqualTo = 1)
|
||
|
assert(ax[1], isEqualTo = 0)
|
||
|
assert(ax[2], isEqualTo = 0)
|
||
|
ay = myPlane.yAxis
|
||
|
assert(ay[0], isEqualTo = 0)
|
||
|
assert(ay[1], isEqualTo = 1)
|
||
|
assert(ay[2], isEqualTo = 0)
|
||
|
aorigin = myPlane.origin
|
||
|
assert(aorigin[0], isEqualTo = 0)
|
||
|
assert(aorigin[1], isEqualTo = 0)
|
||
|
assert(aorigin[2], isEqualTo = 0)
|
||
|
|
||
|
// Define a plane using standard planes.
|
||
|
myOtherPlane = XY
|
||
|
|
||
|
// Prove we can get its axes and origin.
|
||
|
axOther = myOtherPlane.xAxis
|
||
|
assert(axOther[0], isEqualTo = 1)
|
||
|
assert(axOther[1], isEqualTo = 0)
|
||
|
assert(axOther[2], isEqualTo = 0)
|
||
|
ayOther = myOtherPlane.yAxis
|
||
|
assert(ayOther[0], isEqualTo = 0)
|
||
|
assert(ayOther[1], isEqualTo = 1)
|
||
|
assert(ayOther[2], isEqualTo = 0)
|
||
|
aoriginOther = myOtherPlane.origin
|
||
|
assert(aoriginOther[0], isEqualTo = 0)
|
||
|
assert(aoriginOther[1], isEqualTo = 0)
|
||
|
assert(aoriginOther[2], isEqualTo = 0)
|
||
|
|
||
|
// Define a plane using a plane-modifying function like offsetPlane.
|
||
|
myAlternatePlane = offsetPlane(XY, offset = 0)
|
||
|
|
||
|
// Prove we can get its axes and origin.
|
||
|
axAlternate = myAlternatePlane.xAxis
|
||
|
assert(axAlternate[0], isEqualTo = 1)
|
||
|
assert(axAlternate[1], isEqualTo = 0)
|
||
|
assert(axAlternate[2], isEqualTo = 0)
|
||
|
ayAlternate = myAlternatePlane.yAxis
|
||
|
assert(ayAlternate[0], isEqualTo = 0)
|
||
|
assert(ayAlternate[1], isEqualTo = 1)
|
||
|
assert(ayAlternate[2], isEqualTo = 0)
|
||
|
aoriginAlternate = myAlternatePlane.origin
|
||
|
assert(aoriginAlternate[0], isEqualTo = 0)
|
||
|
assert(aoriginAlternate[1], isEqualTo = 0)
|
||
|
assert(aoriginAlternate[2], isEqualTo = 0)
|