package AllFiniteShapes { private import ShapeItems::*; private import SI::*; private import MeasurementReferences::*; // The inspection grid is declared physical placement, not a viewer-only layout. // Every export preserves these translations and rotations. item shape1 : Line { attribute :>> length = 40 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (0,0,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 0 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape2 : Rectangle { attribute :>> length = 40 [mm]; attribute :>> width = 20 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (180,0,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 30 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape3 : Triangle { attribute :>> length = 40 [mm]; attribute :>> width = 20 [mm]; attribute :>> xoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (360,0,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 60 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape4 : RightTriangle { attribute :>> length = 40 [mm]; attribute :>> width = 20 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (540,0,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 90 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape5 : Circle { attribute :>> radius = 20 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (720,0,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 0 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape6 : CircularDisc { attribute :>> radius = 20 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (900,0,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 30 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape7 : Ellipse { attribute :>> semiMajorAxis = 20 [mm]; attribute :>> semiMinorAxis = 20 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (0,180,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 60 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape8 : Disc { attribute :>> semiMajorAxis = 20 [mm]; attribute :>> semiMinorAxis = 20 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (180,180,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 90 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape9 : Sphere { attribute :>> radius = 20 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (360,180,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 0 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape10 : Ellipsoid { attribute :>> semiAxis1 = 40 [mm]; attribute :>> semiAxis2 = 20 [mm]; attribute :>> semiAxis3 = 20 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (540,180,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 30 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape11 : RectangularCuboid { attribute :>> length = 40 [mm]; attribute :>> width = 20 [mm]; attribute :>> height = 40 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (720,180,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 60 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape12 : RectangularPyramid { attribute :>> baseLength = 40 [mm]; attribute :>> baseWidth = 20 [mm]; attribute :>> height = 40 [mm]; attribute :>> xoffset = 5 [mm]; attribute :>> yoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (900,180,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 90 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape13 : Tetrahedron { attribute :>> baseLength = 40 [mm]; attribute :>> baseWidth = 20 [mm]; attribute :>> height = 40 [mm]; attribute :>> xoffset = 5 [mm]; attribute :>> yoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (0,360,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 0 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape14 : RightTriangularPrism { attribute :>> length = 40 [mm]; attribute :>> width = 20 [mm]; attribute :>> height = 40 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (180,360,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 30 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape15 : EccentricCylinder { attribute :>> semiMajorAxis = 20 [mm]; attribute :>> semiMinorAxis = 20 [mm]; attribute :>> height = 40 [mm]; attribute :>> xoffset = 5 [mm]; attribute :>> yoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (360,360,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 60 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape16 : EccentricCone { attribute :>> semiMajorAxis = 20 [mm]; attribute :>> semiMinorAxis = 20 [mm]; attribute :>> height = 40 [mm]; attribute :>> xoffset = 5 [mm]; attribute :>> yoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (540,360,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 90 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape17 : Cylinder { attribute :>> semiMajorAxis = 20 [mm]; attribute :>> semiMinorAxis = 20 [mm]; attribute :>> height = 40 [mm]; attribute :>> xoffset = 5 [mm]; attribute :>> yoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (720,360,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 0 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape18 : CircularCylinder { attribute :>> radius = 20 [mm]; attribute :>> height = 40 [mm]; attribute :>> xoffset = 5 [mm]; attribute :>> yoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (900,360,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 30 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape19 : RightCircularCylinder { attribute :>> radius = 20 [mm]; attribute :>> height = 40 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (0,540,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 60 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape20 : Cone { attribute :>> semiMajorAxis = 20 [mm]; attribute :>> semiMinorAxis = 20 [mm]; attribute :>> height = 40 [mm]; attribute :>> xoffset = 5 [mm]; attribute :>> yoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (180,540,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 90 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape21 : CircularCone { attribute :>> radius = 20 [mm]; attribute :>> height = 40 [mm]; attribute :>> xoffset = 5 [mm]; attribute :>> yoffset = 5 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (360,540,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 0 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape22 : RightCircularCone { attribute :>> radius = 20 [mm]; attribute :>> height = 40 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (540,540,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 30 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape23 : Torus { attribute :>> majorRadius = 60 [mm]; attribute :>> minorRadius = 8 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (720,540,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 60 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } item shape24 : RectangularToroid { attribute :>> revolutionRadius = 60 [mm]; attribute :>> rectangleLength = 8 [mm]; attribute :>> rectangleWidth = 8 [mm]; attribute coordinateFrame { attribute transformation : TranslationRotationSequence { attribute shift : Translation { attribute translationVector = (900,540,0) [mm]; } attribute turn : Rotation { attribute axisDirection = (0,0,1); attribute angle = 90 [deg]; attribute isIntrinsic = true; } attribute :>> elements = (shift,turn); } } } view allShapesView { expose AllFiniteShapes::*; } view curvesView { expose shape1; expose shape2; expose shape3; expose shape4; expose shape5; expose shape7; } view surfaceAndSpatialView { expose shape6; expose shape8; expose shape9; expose shape10; expose shape11; expose shape12; expose shape13; expose shape14; expose shape15; expose shape16; expose shape17; expose shape18; expose shape19; expose shape20; expose shape21; expose shape22; expose shape23; expose shape24; } }