--- a +++ b/Tools/ModelUtilities/SolidModeling/SolidModelingTestDemo.Main.any @@ -0,0 +1,160 @@ +#include "SolidModeling.any" + +Main = +{ + // Folder for design parameters + AnyFolder DesignParameters = + { + AnyVar box_length_x = 2; + AnyVar box_length_y = 0.5; + AnyVar box_length_z = 2; + AnyVec3 box_r0 = {0, 1.75, 0}; + AnyVec3 box_Axes0_in_deg = {0,0,0}; + AnyVar box_density = 100; + AnyVec3 box_color = {1,0,0}; + + AnyVar cyl_radius = 0.5; + AnyVar cyl_length = 1; + AnyVec3 cyl_r0 = {0, 0.75, 0}; + AnyVec3 cyl_Axes0_in_deg = {-90,0,0}; + AnyVar cyl_density = 100; + AnyVec3 cyl_color = {0,0,1}; + }; + + // Folder for solid modeling operations + AnyFolder SolidModelingOperations = + { + //--> Creating box operation + CreateBox Box1( + InputName = Box1, + InputPlacement = Main.MyModel.Segs, + InputLengthX = Main.DesignParameters.box_length_x, + InputLengthY = Main.DesignParameters.box_length_y, + InputLengthZ = Main.DesignParameters.box_length_z, + InputDensity = Main.DesignParameters.box_density) + = + { + Pos0 = Main.DesignParameters.box_r0; + RotAnglesInDegree0 = Main.DesignParameters.box_Axes0_in_deg; + Color = Main.DesignParameters.box_color; + Opacity = 0.5; + ScaleFactorForLocalFrame = 1; + ScaleFactorForLocalRefNodes = 0.2; + }; + //<-- + //-->Definitions for some additional AnyRefNode objects + Main.MyModel.Segs.Box1 = + { + AnyRefNode new_bottom_node = + { + sRel = {0, -Main.DesignParameters.box_length_y /2, 0}; + AnyDrawRefFrame drw = + { + RGB = {1,0,1}; + ScaleXYZ = 0.5*{1,1,1}; + }; + }; + }; + //<-- + + //--> Creating a cylinder operation + CreateCylinder Cyl1( + InputName = Cyl1, + InputPlacement = Main.MyModel.Segs, + InputRadius = Main.DesignParameters.cyl_radius, + InputLength = Main.DesignParameters.cyl_length, + InputDensity = Main.DesignParameters.cyl_density) + = + { + Pos0 = Main.DesignParameters.cyl_r0; + RotAnglesInDegree0 = Main.DesignParameters.cyl_Axes0_in_deg; + Color = Main.DesignParameters.cyl_color; + Opacity = 0.5; + ScaleFactorForLocalFrame = 0.5; + ScaleFactorForLocalRefNodes = 0; + }; + //<-- + //-->Definitions for some additional AnyRefNode objects + Main.MyModel.Segs.Cyl1 = + { + AnyRefNode new_bottom_node = + { + sRel = {0 ,0, -Main.DesignParameters.cyl_length/2}; + ARel = RotMat(90*pi/180,x); + AnyDrawRefFrame drw = + { + RGB = {1,1,1}; + ScaleXYZ = 0.5*{1,1,1}; + }; + }; + AnyRefNode new_top_node = + { + sRel = {0 ,0, Main.DesignParameters.cyl_length/2}; + ARel = RotMat(90*pi/180,x); + AnyDrawRefFrame drw = + { + RGB = {1,1,1}; + ScaleXYZ = 0.5*{1,1,1}; + }; + }; + }; + //<-- + }; + + // Folder for all model information + AnyFolder MyModel = + { + AnyFixedRefFrame GlobalRef = + { + AnyDrawRefFrame Drw_GlobalRef = + { + RGB = {0,1,0}; + ScaleXYZ = 1 * {1, 1, 1}; + }; + }; + + AnyFolder Segs = {}; + + AnyFolder Joints = + { + AnyRevoluteJoint Rev_Jnt1 = + { + AnyRefFrame& base = ..GlobalRef; + AnyRefFrame& target = ..Segs.Cyl1.new_bottom_node; + Axis = y; + Ref = 0; + }; + AnyRevoluteJoint Rev_Jnt2 = + { + AnyRefFrame& baes = ..Segs.Cyl1.new_top_node; + AnyRefFrame& target = ..Segs.Box1.new_bottom_node; + Axis = y; + Ref = 0; + }; + }; + + AnyFolder Drivers = + { + AnyKinEqPolynomialDriver drv1 = + { + AnyKinMeasure& jnt = ..Joints.Rev_Jnt1; + PolyCoef = pi/180*{{0,90,90}}; + Reaction.Type = {On}; + }; + AnyKinEqSimpleDriver drv2 = + { + AnyKinMeasure& jnt = ..Joints.Rev_Jnt2; + DriverPos = pi/180*{0}; + DriverVel = pi/180*{-180}; + Reaction.Type = {On}; + }; + }; + }; + + AnyBodyStudy MyStudy = + { + AnyFolder &Model = .MyModel; + Gravity = {0.0, -9.81, 0.0}; + }; + +}; \ No newline at end of file