diff --git a/Modelica/Images/MultiBody/Examples/Elementary/DoublePendulumInitTip.png b/Modelica/Images/MultiBody/Examples/Elementary/DoublePendulumInitTip.png new file mode 100644 index 0000000000..bf1dd3b00c Binary files /dev/null and b/Modelica/Images/MultiBody/Examples/Elementary/DoublePendulumInitTip.png differ diff --git a/Modelica/Mechanics/MultiBody/Examples/Elementary/DoublePendulumInitTip.mo b/Modelica/Mechanics/MultiBody/Examples/Elementary/DoublePendulumInitTip.mo new file mode 100644 index 0000000000..4cd99dcf47 --- /dev/null +++ b/Modelica/Mechanics/MultiBody/Examples/Elementary/DoublePendulumInitTip.mo @@ -0,0 +1,86 @@ +within Modelica.Mechanics.MultiBody.Examples.Elementary; +model DoublePendulumInitTip + "Demonstrate how to initialize a double pendulum so that its tip starts at a predefined position" + extends Modelica.Icons.Example; + + inner World world annotation (Placement( + transformation(extent={{-100,0},{-80,20}},rotation=0))); + Joints.Revolute revolute1( useAxisFlange=true) + annotation (Placement(transformation(extent={{-60,0}, + {-40,20}}, rotation=0))); + Rotational.Components.Damper damper( d=0.1) + annotation (Placement(transformation(extent={{-60,40},{-40,60}}, rotation=0))); + Parts.BodyBox boxBody1( r={0.5,0,0}, width=0.06) + annotation (Placement(transformation(extent={{-22,0},{-2,20}}, rotation=0))); + Joints.Revolute revolute2 annotation (Placement(transformation(extent={{20,0},{ + 40,20}}, rotation=0))); + Parts.BodyBox boxBody2( r={0.5,0,0}, width=0.06) + annotation (Placement(transformation(extent={{62,0},{82,20}}, rotation=0))); + Modelica.Mechanics.MultiBody.Joints.FreeMotionScalarInit freeMotionScalarInit( + use_r=true, + r_rel_a_1(start=0.7, fixed=true), + r_rel_a_2(start=0.3, fixed=true), + use_v=true, + v_rel_a_1(fixed=true), + v_rel_a_2(fixed=true)) + annotation (Placement(transformation(extent={{-20,-40},{0,-20}}))); + annotation (Diagram(graphics), + experiment(StopTime=5), + experimentSetupOutput, + Documentation(info=" +

+This example demonstrates at hand of a double pendulum, +how no-standard initialization can be defined: +The absolute position of the pendulum tip, and its absolute speed +shall be initially defined. This can be performed with the +Joints.FreeMotionScalarInit +joint that allows to initialize individual elements of its relative vectors. +In this case, the x-, and y-coordinates of the relative position vector +(visualized by the yellow arrow in the figure below) and of its +derivative shall have a defined value at initial time. +The configuration of the double pendulum at the initial time is +shown below, where the tip position is required to have the coordinates +x=0.7, y=0.3. +

+ +
+ +
+ +")); +equation + connect(damper.flange_b,revolute1. axis) annotation (Line(points={{-40,50},{ + -36,50},{-36,28},{-50,28},{-50,20}}, color={0,0,0})); + connect(revolute1.support,damper. flange_a) annotation (Line(points={{-56,20}, + {-56,28},{-70,28},{-70,50},{-60,50}}, color={0,0,0})); + connect(revolute1.frame_b,boxBody1. frame_a) + annotation (Line( + points={{-40,10},{-22,10}}, + color={95,95,95}, + thickness=0.5)); + connect(revolute2.frame_b,boxBody2. frame_a) + annotation (Line( + points={{40,10},{62,10}}, + color={95,95,95}, + thickness=0.5)); + connect(boxBody1.frame_b,revolute2. frame_a) + annotation (Line( + points={{-2,10},{20,10}}, + color={95,95,95}, + thickness=0.5)); + connect(world.frame_b,revolute1. frame_a) + annotation (Line( + points={{-80,10},{-60,10}}, + color={95,95,95}, + thickness=0.5)); + connect(world.frame_b, freeMotionScalarInit.frame_a) annotation (Line( + points={{-80,10},{-66,10},{-66,-30},{-20,-30}}, + color={95,95,95}, + thickness=0.5, + smooth=Smooth.None)); + connect(freeMotionScalarInit.frame_b, boxBody2.frame_b) annotation (Line( + points={{0,-30},{88,-30},{88,10},{82,10}}, + color={95,95,95}, + thickness=0.5, + smooth=Smooth.None)); +end DoublePendulumInitTip; diff --git a/Modelica/Mechanics/MultiBody/Examples/Elementary/package.order b/Modelica/Mechanics/MultiBody/Examples/Elementary/package.order index 24ab032447..dc07725967 100644 --- a/Modelica/Mechanics/MultiBody/Examples/Elementary/package.order +++ b/Modelica/Mechanics/MultiBody/Examples/Elementary/package.order @@ -1,4 +1,5 @@ DoublePendulum +DoublePendulumInitTip ForceAndTorque FreeBody InitSpringConstant diff --git a/Modelica/Mechanics/MultiBody/Joints.mo b/Modelica/Mechanics/MultiBody/Joints.mo index b1388d7aea..15b5dcc564 100644 --- a/Modelica/Mechanics/MultiBody/Joints.mo +++ b/Modelica/Mechanics/MultiBody/Joints.mo @@ -9,36 +9,36 @@ package Joints "Components that constrain the motion between two frames" import SI = Modelica.SIunits; extends Modelica.Mechanics.MultiBody.Interfaces.PartialElementaryJoint; Modelica.Mechanics.Translational.Interfaces.Flange_a axis if useAxisFlange - "1-dim. translational flange that drives the joint" + "1-dim. translational flange that drives the joint" annotation (Placement(transformation(extent={{90,50},{70,70}}, rotation=0))); Modelica.Mechanics.Translational.Interfaces.Flange_b support if useAxisFlange "1-dim. translational flange of the drive drive support (assumed to be fixed in the world frame, NOT in the joint)" annotation (Placement(transformation(extent={{-30,50},{-50,70}}, rotation= 0))); - parameter Boolean useAxisFlange=false "= true, if axis flange is enabled" + parameter Boolean useAxisFlange=false "= true, if axis flange is enabled" annotation(Evaluate=true, HideResult=true, choices(__Dymola_checkBox=true)); parameter Boolean animation=true "= true, if animation shall be enabled"; parameter Modelica.Mechanics.MultiBody.Types.Axis n={1,0,0} - "Axis of translation resolved in frame_a (= same as in frame_b)" + "Axis of translation resolved in frame_a (= same as in frame_b)" annotation (Evaluate=true); constant SI.Position s_offset=0 "Relative distance offset (distance between frame_a and frame_b = s_offset + s)" annotation (Evaluate=false); parameter Types.Axis boxWidthDirection={0,1,0} - "Vector in width direction of box, resolved in frame_a" + "Vector in width direction of box, resolved in frame_a" annotation (Evaluate=true, Dialog(tab="Animation", group= "if animation = true", enable=animation)); parameter SI.Distance boxWidth=world.defaultJointWidth - "Width of prismatic joint box" + "Width of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); - parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" + parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color boxColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of prismatic joint box" + "Color of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter StateSelect stateSelect=StateSelect.prefer "Priority to use distance s and v=der(s) as states" annotation(Dialog(tab="Advanced")); @@ -47,7 +47,7 @@ package Joints "Components that constrain the motion between two frames" "Unit vector in direction of prismatic axis n"; SI.Position s(start=0, final stateSelect=stateSelect) - "Relative distance between frame_a and frame_b" + "Relative distance between frame_a and frame_b" annotation (unassignedMessage=" The relative distance s of a prismatic joint cannot be determined. Possible reasons: @@ -75,11 +75,11 @@ Possible reasons: widthDirection=boxWidthDirection, r=frame_a.r_0, R=frame_a.R) if world.enableAnimation and animation; - Translational.Components.Fixed fixed + Translational.Components.Fixed fixed annotation (Placement(transformation(extent={{-50,30},{-30,50}}))); - Translational.Interfaces.InternalSupport internalAxis(f = f) + Translational.Interfaces.InternalSupport internalAxis(f = f) annotation (Placement(transformation(extent={{70,50},{90,30}}))); - Translational.Sources.ConstantForce constantForce(f_constant=0) if not useAxisFlange + Translational.Sources.ConstantForce constantForce(f_constant=0) if not useAxisFlange annotation (Placement(transformation(extent={{40,30},{60,50}}))); equation v = der(s); @@ -224,7 +224,7 @@ vector \"n\" defining the translation axis import SI = Modelica.SIunits; Modelica.Mechanics.Rotational.Interfaces.Flange_a axis if useAxisFlange - "1-dim. rotational flange that drives the joint" + "1-dim. rotational flange that drives the joint" annotation (Placement(transformation(extent={{10,90},{-10,110}}, rotation= 0))); Modelica.Mechanics.Rotational.Interfaces.Flange_b support if useAxisFlange @@ -233,41 +233,41 @@ vector \"n\" defining the translation axis rotation=0))); Modelica.Mechanics.MultiBody.Interfaces.Frame_a frame_a - "Coordinate system fixed to the joint with one cut-force and cut-torque" + "Coordinate system fixed to the joint with one cut-force and cut-torque" annotation (Placement(transformation(extent={{-116,-16},{-84,16}}, rotation=0))); Modelica.Mechanics.MultiBody.Interfaces.Frame_b frame_b - "Coordinate system fixed to the joint with one cut-force and cut-torque" + "Coordinate system fixed to the joint with one cut-force and cut-torque" annotation (Placement(transformation(extent={{84,-16},{116,16}}, rotation=0))); - parameter Boolean useAxisFlange=false "= true, if axis flange is enabled" + parameter Boolean useAxisFlange=false "= true, if axis flange is enabled" annotation(Evaluate=true, HideResult=true, choices(__Dymola_checkBox=true)); parameter Boolean animation=true "= true, if animation shall be enabled (show axis as cylinder)"; parameter Modelica.Mechanics.MultiBody.Types.Axis n={0,0,1} - "Axis of rotation resolved in frame_a (= same as in frame_b)" + "Axis of rotation resolved in frame_a (= same as in frame_b)" annotation (Evaluate=true); constant SI.Angle phi_offset=0 "Relative angle offset (angle = phi_offset + phi)"; parameter SI.Distance cylinderLength=world.defaultJointLength - "Length of cylinder representing the joint axis" + "Length of cylinder representing the joint axis" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinder representing the joint axis" + "Diameter of cylinder representing the joint axis" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Modelica.Mechanics.MultiBody.Types.Color cylinderColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of cylinder representing the joint axis" + "Color of cylinder representing the joint axis" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Modelica.Mechanics.MultiBody.Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter StateSelect stateSelect=StateSelect.prefer "Priority to use joint angle phi and w=der(phi) as states" annotation(Dialog(tab="Advanced")); SI.Angle phi(start=0, final stateSelect=stateSelect) - "Relative rotation angle from frame_a to frame_b" + "Relative rotation angle from frame_a to frame_b" annotation (unassignedMessage=" The rotation angle phi of a revolute joint cannot be determined. Possible reasons: @@ -306,11 +306,11 @@ Possible reasons: protected Modelica.Mechanics.Rotational.Components.Fixed fixed - "support flange is fixed to ground" + "support flange is fixed to ground" annotation (Placement(transformation(extent={{-70,70},{-50,90}}))); - Rotational.Interfaces.InternalSupport internalAxis(tau=tau) + Rotational.Interfaces.InternalSupport internalAxis(tau=tau) annotation (Placement(transformation(extent={{-10,90},{10,70}}))); - Rotational.Sources.ConstantTorque constantTorque(tau_constant=0) if not useAxisFlange + Rotational.Sources.ConstantTorque constantTorque(tau_constant=0) if not useAxisFlange annotation (Placement(transformation(extent={{40,70},{20,90}}))); equation Connections.branch(frame_a.R, frame_b.R); @@ -523,30 +523,30 @@ vector \"n\" defining the translation axis import Modelica.Mechanics.MultiBody.Types; Interfaces.Frame_a frame_a - "Coordinate system fixed to the joint with one cut-force and cut-torque" + "Coordinate system fixed to the joint with one cut-force and cut-torque" annotation (Placement(transformation(extent={{-116,-16},{-84,16}}, rotation=0))); Interfaces.Frame_b frame_b - "Coordinate system fixed to the joint with one cut-force and cut-torque" + "Coordinate system fixed to the joint with one cut-force and cut-torque" annotation (Placement(transformation(extent={{84,-16},{116,16}}, rotation= 0))); parameter Boolean animation=true "= true, if animation shall be enabled (show axis as cylinder)"; parameter Modelica.Mechanics.MultiBody.Types.Axis n={0,0,1} - "Axis of rotation resolved in frame_a (= same as in frame_b)" + "Axis of rotation resolved in frame_a (= same as in frame_b)" annotation (Evaluate=true); parameter SI.Distance cylinderLength=world.defaultJointLength - "Length of cylinder representing the joint axis" + "Length of cylinder representing the joint axis" annotation (Dialog(group="if animation = true", enable=animation)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinder representing the joint axis" + "Diameter of cylinder representing the joint axis" annotation (Dialog(group="if animation = true", enable=animation)); input Types.Color cylinderColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of cylinder representing the joint axis" + "Color of cylinder representing the joint axis" annotation (Dialog(group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(group="if animation = true", enable=animation)); protected outer Modelica.Mechanics.MultiBody.World world; @@ -555,7 +555,7 @@ vector \"n\" defining the translation axis "Unit vector in direction of rotation axis, resolved in frame_a (= same as in frame_b)"; parameter Real nnx_a[3](each final unit="1")=if abs(e[1]) > 0.1 then {0,1,0} else (if abs(e[2]) > 0.1 then {0,0,1} else {1,0,0}) - "Arbitrary vector that is not aligned with rotation axis n" + "Arbitrary vector that is not aligned with rotation axis n" annotation (Evaluate=true); parameter Real ey_a[3](each final unit="1")=Modelica.Math.Vectors.normalize( cross(e, nnx_a),0.0) @@ -612,7 +612,7 @@ vector \"n\" defining the translation axis // check that revolute joint is used in planar loop ex_b = Frames.resolve2(R_rel, ex_a); ey_b = Frames.resolve2(R_rel, ey_a); - assert(noEvent(abs(e*r_rel_a) <= 1.e-10 and abs(e*ex_b) <= 1.e-10 and + assert(noEvent(abs(e*r_rel_a) <= 1.e-10 and abs(e*ex_b) <= 1.e-10 and abs(e*ey_b) <= 1.e-10), " The MultiBody.Joints.RevolutePlanarLoopConstraint joint is used as cut-joint of a planar loop. However, the revolute joint is not part of a planar loop where the @@ -718,16 +718,16 @@ this force is an unknown quantity). parameter Boolean animation=true "= true, if animation shall be enabled (show cylinder)"; parameter Modelica.Mechanics.MultiBody.Types.Axis n={1,0,0} - "Cylinder axis resolved in frame_a (= same as in frame_b)" + "Cylinder axis resolved in frame_a (= same as in frame_b)" annotation (Evaluate=true); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinder" + "Diameter of cylinder" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color cylinderColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of cylinder" + "Color of cylinder" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter StateSelect stateSelect=StateSelect.prefer "Priority to use joint coordinates (phi, s, w, v) as states" annotation(Dialog(tab="Advanced")); @@ -766,7 +766,7 @@ this force is an unknown quantity). lengthDirection=prismatic.n, widthDirection={0,1,0}, r=frame_a.r_0, - R=frame_a.R) if world.enableAnimation and animation + R=frame_a.R) if world.enableAnimation and animation annotation (Placement(transformation(extent={{-20,40},{0,60}}, rotation= 0))); equation @@ -776,17 +776,17 @@ this force is an unknown quantity). s = prismatic.s; v = der(s); a = der(v); - connect(frame_a, prismatic.frame_a) + connect(frame_a, prismatic.frame_a) annotation (Line( points={{-100,0},{-70,0}}, color={95,95,95}, thickness=0.5)); - connect(prismatic.frame_b, revolute.frame_a) + connect(prismatic.frame_b, revolute.frame_a) annotation (Line( points={{-15,0},{10,0}}, color={95,95,95}, thickness=0.5)); - connect(revolute.frame_b, frame_b) + connect(revolute.frame_b, frame_b) annotation (Line( points={{65,0},{100,0}}, color={95,95,95}, @@ -860,16 +860,16 @@ vector \"n\" defining the cylinder axis "Axis of revolute joint 2 resolved in frame_b" annotation (Evaluate=true); parameter SI.Distance cylinderLength=world.defaultJointLength - "Length of cylinders representing the joint axes" + "Length of cylinders representing the joint axes" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinders representing the joint axes" + "Diameter of cylinders representing the joint axes" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color cylinderColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of cylinders representing the joint axes" + "Color of cylinders representing the joint axes" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter StateSelect stateSelect=StateSelect.prefer "Priority to use joint coordinates (phi_a, phi_b, w_a, w_b) as states" annotation(Dialog(tab="Advanced")); @@ -890,7 +890,7 @@ vector \"n\" defining the cylinder axis cylinderDiameter=cylinderDiameter, cylinderLength=cylinderLength, cylinderColor=cylinderColor, - specularCoefficient=specularCoefficient) + specularCoefficient=specularCoefficient) annotation (Placement(transformation( origin={35,45}, extent={{-25,-25},{25,25}}, @@ -916,7 +916,7 @@ vector \"n\" defining the cylinder axis w_b = der(phi_b); a_a = der(w_a); a_b = der(w_b); - connect(frame_a, revolute_a.frame_a) + connect(frame_a, revolute_a.frame_a) annotation (Line( points={{-100,0},{-60,0}}, color={95,95,95}, @@ -1042,21 +1042,21 @@ phi_b.start = 45o). "Vector in direction of x-axis of plane, resolved in frame_a (n_x shall be orthogonal to n)" annotation (Evaluate=true); parameter SI.Distance cylinderLength=world.defaultJointLength - "Length of revolute cylinder" + "Length of revolute cylinder" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of revolute cylinder" + "Diameter of revolute cylinder" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color cylinderColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of revolute cylinder" + "Color of revolute cylinder" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance boxWidth=0.3*cylinderDiameter - "Width of prismatic joint boxes" + "Width of prismatic joint boxes" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); - parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint boxes" + parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint boxes" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color boxColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of prismatic joint boxes" + "Color of prismatic joint boxes" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter StateSelect stateSelect=StateSelect.prefer "Priority to use joint coordinates (s_x, s_y, phi, v_x, v_y, w) as states" @@ -1149,7 +1149,7 @@ phi_b.start = 45o). a_y = der(v_y); wd = der(w); - connect(frame_a, prismatic_x.frame_a) + connect(frame_a, prismatic_x.frame_a) annotation (Line( points={{-100,0},{-69,0}}, color={95,95,95}, @@ -1162,7 +1162,7 @@ phi_b.start = 45o). points={{1.22465e-015,70},{0,80},{30,80},{30,0},{41,0}}, color={95,95,95}, thickness=0.5)); - connect(revolute.frame_b, frame_b) + connect(revolute.frame_b, frame_b) annotation (Line( points={{81,0},{100,0}}, color={95,95,95}, @@ -1253,13 +1253,13 @@ s_y.start = 0.5, phi.start = 45o). parameter Boolean animation=true "= true, if animation shall be enabled (show sphere)"; parameter SI.Distance sphereDiameter=world.defaultJointLength - "Diameter of sphere representing the spherical joint" + "Diameter of sphere representing the spherical joint" annotation (Dialog(group="if animation = true", enable=animation)); input Types.Color sphereColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of sphere representing the spherical joint" + "Color of sphere representing the spherical joint" annotation (Dialog(group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(group="if animation = true", enable=animation)); parameter Boolean angles_fixed = false @@ -1269,7 +1269,7 @@ s_y.start = 0.5, phi.start = 45o). "Initial values of angles to rotate frame_a around 'sequence_start' axes into frame_b" annotation (Dialog(tab="Initialization")); parameter Types.RotationSequence sequence_start={1,2,3} - "Sequence of rotations to rotate frame_a into frame_b at initial time" + "Sequence of rotations to rotate frame_a into frame_b at initial time" annotation (Evaluate=true, Dialog(tab="Initialization")); parameter Boolean w_rel_a_fixed = false @@ -1283,7 +1283,7 @@ s_y.start = 0.5, phi.start = 45o). "= true, if z_rel_a_start are used as initial values, else as guess values" annotation(Evaluate=true, choices(__Dymola_checkBox=true), Dialog(tab="Initialization")); parameter SI.AngularAcceleration z_rel_a_start[3]={0,0,0} - "Initial values of angular acceleration z_rel_a = der(w_rel_a)" + "Initial values of angular acceleration z_rel_a = der(w_rel_a)" annotation (Dialog(tab="Initialization")); parameter Boolean enforceStates=false @@ -1319,29 +1319,29 @@ s_y.start = 0.5, phi.start = 45o). parameter Frames.Quaternions.Orientation Q_start= Modelica.Mechanics.MultiBody.Frames.to_Q(R_rel_start) "Quaternion orientation object from frame_a to frame_b at initial time"; - Frames.Quaternions.Orientation Q(start=Q_start, each stateSelect=if - enforceStates and useQuaternions then StateSelect.prefer else + Frames.Quaternions.Orientation Q(start=Q_start, each stateSelect=if + enforceStates and useQuaternions then StateSelect.prefer else StateSelect.never) "Quaternion orientation object from frame_a to frame_b (dummy value, if quaternions are not used as states)"; // Declaration for 3 angles parameter SI.Angle phi_start[3]=if sequence_start[1] == sequence_angleStates[1] and sequence_start[2] == sequence_angleStates[2] - and sequence_start[3] == sequence_angleStates[3] then angles_start else + and sequence_start[3] == sequence_angleStates[3] then angles_start else Frames.axesRotationsAngles(R_rel_start, sequence_angleStates) "Potential angle states at initial time"; - SI.Angle phi[3](start=phi_start, each stateSelect=if enforceStates and not + SI.Angle phi[3](start=phi_start, each stateSelect=if enforceStates and not useQuaternions then StateSelect.always else StateSelect.never) "Dummy or 3 angles to rotate frame_a into frame_b"; - SI.AngularVelocity phi_d[3](each stateSelect=if enforceStates and not + SI.AngularVelocity phi_d[3](each stateSelect=if enforceStates and not useQuaternions then StateSelect.always else StateSelect.never) "= der(phi)"; SI.AngularAcceleration phi_dd[3] "= der(phi_d)"; // Other declarations SI.AngularVelocity w_rel[3](start=Frames.resolve2(R_rel_start, w_rel_a_start), - fixed = fill(w_rel_a_fixed,3), each stateSelect=if - enforceStates and useQuaternions then StateSelect.always else + fixed = fill(w_rel_a_fixed,3), each stateSelect=if + enforceStates and useQuaternions then StateSelect.always else StateSelect.never) "Dummy or relative angular velocity of frame_b with respect to frame_a, resolved in frame_b"; Frames.Orientation R_rel @@ -1564,15 +1564,15 @@ frame_b of the joint. parameter Boolean animation=true "= true, if animation shall be enabled (show arrow from frame_a to frame_b)"; - SI.Position r_rel_a[3](start={0,0,0}, each stateSelect=if enforceStates then + SI.Position r_rel_a[3](start={0,0,0}, each stateSelect=if enforceStates then StateSelect.always else StateSelect.prefer) "Position vector from origin of frame_a to origin of frame_b, resolved in frame_a" annotation(Dialog(group="Initialization", showStartAttribute=true)); - SI.Velocity v_rel_a[3](start={0,0,0}, each stateSelect=if enforceStates then StateSelect.always else + SI.Velocity v_rel_a[3](start={0,0,0}, each stateSelect=if enforceStates then StateSelect.always else StateSelect.prefer) "= der(r_rel_a), i.e., velocity of origin of frame_b with respect to origin of frame_a, resolved in frame_a" annotation(Dialog(group="Initialization", showStartAttribute=true)); - SI.Acceleration a_rel_a[3](start={0,0,0}) "= der(v_rel_a)" + SI.Acceleration a_rel_a[3](start={0,0,0}) "= der(v_rel_a)" annotation(Dialog(group="Initialization", showStartAttribute=true)); parameter Boolean angles_fixed = false @@ -1582,7 +1582,7 @@ frame_b of the joint. "Initial values of angles to rotate frame_a around 'sequence_start' axes into frame_b" annotation (Dialog(group="Initialization")); parameter Types.RotationSequence sequence_start={1,2,3} - "Sequence of rotations to rotate frame_a into frame_b at initial time" + "Sequence of rotations to rotate frame_a into frame_b at initial time" annotation (Evaluate=true, Dialog(group="Initialization")); parameter Boolean w_rel_a_fixed = false @@ -1596,17 +1596,17 @@ frame_b of the joint. "= true, if z_rel_a_start are used as initial values, else as guess values" annotation(Evaluate=true, choices(__Dymola_checkBox=true), Dialog(group="Initialization")); parameter SI.AngularAcceleration z_rel_a_start[3]={0,0,0} - "Initial values of angular acceleration z_rel_a = der(w_rel_a)" + "Initial values of angular acceleration z_rel_a = der(w_rel_a)" annotation (Dialog(group="Initialization")); parameter SI.Length arrowDiameter=world.defaultArrowDiameter - "Diameter of arrow from frame_a to frame_b" + "Diameter of arrow from frame_a to frame_b" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color arrowColor=Modelica.Mechanics.MultiBody.Types.Defaults.SensorColor - "Color of arrow" + "Color of arrow" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Boolean enforceStates=true " = true, if relative variables between frame_a and frame_b shall be used as states" @@ -1616,7 +1616,7 @@ frame_b of the joint. annotation (Dialog(tab="Advanced")); parameter Types.RotationSequence sequence_angleStates={1,2,3} " Sequence of rotations to rotate frame_a into frame_b around the 3 angles used as states" - annotation (Evaluate=true, Dialog(tab="Advanced", enable=not + annotation (Evaluate=true, Dialog(tab="Advanced", enable=not useQuaternions)); final parameter Frames.Orientation R_rel_start= @@ -1635,31 +1635,31 @@ frame_b of the joint. // Declarations for quaternions (dummies, if quaternions are not used) parameter Frames.Quaternions.Orientation Q_start=Frames.to_Q(R_rel_start) "Quaternion orientation object from frame_a to frame_b at initial time"; - Frames.Quaternions.Orientation Q(start=Q_start, each stateSelect=if - enforceStates then (if useQuaternions then StateSelect.prefer else + Frames.Quaternions.Orientation Q(start=Q_start, each stateSelect=if + enforceStates then (if useQuaternions then StateSelect.prefer else StateSelect.never) else StateSelect.default) "Quaternion orientation object from frame_a to frame_b (dummy value, if quaternions are not used as states)"; // Declaration for 3 angles parameter SI.Angle phi_start[3]=if sequence_start[1] == sequence_angleStates[1] and sequence_start[2] == sequence_angleStates[2] - and sequence_start[3] == sequence_angleStates[3] then angles_start else + and sequence_start[3] == sequence_angleStates[3] then angles_start else Frames.axesRotationsAngles(R_rel_start, sequence_angleStates) "Potential angle states at initial time"; - SI.Angle phi[3](start=phi_start, each stateSelect=if enforceStates then (if - useQuaternions then StateSelect.never else StateSelect.always) else + SI.Angle phi[3](start=phi_start, each stateSelect=if enforceStates then (if + useQuaternions then StateSelect.never else StateSelect.always) else StateSelect.prefer) "Dummy or 3 angles to rotate frame_a into frame_b"; - SI.AngularVelocity phi_d[3](each stateSelect=if enforceStates then (if - useQuaternions then StateSelect.never else StateSelect.always) else + SI.AngularVelocity phi_d[3](each stateSelect=if enforceStates then (if + useQuaternions then StateSelect.never else StateSelect.always) else StateSelect.prefer) "= der(phi)"; SI.AngularAcceleration phi_dd[3] "= der(phi_d)"; // Other declarations SI.AngularVelocity w_rel_b[3](start=Frames.resolve2(R_rel_start, w_rel_a_start), fixed=fill(w_rel_a_fixed,3), - each stateSelect=if enforceStates then - (if useQuaternions then StateSelect.always else + each stateSelect=if enforceStates then + (if useQuaternions then StateSelect.always else StateSelect.avoid) else StateSelect.prefer) "Dummy or relative angular velocity of frame_b with respect to frame_a, resolved in frame_b"; Frames.Orientation R_rel @@ -1918,6 +1918,365 @@ frame_b of the joint. fillPattern=FillPattern.Solid)})); end FreeMotion; + model FreeMotionScalarInit + "Free motion joint with scalar initialization and state selection (6 degrees-of-freedom, 12 potential states)" + + import Modelica.Math.*; + import SI = Modelica.SIunits; + + extends Modelica.Mechanics.MultiBody.Interfaces.PartialTwoFrames; + + parameter Boolean animation=true + "= true, if animation shall be enabled (show arrow from frame_a to frame_b)" + annotation(Dialog(enable=use_r)); + + parameter Boolean use_r = false "= true, if r_rel_a shall be used" + annotation(HideResult=true,Dialog(tab="Translational Initialization", group="Position vector r_rel_a from origin of frame_a to origin of frame_b, resolved in frame_a")); + SI.Position r_rel_a_1(start=0, final stateSelect=r_rel_a_1_stateSelect) = model_r.r_rel_a_1 if use_r + "Relative distance r_rel_a[1]" + annotation(Dialog(enable=use_r, tab="Translational Initialization", group="Position vector r_rel_a from origin of frame_a to origin of frame_b, resolved in frame_a",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.Position r_rel_a_2(start=0, final stateSelect=r_rel_a_2_stateSelect) = model_r.r_rel_a_2 if use_r + "Relative distance r_rel_a[2]" + annotation(Dialog(enable=use_r, tab="Translational Initialization", group="Position vector r_rel_a from origin of frame_a to origin of frame_b, resolved in frame_a",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.Position r_rel_a_3(start=0, final stateSelect=r_rel_a_3_stateSelect) = model_r.r_rel_a_3 if use_r + "Relative distance r_rel_a[3]" + annotation(Dialog(enable=use_r, tab="Translational Initialization", group="Position vector r_rel_a from origin of frame_a to origin of frame_b, resolved in frame_a",showStartAttribute=true,__Dymola_initialDialog=true)); + + parameter StateSelect r_rel_a_1_stateSelect=StateSelect.never + "StateSelect of r_rel_a[1]" annotation(HideResult=true, + Dialog(enable=use_r, tab="Translational Initialization", group="Position vector r_rel_a from origin of frame_a to origin of frame_b, resolved in frame_a")); + parameter StateSelect r_rel_a_2_stateSelect=StateSelect.never + "StateSelect of r_rel_a[2]" annotation(HideResult=true, + Dialog(enable=use_r, tab="Translational Initialization", group="Position vector r_rel_a from origin of frame_a to origin of frame_b, resolved in frame_a")); + parameter StateSelect r_rel_a_3_stateSelect=StateSelect.never + "StateSelect of r_rel_a[3]" annotation(HideResult=true, + Dialog(enable=use_r, tab="Translational Initialization", group="Position vector r_rel_a from origin of frame_a to origin of frame_b, resolved in frame_a")); + + parameter Boolean use_v = false "= true, if v_rel_a shall be used" + annotation(HideResult=true,Dialog(enable=use_r, tab="Translational Initialization", group="Velocity vector v_rel_a = der(r_rel_a)")); + SI.Velocity v_rel_a_1(start=0, final stateSelect=v_rel_a_1_stateSelect) = der(r_rel_a_1) if use_r and use_v + "Relative velocity v_rel_a[1]" + annotation(Dialog(enable=use_r and use_v, tab="Translational Initialization", group="Velocity vector v_rel_a = der(r_rel_a)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.Velocity v_rel_a_2(start=0, final stateSelect=v_rel_a_2_stateSelect) = der(r_rel_a_2) if use_r and use_v + "Relative velocity v_rel_a[2]" + annotation(Dialog(enable=use_r and use_v, tab="Translational Initialization", group="Velocity vector v_rel_a = der(r_rel_a)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.Velocity v_rel_a_3(start=0, final stateSelect=v_rel_a_3_stateSelect) = der(r_rel_a_3) if use_r and use_v + "Relative velocity v_rel_a[3]" + annotation(Dialog(enable=use_r and use_v, tab="Translational Initialization", group="Velocity vector v_rel_a = der(r_rel_a)",showStartAttribute=true,__Dymola_initialDialog=true)); + + parameter StateSelect v_rel_a_1_stateSelect=StateSelect.never + "StateSelect of v_rel_a[1]" annotation(HideResult=true, + Dialog(enable=use_r and use_v, tab="Translational Initialization", group="Velocity vector v_rel_a = der(r_rel_a)")); + parameter StateSelect v_rel_a_2_stateSelect=StateSelect.never + "StateSelect of v_rel_a[2]" annotation(HideResult=true, + Dialog(enable=use_r and use_v, tab="Translational Initialization", group="Velocity vector v_rel_a = der(r_rel_a)")); + parameter StateSelect v_rel_a_3_stateSelect=StateSelect.never + "StateSelect of v_rel_a[3]" annotation(HideResult=true, + Dialog(enable=use_r and use_v, tab="Translational Initialization", group="Velocity vector v_rel_a = der(r_rel_a)")); + + parameter Boolean use_a = false "= true, if a_rel_a shall be used" + annotation(HideResult=true,Dialog(enable=use_r and use_v, tab="Translational Initialization", group="Acceleration vector a_rel_a = der(v_rel_a)")); + SI.Acceleration a_rel_a_1(start=0) = der(v_rel_a_1) if use_r and use_v and use_a + "Relative acceleration a_rel_a[1]" + annotation(Dialog(enable=use_r and use_v and use_a, tab="Translational Initialization", group="Acceleration vector a_rel_a = der(v_rel_a)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.Acceleration a_rel_a_2(start=0) = der(v_rel_a_2) if use_r and use_v and use_a + "Relative acceleration a_rel_a[2]" + annotation(Dialog(enable=use_r and use_v and use_a, tab="Translational Initialization", group="Acceleration vector a_rel_a = der(v_rel_a)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.Acceleration a_rel_a_3(start=0) = der(v_rel_a_3) if use_r and use_v and use_a + "Relative acceleration a_rel_a[3]" + annotation(Dialog(enable=use_r and use_v and use_a, tab="Translational Initialization", group="Acceleration vector a_rel_a = der(v_rel_a)",showStartAttribute=true,__Dymola_initialDialog=true)); + + parameter Boolean use_angle = false "= true, if angle shall be used" + annotation(HideResult=true,Dialog(tab="Angle Initialization", group="Angles to rotate frame_a to frame_b along sequence_start")); + + parameter Types.RotationSequence sequence_start={1,2,3} + "Sequence of angle rotations" + annotation(Evaluate=true,Dialog(enable=use_angle, tab="Angle Initialization", group="Angles to rotate frame_a to frame_b along sequence_start")); + + SI.Angle angle_1(start=0, stateSelect=angle_1_stateSelect) + "First rotation angle or dummy" + annotation(Dialog(enable=use_angle, tab="Angle Initialization", group="Angles to rotate frame_a to frame_b along sequence_start",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.Angle angle_2(start=0, stateSelect=angle_2_stateSelect) + "Second rotation angle or dummy" + annotation(Dialog(enable=use_angle, tab="Angle Initialization", group="Angles to rotate frame_a to frame_b along sequence_start",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.Angle angle_3(start=0, stateSelect=angle_3_stateSelect) + "Third rotation angle or dummy" + annotation(Dialog(enable=use_angle, tab="Angle Initialization", group="Angles to rotate frame_a to frame_b along sequence_start",showStartAttribute=true,__Dymola_initialDialog=true)); + + parameter StateSelect angle_1_stateSelect=StateSelect.never + "StateSelect of angle_1" + annotation(HideResult=true, Dialog(enable=use_angle, tab="Angle Initialization", group="Angles to rotate frame_a to frame_b along sequence_start")); + parameter StateSelect angle_2_stateSelect=StateSelect.never + "StateSelect of angle_2" + annotation(HideResult=true, Dialog(enable=use_angle, tab="Angle Initialization", group="Angles to rotate frame_a to frame_b along sequence_start")); + parameter StateSelect angle_3_stateSelect=StateSelect.never + "StateSelect of angle_3" + annotation(HideResult=true, Dialog(enable=use_angle, tab="Angle Initialization", group="Angles to rotate frame_a to frame_b along sequence_start")); + + parameter Boolean use_angle_d= false "= true, if angle_d shall be used" + annotation(HideResult=true,Dialog(enable=use_angle, tab="Angle Initialization", group="angle_d = der(angle)")); + + SI.AngularVelocity angle_d_1(start=0, final stateSelect=angle_d_1_stateSelect) = der(angle_1) if use_angle and use_angle_d + "= der(angle_1)" + annotation(Dialog(enable=use_angle and use_angle_d, tab="Angle Initialization", group="angle_d = der(angle)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.AngularVelocity angle_d_2(start=0, final stateSelect=angle_d_2_stateSelect) = der(angle_2) if use_angle and use_angle_d + "= der(angle_2)" + annotation(Dialog(enable=use_angle and use_angle_d, tab="Angle Initialization", group="angle_d = der(angle)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.AngularVelocity angle_d_3(start=0, final stateSelect=angle_d_3_stateSelect) = der(angle_3) if use_angle and use_angle_d + "= der(angle_3)" + annotation(Dialog(enable=use_angle and use_angle_d, tab="Angle Initialization", group="angle_d = der(angle)",showStartAttribute=true,__Dymola_initialDialog=true)); + + parameter StateSelect angle_d_1_stateSelect=StateSelect.never + "StateSelect of angle_d_1" annotation(HideResult=true, + Dialog(enable=use_angle and use_angle_d, tab="Angle Initialization", group="angle_d = der(angle)")); + parameter StateSelect angle_d_2_stateSelect=StateSelect.never + "StateSelect of angle_d_2" annotation(HideResult=true, + Dialog(enable=use_angle and use_angle_d, tab="Angle Initialization", group="angle_d = der(angle)")); + parameter StateSelect angle_d_3_stateSelect=StateSelect.never + "StateSelect of angle_d_3" annotation(HideResult=true, + Dialog(enable=use_angle and use_angle_d, tab="Angle Initialization", group="angle_d = der(angle)")); + + parameter Boolean use_angle_dd = false "= true, if angle_dd shall be used" + annotation(HideResult=true,Dialog(enable=use_angle and use_angle_d, tab="Angle Initialization", group="angle_dd = der(angle_d)")); + SI.AngularAcceleration angle_dd_1(start=0) = der(angle_d_1) if use_angle and use_angle_d and use_angle_dd + "= der(angle_d_1)" + annotation(Dialog(enable=use_angle and use_angle_d and use_angle_dd, tab="Angle Initialization", group="angle_dd = der(angle_d)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.AngularAcceleration angle_dd_2(start=0) = der(angle_d_2) if use_angle and use_angle_d and use_angle_dd + "= der(angle_d_2)" + annotation(Dialog(enable=use_angle and use_angle_d and use_angle_dd, tab="Angle Initialization", group="angle_dd = der(angle_d)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.AngularAcceleration angle_dd_3(start=0) = der(angle_d_3) if use_angle and use_angle_d and use_angle_dd + "= der(angle_d_3)" + annotation(Dialog(enable=use_angle and use_angle_d and use_angle_dd, tab="Angle Initialization", group="angle_dd = der(angle_d)",showStartAttribute=true,__Dymola_initialDialog=true)); + + parameter Boolean use_w = false "= true, if w_rel_b shall be used" + annotation(HideResult=true,Dialog(tab="Angular Velocity Initialization", group="Angular velocity w_rel_b of frame_b with respect to frame_a, resolved in frame_b")); + + SI.AngularVelocity w_rel_b_1(start=0, stateSelect=w_rel_b_1_stateSelect) = model_w.w_rel_b_1 if use_w + "Relative angular velocity w_rel_b[1]" + annotation(Dialog(enable=use_w, tab="Angular Velocity Initialization", group="Angular velocity w_rel_b of frame_b with respect to frame_a, resolved in frame_b",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.AngularVelocity w_rel_b_2(start=0, stateSelect=w_rel_b_2_stateSelect) = model_w.w_rel_b_2 if use_w + "Relative angular velocity w_rel_b[2]" + annotation(Dialog(enable=use_w, tab="Angular Velocity Initialization", group="Angular velocity w_rel_b of frame_b with respect to frame_a, resolved in frame_b",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.AngularVelocity w_rel_b_3(start=0, stateSelect=w_rel_b_3_stateSelect) = model_w.w_rel_b_3 if use_w + "Relative angular velocity w_rel_b[3]" + annotation(Dialog(enable=use_w, tab="Angular Velocity Initialization", group="Angular velocity w_rel_b of frame_b with respect to frame_a, resolved in frame_b",showStartAttribute=true,__Dymola_initialDialog=true)); + + parameter StateSelect w_rel_b_1_stateSelect=StateSelect.never + "StateSelect of w_rel_b[1]" annotation(HideResult=true, + Dialog(enable=use_w, tab="Angular Velocity Initialization", group="Angular velocity w_rel_b of frame_b with respect to frame_a, resolved in frame_b")); + parameter StateSelect w_rel_b_2_stateSelect=StateSelect.never + "StateSelect of w_rel_b[2]" annotation(HideResult=true, + Dialog(enable=use_w, tab="Angular Velocity Initialization", group="Angular velocity w_rel_b of frame_b with respect to frame_a, resolved in frame_b")); + parameter StateSelect w_rel_b_3_stateSelect=StateSelect.never + "StateSelect of w_rel_b[3]" annotation(HideResult=true, + Dialog(enable=use_w, tab="Angular Velocity Initialization", group="Angular velocity w_rel_b of frame_b with respect to frame_a, resolved in frame_b")); + + parameter Boolean use_z = false "= true, if z_rel_b shall be used" + annotation(HideResult=true,Dialog(enable=use_w, tab="Angular Velocity Initialization", group="Angular acceleration z_rel_b = der(w_rel_b)")); + SI.AngularAcceleration z_rel_b_1(start=0) = der(w_rel_b_1) if use_w and use_z + "Relative angular acceleration z_rel_b[1]" + annotation(Dialog(enable=use_w and use_z, tab="Angular Velocity Initialization", group="Angular acceleration z_rel_b = der(w_rel_b)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.AngularAcceleration z_rel_b_2(start=0) = der(w_rel_b_2) if use_w and use_z + "Relative angular acceleration z_rel_b[2]" + annotation(Dialog(enable=use_w and use_z, tab="Angular Velocity Initialization", group="Angular acceleration z_rel_b = der(w_rel_b)",showStartAttribute=true,__Dymola_initialDialog=true)); + SI.AngularAcceleration z_rel_b_3(start=0) = der(w_rel_b_3) if use_w and use_z + "Relative angular acceleration z_rel_b[3]" + annotation(Dialog(enable=use_w and use_z, tab="Angular Velocity Initialization", group="Angular acceleration z_rel_b = der(w_rel_b)",showStartAttribute=true,__Dymola_initialDialog=true)); + + parameter SI.Length arrowDiameter=world.defaultArrowDiameter + "Diameter of arrow from frame_a to frame_b" + annotation (Dialog(tab="Animation", group="if animation = true", enable=animation and use_r)); + input Types.Color arrowColor=Modelica.Mechanics.MultiBody.Types.Defaults.SensorColor + "Color of arrow" + annotation (Dialog(tab="Animation", group="if animation = true", enable=animation and use_r)); + input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient + "Reflection of ambient light (= 0: light is completely absorbed)" + annotation (Dialog(tab="Animation", group="if animation = true", enable=animation and use_r)); + + protected + Visualizers.Advanced.Arrow arrow( + r_head={r_rel_a_1, r_rel_a_2, r_rel_a_3}, + diameter=arrowDiameter, + color=arrowColor, + specularCoefficient=specularCoefficient, + r=frame_a.r_0, + R=frame_a.R) if world.enableAnimation and animation and use_r; + + encapsulated model Model_r + import SI = Modelica.SIunits; + import Modelica.Mechanics.MultiBody.Frames; + input SI.Position r_a_0[3] annotation(HideResult=true); + input SI.Position r_b_0[3] annotation(HideResult=true); + input Frames.Orientation R_a annotation(HideResult=true); + output SI.Position r_rel_a_1 annotation(HideResult=true); + output SI.Position r_rel_a_2 annotation(HideResult=true); + output SI.Position r_rel_a_3 annotation(HideResult=true); + equation + r_b_0 = r_a_0 + Frames.resolve1(R_a, {r_rel_a_1, r_rel_a_2, r_rel_a_3}); + end Model_r; + + encapsulated model Model_w + import SI = Modelica.SIunits; + import Modelica.Mechanics.MultiBody.Frames; + input Frames.Orientation R_a annotation(HideResult=true); + input Frames.Orientation R_b annotation(HideResult=true); + output SI.AngularVelocity w_rel_b_1 annotation(HideResult=true); + output SI.AngularVelocity w_rel_b_2 annotation(HideResult=true); + output SI.AngularVelocity w_rel_b_3 annotation(HideResult=true); + equation + {w_rel_b_1, w_rel_b_2, w_rel_b_3} = Frames.angularVelocity2(R_b) + - Frames.resolve2(R_b,Frames.angularVelocity1(R_a)); + end Model_w; + + Model_r model_r(r_a_0=frame_a.r_0, r_b_0=frame_b.r_0, R_a = frame_a.R) if use_r; + Model_w model_w(R_a = frame_a.R, R_b = frame_b.R) if use_w; + + Frames.Orientation R_rel + "Dummy or relative orientation object to rotate from frame_a to frame_b" annotation(HideResult=true); + Frames.Orientation R_rel_inv + "Dummy or relative orientation object to rotate from frame_b to frame_a" annotation(HideResult=true); + + equation + if use_angle then + Connections.branch(frame_a.R, frame_b.R); + R_rel = Frames.axesRotations(sequence_start, + {angle_1, angle_2, angle_3}, + {der(angle_1), der(angle_2), der(angle_3)}); + if rooted(frame_a.R) then + R_rel_inv = Frames.nullRotation(); + frame_b.R = Frames.absoluteRotation(frame_a.R, R_rel); + else + R_rel_inv = Frames.inverseRotation(R_rel); + frame_a.R = Frames.absoluteRotation(frame_b.R, R_rel_inv); + end if; + else + R_rel = Frames.nullRotation(); + R_rel_inv = Frames.nullRotation(); + angle_1 = 0; + angle_2 = 0; + angle_3 = 0; + end if; + + // Cut-forces and cut-torques are zero + frame_a.f = zeros(3); + frame_a.t = zeros(3); + frame_b.f = zeros(3); + frame_b.t = zeros(3); + + annotation ( + Documentation(info=" +

+Joint which does not constrain the motion between frame_a and frame_b. +Such a joint is meaningful if the relative distance and orientation +between frame_a and frame_b, and their derivatives, shall be used +as states or shall be used for non-standard +initialization. This joint allows to initialize +every scalar element of the relative quantites, as well +as to define StateSelect attributes for every +scalar element separately. +

+ +

+In the following figure the animation of a FreeMotionScalarInit +joint is shown. The light blue coordinate system is +frame_a and the dark blue coordinate system is +frame_b of the joint. +(here: r_rel_a_1(start = 0.5), r_rel_a_2(start = 0), r_rel_a_3(start = 0.5), + angle_1(start = 45o), angle_2(start = 45o), angle_3(start = 45o)). +

+ +
+ +
+ +

+A example to use this joint for the initialization of a planar double pendulum by providing +its tip position, is shown in +Examples.Elementary.DoublePendulumInitTip. +

+ +"), Icon(coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}, + grid={1,1}), graphics={ + Line( + points={{-86,31},{-74,61},{-49,83},{-17,92},{19,88},{40,69},{59,48}}, + color={160,160,164}, + thickness=0.5), + Polygon( + points={{90,0},{50,20},{50,-20},{90,0}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Polygon( + points={{69,58},{49,40},{77,28},{69,58}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{150,-44},{-150,-84}}, + lineColor={0,0,255}, + textString="%name"), + Rectangle( + extent={{-70,-5},{-90,5}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{50,-5},{30,5}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{11,-5},{-9,5}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-30,-5},{-50,5}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid)}), + Diagram(coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}, + grid={1,1}), graphics={ + Line( + points={{-86,31},{-74,61},{-49,83},{-17,92},{19,88},{40,69},{59,48}}, + color={160,160,164}, + thickness=0.5), + Polygon( + points={{90,0},{50,20},{50,-20},{90,0}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Polygon( + points={{69,58},{49,40},{77,28},{69,58}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{50,-5},{30,5}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{11,-5},{-9,5}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-30,-5},{-50,5}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-70,-5},{-90,5}}, + lineColor={0,0,0}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid)})); + end FreeMotionScalarInit; + model SphericalSpherical "Spherical - spherical joint aggregation (1 constraint, no potential states) with an optional point mass in the middle" @@ -1937,19 +2296,19 @@ frame_b of the joint. parameter SI.Mass m(min=0)=0 "Mass of rod (= point mass located in middle of rod)"; parameter SI.Diameter sphereDiameter=world.defaultJointLength - "Diameter of spheres respresenting the spherical joints" + "Diameter of spheres respresenting the spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color sphereColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of spheres respresenting the spherical joints" + "Color of spheres respresenting the spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rodDiameter=sphereDiameter/Types.Defaults.JointRodDiameterFraction - "Diameter of rod connecting the two spherical joint" + "Diameter of rod connecting the two spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rodColor=Modelica.Mechanics.MultiBody.Types.Defaults.RodColor - "Color of rod connecting the two spherical joints" + "Color of rod connecting the two spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter massDiameter=sphereDiameter - "Diameter of sphere representing the mass point" + "Diameter of sphere representing the mass point" annotation (Dialog(tab= "Animation", group="if animation = true and showMass = true and m > 0", enable=animation and showMass and m > 0)); @@ -1959,7 +2318,7 @@ frame_b of the joint. "if animation = true and showMass = true and m > 0", enable=animation and showMass and m > 0)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Boolean kinematicConstraint=true @@ -2292,32 +2651,32 @@ that has this property. "Vector from origin of frame_a to origin of frame_b, resolved in frame_ia (if computeRodLength=true, rRod_ia is only an axis vector along the connecting rod)" annotation (Evaluate=true); parameter SI.Diameter sphereDiameter=world.defaultJointLength - "Diameter of spheres representing the universal and the spherical joint" + "Diameter of spheres representing the universal and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color sphereColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of spheres representing the universal and the spherical joint" + "Color of spheres representing the universal and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Types.ShapeType rodShapeType="cylinder" - "Shape type of rod connecting the universal and the spherical joint" + "Shape type of rod connecting the universal and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance rodWidth=sphereDiameter/Types.Defaults.JointRodDiameterFraction - "Width of rod shape in direction of axis 2 of universal joint." + "Width of rod shape in direction of axis 2 of universal joint." annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance rodHeight=rodWidth "Height of rod shape in direction that is orthogonal to rod and to axis 2" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Types.ShapeExtra rodExtra=0.0 - "Additional parameter depending on rodShapeType" + "Additional parameter depending on rodShapeType" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rodColor=Modelica.Mechanics.MultiBody.Types.Defaults.RodColor - "Color of rod shape connecting the universal and the spherical joints" + "Color of rod shape connecting the universal and the spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderLength=world.defaultJointLength "Length of cylinders representing the two universal joint axes" annotation ( Dialog(tab="Animation", group="if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinders representing the two universal joint axes" + "Diameter of cylinders representing the two universal joint axes" annotation (Dialog(tab="Animation", group= "if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); @@ -2326,7 +2685,7 @@ that has this property. Dialog(tab="Animation", group="if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Boolean kinematicConstraint=true @@ -2878,7 +3237,7 @@ the origin of frame_a to the middle of the rod, this might be defined as: model GearConstraint "Ideal 3-dim. gearbox (arbitrary shaft directions)" extends Modelica.Mechanics.MultiBody.Interfaces.PartialTwoFrames; - Interfaces.Frame_a bearing "Coordinate system fixed in the bearing" + Interfaces.Frame_a bearing "Coordinate system fixed in the bearing" annotation (Placement(transformation( origin={0,-100}, extent={{-16,-16},{16,16}}, @@ -2896,20 +3255,20 @@ the origin of frame_a to the middle of the rod, this might be defined as: parameter Modelica.SIunits.Position r_b[3]={0,0,0} "Vector from frame bearing to frame_b resolved in bearing"; - Modelica.Mechanics.MultiBody.Joints.Revolute actuatedRevolute_a(useAxisFlange=true, n=n_a, animation=false) + Modelica.Mechanics.MultiBody.Joints.Revolute actuatedRevolute_a(useAxisFlange=true, n=n_a, animation=false) annotation (Placement(transformation(extent={{-40,-10},{-60,10}}, rotation=0))); - Modelica.Mechanics.MultiBody.Joints.Revolute actuatedRevolute_b(useAxisFlange=true,n=n_b, animation=false) + Modelica.Mechanics.MultiBody.Joints.Revolute actuatedRevolute_b(useAxisFlange=true,n=n_b, animation=false) annotation (Placement(transformation(extent={{40,-10},{60,10}}, rotation= 0))); Modelica.Mechanics.Rotational.Components.IdealGear idealGear( - ratio=ratio) + ratio=ratio) annotation (Placement(transformation(extent={{-10,30},{10,50}}, rotation= 0))); - Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation1(animation=false, r=r_b) + Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation1(animation=false, r=r_b) annotation (Placement(transformation(extent={{10,-10},{30,10}}, rotation= 0))); - Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation2(animation=false, r=r_a) + Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation2(animation=false, r=r_a) annotation (Placement(transformation( origin={-20,0}, extent={{-10,-10},{10,10}}, @@ -2918,9 +3277,9 @@ the origin of frame_a to the middle of the rod, this might be defined as: assert(cardinality(bearing) > 0, "Connector bearing of component is not connected"); - connect(actuatedRevolute_a.axis, idealGear.flange_a) + connect(actuatedRevolute_a.axis, idealGear.flange_a) annotation (Line(points={{-50,10},{-50,40},{-10,40}}, color={0,0,0})); - connect(idealGear.flange_b, actuatedRevolute_b.axis) + connect(idealGear.flange_b, actuatedRevolute_b.axis) annotation (Line(points={{10,40},{50,40},{50,10}}, color={0,0,0})); connect(actuatedRevolute_a.frame_a,fixedTranslation2. frame_b) annotation (Line( points={{-40,0},{-35,0},{-35,1.22465e-015},{-30,1.22465e-015}}, @@ -2930,22 +3289,22 @@ the origin of frame_a to the middle of the rod, this might be defined as: points={{-10,-1.22465e-015},{-4,-1.22465e-015},{-4,0},{0,0},{0,-100}}, color={95,95,95}, thickness=0.5)); - connect(fixedTranslation1.frame_a, bearing) + connect(fixedTranslation1.frame_a, bearing) annotation (Line( points={{10,0},{0,0},{0,-100}}, color={95,95,95}, thickness=0.5)); - connect(fixedTranslation1.frame_b, actuatedRevolute_b.frame_a) + connect(fixedTranslation1.frame_b, actuatedRevolute_b.frame_a) annotation (Line( points={{30,0},{40,0}}, color={95,95,95}, thickness=0.5)); - connect(frame_a, actuatedRevolute_a.frame_b) + connect(frame_a, actuatedRevolute_a.frame_b) annotation (Line( points={{-100,0},{-60,0}}, color={95,95,95}, thickness=0.5)); - connect(actuatedRevolute_b.frame_b, frame_b) + connect(actuatedRevolute_b.frame_b, frame_b) annotation (Line( points={{60,0},{100,0}}, color={95,95,95}, @@ -3048,11 +3407,11 @@ November 3-4, 2003, pp. 149-158

SI.Position z; SI.Angle angles[3](start={0,0,0}, each stateSelect=stateSelect) - "Angles to rotate world-frame in to frame_a around z-, y-, x-axis" + "Angles to rotate world-frame in to frame_a around z-, y-, x-axis" annotation(Dialog(group="Initialization", showStartAttribute=true)); SI.AngularVelocity der_angles[3](start={0,0,0}, each stateSelect=stateSelect) - "Derivative of angles" + "Derivative of angles" annotation(Dialog(group="Initialization", showStartAttribute=true)); SI.Position r_road_0[3] @@ -3201,13 +3560,13 @@ November 3-4, 2003, pp. 149-158

"Frame fixed in center point of right wheel (y-axis: along wheel axis, z-Axis: upwards)" annotation (Placement(transformation(extent={{64,16},{96,-16}}))); Modelica.Mechanics.MultiBody.Parts.Fixed fixed( r={0,0, - wheelRadius}, animation=animation) + wheelRadius}, animation=animation) annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=90, origin={0,-90}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation rod1( r={ - 0,wheelDistance/2,0}, animation=animation) + 0,wheelDistance/2,0}, animation=animation) annotation (Placement(transformation(extent={{-8,-10},{-28,10}}))); Modelica.Mechanics.MultiBody.Joints.Prismatic prismatic1(animation= animation) annotation (Placement(transformation( @@ -3219,38 +3578,38 @@ November 3-4, 2003, pp. 149-158

extent={{-10,-10},{10,10}}, rotation=180, origin={-24,-50}))); - Modelica.Mechanics.MultiBody.Joints.Revolute revolute(animation=animation) + Modelica.Mechanics.MultiBody.Joints.Revolute revolute(animation=animation) annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=90, origin={0,-22}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation rod2( r={ - 0,-wheelDistance/2,0}, animation=animation) + 0,-wheelDistance/2,0}, animation=animation) annotation (Placement(transformation(extent={{12,-10},{32,10}}))); Modelica.Mechanics.MultiBody.Joints.Revolute revolute1( n={0,1,0}, useAxisFlange=true, - animation=animation) + animation=animation) annotation (Placement(transformation(extent={{-34,-10},{-54,10}}))); Modelica.Mechanics.MultiBody.Joints.Revolute revolute2( n={0,1,0}, useAxisFlange=true, - animation=animation) + animation=animation) annotation (Placement(transformation(extent={{40,-10},{60,10}}))); Modelica.Mechanics.MultiBody.Joints.Internal.RollingConstraintVerticalWheel - rolling1( radius=wheelRadius) + rolling1( radius=wheelRadius) annotation (Placement(transformation(extent={{-70,-60},{-50,-40}}))); Modelica.Mechanics.MultiBody.Joints.Internal.RollingConstraintVerticalWheel rolling2( radius=wheelRadius, - lateralSlidingConstraint=false) + lateralSlidingConstraint=false) annotation (Placement(transformation(extent={{54,-60},{74,-40}}))); Modelica.Mechanics.Rotational.Interfaces.Flange_a axis1 - "1-dim. rotational flange that drives the joint" + "1-dim. rotational flange that drives the joint" annotation (Placement(transformation(extent={{-110,90},{-90,110}}))); Modelica.Mechanics.Rotational.Interfaces.Flange_a axis2 - "1-dim. rotational flange that drives the joint" + "1-dim. rotational flange that drives the joint" annotation (Placement(transformation(extent={{90,90},{110,110}}))); - Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D + Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D annotation (Placement(transformation(extent={{-10,38},{10,58}}))); Modelica.Mechanics.Rotational.Interfaces.Flange_b support "Support of 1D axes" annotation (Placement(transformation(extent={{-10, @@ -3435,19 +3794,19 @@ November 3-4, 2003, pp. 149-158

import Modelica.Mechanics.MultiBody.Types; extends Interfaces.PartialTwoFramesDoubleSize; Modelica.Mechanics.MultiBody.Interfaces.Frame_a frame_ia - "Coordinate system at origin of frame_a fixed at prismatic joint" + "Coordinate system at origin of frame_a fixed at prismatic joint" annotation (Placement(transformation( origin={-80,100}, extent={{-8,-8},{8,8}}, rotation=270))); Modelica.Mechanics.MultiBody.Interfaces.Frame_b frame_ib - "Coordinate system at origin of frame_b fixed at prismatic joint" + "Coordinate system at origin of frame_b fixed at prismatic joint" annotation (Placement(transformation( origin={80,100}, extent={{-8,8},{8,-8}}, rotation=270))); Modelica.Mechanics.Translational.Interfaces.Flange_a axis - "1-dim. translational flange that drives the prismatic joint" + "1-dim. translational flange that drives the prismatic joint" annotation (Placement(transformation(extent={{45,95},{35,105}}, rotation=0))); Modelica.Mechanics.Translational.Interfaces.Flange_b bearing @@ -3467,27 +3826,27 @@ November 3-4, 2003, pp. 149-158

parameter SI.Position s_offset=0 "Relative distance offset (distance between frame_a and frame_b = s(t) + s_offset)"; parameter SI.Diameter sphereDiameter=world.defaultJointLength - "Diameter of spheres representing the spherical joints" + "Diameter of spheres representing the spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color sphereColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of spheres representing the spherical joints" + "Color of spheres representing the spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter axisDiameter=sphereDiameter/Types.Defaults. JointRodDiameterFraction - "Diameter of cylinder on the connecting line from frame_a to frame_b" + "Diameter of cylinder on the connecting line from frame_a to frame_b" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color axisColor=Modelica.Mechanics.MultiBody.Types.Defaults.SensorColor - "Color of cylinder on the connecting line from frame_a to frame_b" + "Color of cylinder on the connecting line from frame_a to frame_b" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderLength=world.defaultJointLength "Length of cylinders representing the two universal joint axes" annotation ( Dialog(tab="Animation", group="if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinders representing the two universal joint axes" + "Diameter of cylinders representing the two universal joint axes" annotation (Dialog(tab="Animation", group= "if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); @@ -4143,11 +4502,11 @@ component). extent={{8,-8},{-8,8}}, rotation=270))); Modelica.Mechanics.Rotational.Interfaces.Flange_a axis - "1-dim. rotational flange that drives the revolute joint" + "1-dim. rotational flange that drives the revolute joint" annotation (Placement(transformation(extent={{105,85},{95,75}}, rotation=0))); Modelica.Mechanics.Rotational.Interfaces.Flange_b bearing - "1-dim. rotational flange of the drive bearing of the revolute joint" + "1-dim. rotational flange of the drive bearing of the revolute joint" annotation (Placement(transformation(extent={{95,45},{105,35}}, rotation=0))); @@ -4158,7 +4517,7 @@ component). "Axis 1 of universal joint fixed and resolved in frame_a (axis 2 is orthogonal to axis 1 and to rod 1)" annotation (Evaluate=true); parameter Modelica.Mechanics.MultiBody.Types.Axis n_b={0,0,1} - "Axis of revolute joint fixed and resolved in frame_b" + "Axis of revolute joint fixed and resolved in frame_b" annotation (Evaluate=true); parameter SI.Position rRod1_ia[3]={1,0,0} "Vector from origin of frame_a to spherical joint, resolved in frame_ia" @@ -4178,38 +4537,38 @@ component). annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rod1Diameter=sphereDiameter/Types.Defaults. JointRodDiameterFraction - "Diameter of rod 1 connecting the universal and the spherical joint" + "Diameter of rod 1 connecting the universal and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rod1Color=Modelica.Mechanics.MultiBody.Types.Defaults. RodColor - "Color of rod 1 connecting the universal and the spherical joint" + "Color of rod 1 connecting the universal and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rod2Diameter=rod1Diameter - "Diameter of rod 2 connecting the revolute and the spherical joint" + "Diameter of rod 2 connecting the revolute and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rod2Color=rod1Color - "Color of rod 2 connecting the revolute and the spherical joint" + "Color of rod 2 connecting the revolute and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter revoluteDiameter=world.defaultJointWidth - "Diameter of cylinder representing the revolute joint" + "Diameter of cylinder representing the revolute joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance revoluteLength=world.defaultJointLength - "Length of cylinder representing the revolute joint" + "Length of cylinder representing the revolute joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color revoluteColor=Modelica.Mechanics.MultiBody.Types. Defaults.JointColor - "Color of cylinder representing the revolute joint" + "Color of cylinder representing the revolute joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderLength=world.defaultJointLength "Length of cylinders representing the two universal joint axes" annotation ( Dialog(tab="Animation", group="if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinders representing the two universal joint axes" + "Diameter of cylinders representing the two universal joint axes" annotation (Dialog(tab="Animation", group= "if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); @@ -4260,7 +4619,7 @@ component). cylinderColor=cylinderColor, specularCoefficient=specularCoefficient, kinematicConstraint=false, - constraintResidue=rod1.f_rod - f_rod) + constraintResidue=rod1.f_rod - f_rod) annotation (Placement(transformation(extent= {{-92,-20},{-52,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation rod2( @@ -4271,10 +4630,10 @@ component). specularCoefficient=specularCoefficient, r=rRod2_ib) annotation (Placement(transformation(extent={{15,-20},{-25, 20}}, rotation=0))); - Sensors.RelativePosition relativePosition(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a) + Sensors.RelativePosition relativePosition(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a) annotation (Placement(transformation(extent={{60,-70},{40,-90}}, rotation=0))); - Modelica.Blocks.Sources.Constant position_b[3](k=rRod2_ib) + Modelica.Blocks.Sources.Constant position_b[3](k=rRod2_ib) annotation (Placement(transformation(extent={{-20,-50},{0,-30}}, rotation=0))); equation @@ -4308,7 +4667,7 @@ component). rod1.frame_a.R, rod1.frame_b.R); f_rod = (-revolute.tau - revolute.e*(frame_ib.t + frame_im.t + cross( rRod2_ib, frame_im.f) - cross(rRod2_ib, Frames.resolveRelative(rod1. - f_b_a1, rod1.frame_a.R, rod1.frame_b.R))))/noEvent(if abs(aux) < 1.e-10 then + f_b_a1, rod1.frame_a.R, rod1.frame_b.R))))/noEvent(if abs(aux) < 1.e-10 then 1.e-10 else aux); // Measure power for test purposes @@ -4348,12 +4707,12 @@ component). points={{-92,0},{-100,0}}, color={95,95,95}, thickness=0.5)); - connect(relativePosition.frame_b, frame_a) + connect(relativePosition.frame_b, frame_a) annotation (Line( points={{40,-80},{-96,-80},{-96,0},{-100,0}}, color={95,95,95}, pattern=LinePattern.Dot)); - connect(relativePosition.frame_a, frame_b) + connect(relativePosition.frame_a, frame_b) annotation (Line( points={{60,-80},{96,-80},{96,0},{100,0}}, color={95,95,95}, @@ -4660,7 +5019,7 @@ the origin of frame_a to the middle of rod 1, this might be defined as: extent={{8,-8},{-8,8}}, rotation=270))); Modelica.Mechanics.Translational.Interfaces.Flange_a axis - "1-dim. translational flange that drives the prismatic joint" + "1-dim. translational flange that drives the prismatic joint" annotation (Placement(transformation(extent={{95,75},{105,85}}, rotation=0))); Modelica.Mechanics.Translational.Interfaces.Flange_b bearing @@ -4675,7 +5034,7 @@ the origin of frame_a to the middle of rod 1, this might be defined as: "Axis 1 of universal joint fixed and resolved in frame_a (axis 2 is orthogonal to axis 1 and to rod 1)" annotation (Evaluate=true); parameter Modelica.Mechanics.MultiBody.Types.Axis n_b={-1,0,0} - "Axis of prismatic joint fixed and resolved in frame_b" + "Axis of prismatic joint fixed and resolved in frame_b" annotation (Evaluate=true); parameter SI.Position rRod1_ia[3]={1,0,0} "Vector from origin of frame_a to spherical joint, resolved in frame_ia" @@ -4695,37 +5054,37 @@ the origin of frame_a to the middle of rod 1, this might be defined as: annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rod1Diameter=sphereDiameter/Types.Defaults. JointRodDiameterFraction - "Diameter of rod 1 connecting the universal and the spherical joint" + "Diameter of rod 1 connecting the universal and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rod1Color=Modelica.Mechanics.MultiBody.Types.Defaults.RodColor - "Color of rod 1 connecting the universal and the spherical joint" + "Color of rod 1 connecting the universal and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rod2Diameter=rod1Diameter - "Diameter of rod 2 connecting the prismatic and the spherical joint" + "Diameter of rod 2 connecting the prismatic and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rod2Color=rod1Color - "Color of rod 2 connecting the prismatic and the spherical joint" + "Color of rod 2 connecting the prismatic and the spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Types.Axis boxWidthDirection={0,1,0} - "Vector in width direction of prismatic joint, resolved in frame_b" + "Vector in width direction of prismatic joint, resolved in frame_b" annotation (Evaluate=true, Dialog(tab="Animation", group= "if animation = true", enable=animation)); parameter SI.Distance boxWidth=world.defaultJointWidth - "Width of prismatic joint box" + "Width of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); - parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" + parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); - input Types.Color boxColor=sphereColor "Color of prismatic joint box" + input Types.Color boxColor=sphereColor "Color of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderLength=world.defaultJointLength "Length of cylinders representing the two universal joint axes" annotation ( Dialog(tab="Animation", group="if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinders representing the two universal joint axes" + "Diameter of cylinders representing the two universal joint axes" annotation (Dialog(tab="Animation", group= "if animation = true and showUniversalAxes", enable=animation and showUniversalAxes)); @@ -4758,7 +5117,7 @@ the origin of frame_a to the middle of rod 1, this might be defined as: boxWidth=boxWidth, boxHeight=boxHeight, boxColor=boxColor, - specularCoefficient=specularCoefficient) + specularCoefficient=specularCoefficient) annotation (Placement(transformation(extent={{ 76,-20},{36,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.UniversalSpherical rod1( @@ -4776,7 +5135,7 @@ the origin of frame_a to the middle of rod 1, this might be defined as: cylinderDiameter=cylinderDiameter, cylinderColor=cylinderColor, kinematicConstraint=false, - constraintResidue=rod1.f_rod - f_rod) + constraintResidue=rod1.f_rod - f_rod) annotation (Placement(transformation(extent= {{-92,-20},{-52,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation rod2( @@ -4787,10 +5146,10 @@ the origin of frame_a to the middle of rod 1, this might be defined as: specularCoefficient=specularCoefficient, color=rod2Color) annotation (Placement(transformation(extent={{0,20},{ -40,-20}}, rotation=0))); - Sensors.RelativePosition relativePosition(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a) + Sensors.RelativePosition relativePosition(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a) annotation (Placement(transformation(extent={{50,-70},{30,-90}}, rotation=0))); - Modelica.Blocks.Sources.Constant position_b[3](k=rRod2_ib) + Modelica.Blocks.Sources.Constant position_b[3](k=rRod2_ib) annotation (Placement(transformation(extent={{-20,-60},{0,-40}}, rotation=0))); protected @@ -4859,12 +5218,12 @@ the origin of frame_a to the middle of rod 1, this might be defined as: points={{-92,0},{-100,0}}, color={95,95,95}, thickness=0.5)); - connect(relativePosition.frame_b, frame_a) + connect(relativePosition.frame_b, frame_a) annotation (Line( points={{30,-80},{-97,-80},{-97,0},{-100,0}}, color={95,95,95}, pattern=LinePattern.Dot)); - connect(relativePosition.frame_a, frame_b) + connect(relativePosition.frame_a, frame_b) annotation (Line( points={{50,-80},{95,-80},{95,0},{100,0}}, color={95,95,95}, @@ -4882,9 +5241,9 @@ the origin of frame_a to the middle of rod 1, this might be defined as: color={0,0,127})); connect(prismatic.axis, axis) annotation (Line(points={{40,14},{40,56},{ 90,56},{90,80},{100,80}}, color={0,191,0})); - connect(prismatic.bearing, bearing) + connect(prismatic.bearing, bearing) annotation (Line(points={{64,14},{64,40},{100,40}}, color={0,191,0})); - connect(relativePosition.r_rel, prismatic.position_a) + connect(relativePosition.r_rel, prismatic.position_a) annotation (Line( points={{40,-69},{40,-50},{90,-50},{90,-12},{80,-12}}, color={0,0,127}, @@ -5193,11 +5552,11 @@ the origin of frame_a to the middle of rod 1, this might be defined as: extent={{8,-8},{-8,8}}, rotation=270))); Modelica.Mechanics.Rotational.Interfaces.Flange_a axis - "1-dim. rotational flange that drives the revolute joint" + "1-dim. rotational flange that drives the revolute joint" annotation (Placement(transformation(extent={{105,85},{95,75}}, rotation=0))); Modelica.Mechanics.Rotational.Interfaces.Flange_b bearing - "1-dim. rotational flange of the drive bearing of the revolute joint" + "1-dim. rotational flange of the drive bearing of the revolute joint" annotation (Placement(transformation(extent={{95,45},{105,35}}, rotation=0))); @@ -5217,37 +5576,37 @@ the origin of frame_a to the middle of rod 1, this might be defined as: parameter Cv.NonSIunits.Angle_deg phi_guess=0 "Select the configuration such that at initial time |phi(t0) - from_deg(phi_guess)|is minimal"; parameter SI.Diameter sphereDiameter=world.defaultJointLength - "Diameter of the spheres representing the two spherical joints" + "Diameter of the spheres representing the two spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color sphereColor=Modelica.Mechanics.MultiBody.Types.Defaults. JointColor - "Color of the spheres representing the two spherical joints" + "Color of the spheres representing the two spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rod1Diameter=sphereDiameter/Types.Defaults. JointRodDiameterFraction - "Diameter of rod 1 connecting the two spherical joints" + "Diameter of rod 1 connecting the two spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rod1Color=Modelica.Mechanics.MultiBody.Types.Defaults. - RodColor "Color of rod 1 connecting the two spherical joint" + RodColor "Color of rod 1 connecting the two spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rod2Diameter=rod1Diameter "Diameter of rod 2 connecting the revolute joint and spherical joint 2" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rod2Color=rod1Color - "Color of rod 2 connecting the revolute joint and spherical joint 2" + "Color of rod 2 connecting the revolute joint and spherical joint 2" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter revoluteDiameter=world.defaultJointWidth - "Diameter of cylinder representing the revolute joint" + "Diameter of cylinder representing the revolute joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance revoluteLength=world.defaultJointLength - "Length of cylinder representing the revolute joint" + "Length of cylinder representing the revolute joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color revoluteColor=Modelica.Mechanics.MultiBody.Types. Defaults.JointColor - "Color of cylinder representing the revolute joint" + "Color of cylinder representing the revolute joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Boolean checkTotalPower=false "= true, if total power flowing into this component shall be determined (must be zero)" @@ -5269,7 +5628,7 @@ the origin of frame_a to the middle of rod 1, this might be defined as: cylinderDiameter=revoluteDiameter, cylinderLength=revoluteLength, cylinderColor=revoluteColor, - specularCoefficient=specularCoefficient) + specularCoefficient=specularCoefficient) annotation (Placement(transformation(extent={{ 75,-20},{35,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.SphericalSpherical rod1( @@ -5283,7 +5642,7 @@ the origin of frame_a to the middle of rod 1, this might be defined as: specularCoefficient=specularCoefficient, kinematicConstraint=false, sphereColor=sphereColor, - constraintResidue=rod1.f_rod - f_rod) + constraintResidue=rod1.f_rod - f_rod) annotation (Placement(transformation(extent={{ -89,-20},{-49,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation rod2( @@ -5294,10 +5653,10 @@ the origin of frame_a to the middle of rod 1, this might be defined as: specularCoefficient=specularCoefficient, r=rRod2_ib) annotation (Placement(transformation(extent={{15,-20},{-25, 20}}, rotation=0))); - Sensors.RelativePosition relativePosition(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a) + Sensors.RelativePosition relativePosition(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a) annotation (Placement(transformation(extent={{60,-70},{40,-90}}, rotation=0))); - Modelica.Blocks.Sources.Constant position_b[3](k=rRod2_ib) + Modelica.Blocks.Sources.Constant position_b[3](k=rRod2_ib) annotation (Placement(transformation(extent={{-20,-50},{0,-30}}, rotation=0))); equation @@ -5328,7 +5687,7 @@ the origin of frame_a to the middle of rod 1, this might be defined as: rod1.frame_a.R, rod1.frame_b.R); f_rod = (-revolute.tau - revolute.e*(frame_ib.t + frame_im.t + cross( rRod2_ib, frame_im.f) - cross(rRod2_ib, Frames.resolveRelative(rod1. - f_b_a1, rod1.frame_a.R, rod1.frame_b.R))))/noEvent(if abs(aux) < 1.e-10 then + f_b_a1, rod1.frame_a.R, rod1.frame_b.R))))/noEvent(if abs(aux) < 1.e-10 then 1.e-10 else aux); // Measure power for test purposes @@ -5367,12 +5726,12 @@ the origin of frame_a to the middle of rod 1, this might be defined as: points={{-89,0},{-100,0}}, color={95,95,95}, thickness=0.5)); - connect(relativePosition.frame_b, frame_a) + connect(relativePosition.frame_b, frame_a) annotation (Line( points={{40,-80},{-95,-80},{-95,0},{-100,0}}, color={95,95,95}, pattern=LinePattern.Dot)); - connect(relativePosition.frame_a, frame_b) + connect(relativePosition.frame_a, frame_b) annotation (Line( points={{60,-80},{96,-80},{96,0},{100,0}}, color={95,95,95}, @@ -5386,7 +5745,7 @@ the origin of frame_a to the middle of rod 1, this might be defined as: points={{-25,0},{-35,0},{-35,60},{0,60},{0,100}}, color={95,95,95}, thickness=0.5)); - connect(relativePosition.r_rel, revolute.position_a) + connect(relativePosition.r_rel, revolute.position_a) annotation (Line( points={{50,-69},{50,-50},{90,-50},{90,-12},{79,-12}}, color={0,0,127}, @@ -5564,7 +5923,7 @@ component). extent={{8,-8},{-8,8}}, rotation=270))); Modelica.Mechanics.Translational.Interfaces.Flange_a axis - "1-dim. translational flange that drives the prismatic joint" + "1-dim. translational flange that drives the prismatic joint" annotation (Placement(transformation(extent={{95,75},{105,85}}, rotation=0))); Modelica.Mechanics.Translational.Interfaces.Flange_b bearing @@ -5589,25 +5948,25 @@ component). "Select the configuration such that at initial time |s(t0)-s_guess|is minimal"; parameter SI.Diameter sphereDiameter=world.defaultJointLength - "Diameter of the spheres representing the two spherical joints" + "Diameter of the spheres representing the two spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color sphereColor=Modelica.Mechanics.MultiBody.Types.Defaults. JointColor - "Color of the spheres representing the two spherical joints" + "Color of the spheres representing the two spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rod1Diameter=sphereDiameter/Types.Defaults. JointRodDiameterFraction - "Diameter of rod 1 connecting the two spherical joints" + "Diameter of rod 1 connecting the two spherical joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rod1Color=Modelica.Mechanics.MultiBody.Types.Defaults. - RodColor "Color of rod 1 connecting the two spherical joint" + RodColor "Color of rod 1 connecting the two spherical joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rod2Diameter=rod1Diameter "Diameter of rod 2 connecting the revolute joint and spherical joint 2" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rod2Color=rod1Color - "Color of rod 2 connecting the revolute joint and spherical joint 2" + "Color of rod 2 connecting the revolute joint and spherical joint 2" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Types.Axis boxWidthDirection={0,1,0} @@ -5615,15 +5974,15 @@ component). annotation (Evaluate=true, Dialog(tab="Animation", group= "if animation = true", enable=animation)); parameter SI.Distance boxWidth=world.defaultJointWidth - "Width of prismatic joint box" + "Width of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); - parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" + parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color boxColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of prismatic joint box" + "Color of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Boolean checkTotalPower=false "= true, if total power flowing into this component shall be determined (must be zero)" @@ -5659,7 +6018,7 @@ component). kinematicConstraint=false, specularCoefficient=specularCoefficient, sphereColor=sphereColor, - constraintResidue=rod1.f_rod - f_rod) + constraintResidue=rod1.f_rod - f_rod) annotation (Placement(transformation(extent={{ -89,-20},{-49,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation rod2( @@ -5670,10 +6029,10 @@ component). color=rod2Color, r=rRod2_ib) annotation (Placement(transformation(extent={{15,-20},{-25, 20}}, rotation=0))); - Sensors.RelativePosition relativePosition(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a) + Sensors.RelativePosition relativePosition(resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a) annotation (Placement(transformation(extent={{60,-70},{40,-90}}, rotation=0))); - Modelica.Blocks.Sources.Constant position_b[3](k=rRod2_ib) + Modelica.Blocks.Sources.Constant position_b[3](k=rRod2_ib) annotation (Placement(transformation(extent={{-20,-50},{0,-30}}, rotation=0))); equation @@ -5736,12 +6095,12 @@ component). points={{-89,0},{-100,0}}, color={95,95,95}, thickness=0.5)); - connect(relativePosition.frame_b, frame_a) + connect(relativePosition.frame_b, frame_a) annotation (Line( points={{40,-80},{-95,-80},{-95,0},{-100,0}}, color={95,95,95}, pattern=LinePattern.Dot)); - connect(relativePosition.frame_a, frame_b) + connect(relativePosition.frame_a, frame_b) annotation (Line( points={{60,-80},{96,-80},{96,0},{100,0}}, color={95,95,95}, @@ -5751,13 +6110,13 @@ component). color={0,0,127})); connect(prismatic.axis, axis) annotation (Line(points={{39,14},{40,14},{ 40,60},{90,60},{90,80},{100,80}}, color={0,0,0})); - connect(prismatic.bearing, bearing) + connect(prismatic.bearing, bearing) annotation (Line(points={{63,14},{63,40},{100,40}}, color={0,0,0})); connect(rod2.frame_b, frame_im) annotation (Line( points={{-25,0},{-35,0},{-35,60},{0,60},{0,100}}, color={95,95,95}, thickness=0.5)); - connect(relativePosition.r_rel, prismatic.position_a) + connect(relativePosition.r_rel, prismatic.position_a) annotation (Line( points={{50,-69},{50,-50},{90,-50},{90,-12},{79,-12}}, color={0,0,127}, @@ -5956,7 +6315,7 @@ component). "Axes of revolute joints resolved in frame_a (all axes are parallel to each other)" annotation (Evaluate=true); final parameter Real n_b[3](each final unit="1",fixed=false) = {0,0,1} - "Axis of revolute joint fixed and resolved in frame_b" + "Axis of revolute joint fixed and resolved in frame_b" annotation (Evaluate=true); parameter SI.Position rRod1_ia[3]={1,0,0} "Vector from origin of frame_a to revolute joint in the middle, resolved in frame_ia" @@ -5968,22 +6327,22 @@ component). parameter Cv.NonSIunits.Angle_deg phi_guess=0 "Select the configuration such that at initial time |phi(t0) - from_deg(phi_guess)|is minimal"; parameter SI.Distance cylinderLength=world.defaultJointLength - "Length of cylinders representing the revolute joints" + "Length of cylinders representing the revolute joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinders representing the revolute joints" + "Diameter of cylinders representing the revolute joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color cylinderColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of cylinders representing the revolute joints" + "Color of cylinders representing the revolute joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rodDiameter=1.1*cylinderDiameter - "Diameter of the two rods connecting the revolute joints" + "Diameter of the two rods connecting the revolute joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rodColor=Modelica.Mechanics.MultiBody.Types.Defaults.RodColor - "Color of the two rods connecting the revolute joint" + "Color of the two rods connecting the revolute joint" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Boolean checkTotalPower=false @@ -6076,12 +6435,12 @@ component). n_b = Frames.resolve2(frame_b.R, Frames.resolve1(frame_a.R, n_a)); equation - connect(jointUSR.frame_a, frame_a) + connect(jointUSR.frame_a, frame_a) annotation (Line( points={{-30,0},{-100,0}}, color={95,95,95}, thickness=0.5)); - connect(jointUSR.frame_b, frame_b) + connect(jointUSR.frame_b, frame_b) annotation (Line( points={{10,0},{100,0}}, color={95,95,95}, @@ -6098,10 +6457,10 @@ component). points={{6,20},{6,50},{80,50},{80,100}}, color={95,95,95}, thickness=0.5)); - connect(jointUSR.axis, axis) + connect(jointUSR.axis, axis) annotation (Line(points={{10,16},{86,16},{86,80},{100,80}}, color={0,0, 0})); - connect(jointUSR.bearing, bearing) + connect(jointUSR.bearing, bearing) annotation (Line(points={{10,8},{94,8},{94,40},{100,40}}, color={0,0,0})); annotation ( Documentation(info=" @@ -6275,7 +6634,7 @@ are connected by rigid rods. extent={{8,-8},{-8,8}}, rotation=270))); Modelica.Mechanics.Translational.Interfaces.Flange_a axis - "1-dim. translational flange that drives the prismatic joint" + "1-dim. translational flange that drives the prismatic joint" annotation (Placement(transformation(extent={{95,75},{105,85}}, rotation=0))); Modelica.Mechanics.Translational.Interfaces.Flange_b bearing @@ -6300,33 +6659,33 @@ are connected by rigid rods. parameter SI.Position s_guess=0 "Select the configuration such that at initial time |s(t0)-s_guess|is minimal"; parameter SI.Distance cylinderLength=world.defaultJointLength - "Length of cylinders representing the revolute joints" + "Length of cylinders representing the revolute joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinders representing the revolute joints" + "Diameter of cylinders representing the revolute joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color cylinderColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of cylinders representing the revolute joints" + "Color of cylinders representing the revolute joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Types.Axis boxWidthDirection={0,1,0} - "Vector in width direction of prismatic joint, resolved in frame_b" + "Vector in width direction of prismatic joint, resolved in frame_b" annotation (Evaluate=true, Dialog(tab="Animation", group= "if animation = true", enable=animation)); parameter SI.Distance boxWidth=world.defaultJointWidth - "Width of prismatic joint box" + "Width of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); - parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" + parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); - input Types.Color boxColor=cylinderColor "Color of prismatic joint box" + input Types.Color boxColor=cylinderColor "Color of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Diameter rodDiameter=1.1*cylinderDiameter - "Diameter of the two rods connecting the joints" + "Diameter of the two rods connecting the joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color rodColor=Modelica.Mechanics.MultiBody.Types.Defaults.RodColor - "Color of the two rods connecting the joints" + "Color of the two rods connecting the joints" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter Boolean checkTotalPower=false "= true, if total power flowing into this component shall be determined (must be zero)" @@ -6419,12 +6778,12 @@ are connected by rigid rods. e_im = Frames.resolve2(frame_im.R, Frames.resolve1(frame_a.R, e_a)); equation - connect(jointUSP.frame_a, frame_a) + connect(jointUSP.frame_a, frame_a) annotation (Line( points={{-30,0},{-100,0}}, color={95,95,95}, thickness=0.5)); - connect(jointUSP.frame_b, frame_b) + connect(jointUSP.frame_b, frame_b) annotation (Line( points={{10,0},{100,0}}, color={95,95,95}, @@ -6441,10 +6800,10 @@ are connected by rigid rods. points={{6,20},{6,50},{80,50},{80,100}}, color={95,95,95}, thickness=0.5)); - connect(jointUSP.axis, axis) + connect(jointUSP.axis, axis) annotation (Line(points={{10,16},{86,16},{86,80},{100,80}}, color={0,0, 0})); - connect(jointUSP.bearing, bearing) + connect(jointUSP.bearing, bearing) annotation (Line(points={{10,8},{94,8},{94,40},{100,40}}, color={0,0,0})); annotation ( Documentation(info=" @@ -6723,16 +7082,16 @@ pair of joints\" from Woernle and Hiller is described in: import Cv = Modelica.SIunits.Conversions; extends Modelica.Mechanics.MultiBody.Interfaces.PartialTwoFrames; Modelica.Mechanics.Rotational.Interfaces.Flange_a axis - "1-dim. rotational flange that drives the joint" + "1-dim. rotational flange that drives the joint" annotation (Placement(transformation(extent={{10,90},{-10,110}}, rotation=0))); Modelica.Mechanics.Rotational.Interfaces.Flange_b bearing - "1-dim. rotational flange of the drive bearing" + "1-dim. rotational flange of the drive bearing" annotation (Placement(transformation(extent={{-50,90},{-70,110}}, rotation=0))); - Modelica.Blocks.Interfaces.RealInput position_a[3](each final quantity="Position", each final - unit = "m") + Modelica.Blocks.Interfaces.RealInput position_a[3](each final quantity="Position", each + final unit = "m") "Position vector from frame_a to frame_a side of length constraint, resolved in frame_a of revolute joint" annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}, rotation=0))); @@ -6746,23 +7105,23 @@ pair of joints\" from Woernle and Hiller is described in: parameter SI.Position lengthConstraint(start=1) "Fixed length of length constraint"; parameter Modelica.Mechanics.MultiBody.Types.Axis n={0,0,1} - "Axis of rotation resolved in frame_a (= same as in frame_b)" + "Axis of rotation resolved in frame_a (= same as in frame_b)" annotation (Evaluate=true); parameter Cv.NonSIunits.Angle_deg phi_offset=0 "Relative angle offset (angle = phi + from_deg(phi_offset))"; parameter Cv.NonSIunits.Angle_deg phi_guess=0 "Select the configuration such that at initial time |phi - from_deg(phi_guess)|is minimal"; parameter SI.Distance cylinderLength=world.defaultJointLength - "Length of cylinder representing the joint axis" + "Length of cylinder representing the joint axis" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); parameter SI.Distance cylinderDiameter=world.defaultJointWidth - "Diameter of cylinder representing the joint axis" + "Diameter of cylinder representing the joint axis" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color cylinderColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of cylinder representing the joint axis" + "Color of cylinder representing the joint axis" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); final parameter Boolean positiveBranch(fixed=false) @@ -7107,11 +7466,11 @@ menu of \"Joints.SphericalSpherical\" or \"Joints.UniversalSpherical\". import Cv = Modelica.SIunits.Conversions; extends Modelica.Mechanics.MultiBody.Interfaces.PartialTwoFrames; Modelica.Mechanics.Translational.Interfaces.Flange_a axis - "1-dim. translational flange that drives the joint" + "1-dim. translational flange that drives the joint" annotation (Placement(transformation(extent={{70,80},{90,60}}, rotation= 0))); Modelica.Mechanics.Translational.Interfaces.Flange_b bearing - "1-dim. translational flange of the drive bearing" + "1-dim. translational flange of the drive bearing" annotation (Placement(transformation(extent={{-30,80},{-50,60}}, rotation=0))); Modelica.Blocks.Interfaces.RealInput position_a[3] @@ -7126,26 +7485,26 @@ menu of \"Joints.SphericalSpherical\" or \"Joints.UniversalSpherical\". parameter Boolean animation=true "= true, if animation shall be enabled"; parameter SI.Position length(start=1) "Fixed length of length constraint"; parameter Modelica.Mechanics.MultiBody.Types.Axis n={1,0,0} - "Axis of translation resolved in frame_a (= same as in frame_b)" + "Axis of translation resolved in frame_a (= same as in frame_b)" annotation (Evaluate=true); parameter SI.Position s_offset=0 "Relative distance offset (distance between frame_a and frame_b = s(t) + s_offset)"; parameter SI.Position s_guess=0 "Select the configuration such that at initial time |s(t0)-s_guess|is minimal"; parameter Types.Axis boxWidthDirection={0,1,0} - "Vector in width direction of box, resolved in frame_a" + "Vector in width direction of box, resolved in frame_a" annotation (Evaluate=true, Dialog(tab="Animation", group= "if animation = true", enable=animation)); parameter SI.Distance boxWidth=world.defaultJointWidth - "Width of prismatic joint box" + "Width of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); - parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" + parameter SI.Distance boxHeight=boxWidth "Height of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.Color boxColor=Modelica.Mechanics.MultiBody.Types.Defaults.JointColor - "Color of prismatic joint box" + "Color of prismatic joint box" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); input Types.SpecularCoefficient specularCoefficient = world.defaultSpecularCoefficient - "Reflection of ambient light (= 0: light is completely absorbed)" + "Reflection of ambient light (= 0: light is completely absorbed)" annotation (Dialog(tab="Animation", group="if animation = true", enable=animation)); final parameter Boolean positiveBranch(fixed=false) diff --git a/ModelicaTest/MultiBody.mo b/ModelicaTest/MultiBody.mo index 29cb22f10b..853b9bbaf8 100644 --- a/ModelicaTest/MultiBody.mo +++ b/ModelicaTest/MultiBody.mo @@ -9,14 +9,14 @@ extends Modelica.Icons.Library; import Modelica; import Modelica.Mechanics.MultiBody; extends Modelica.Icons.Example; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={{ -88,0},{-68,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox boxBody1( - width=0.06, r={0.4,0.0,-0.3}) + width=0.06, r={0.4,0.0,-0.3}) annotation (Placement(transformation(extent={{-10,0},{10,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox boxBody2( - width=0.06, r={0.3,-0.4,0}) + width=0.06, r={0.3,-0.4,0}) annotation (Placement(transformation(extent={{74,0},{94,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Spherical Spherical1( enforceStates=true, @@ -24,7 +24,7 @@ extends Modelica.Icons.Library; angles_fixed=true, w_rel_a_fixed=true, z_rel_a_fixed=false, - w_rel_a_start={0.05235987755982989,0.03490658503988659,0.0174532925199433}) + w_rel_a_start={0.05235987755982989,0.03490658503988659,0.0174532925199433}) annotation (Placement(transformation(extent= {{-52,0},{-32,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Spherical Spherical2( @@ -32,14 +32,14 @@ extends Modelica.Icons.Library; useQuaternions=false, angles_fixed=true, w_rel_a_fixed=true, - z_rel_a_fixed=false) + z_rel_a_fixed=false) annotation (Placement(transformation(extent={{32,0},{52,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox boxBody3( - width=0.06, r={0.4,0.0,-0.3}) + width=0.06, r={0.4,0.0,-0.3}) annotation (Placement(transformation(extent={{-10,-40},{10,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox boxBody4( - width=0.06, r={0.3,-0.4,0}) + width=0.06, r={0.3,-0.4,0}) annotation (Placement(transformation(extent={{76,-40},{96,-20}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Spherical Spherical3( @@ -47,7 +47,7 @@ extends Modelica.Icons.Library; angles_fixed=true, w_rel_a_fixed=true, z_rel_a_fixed=false, - w_rel_a_start={0.05235987755982989,0.03490658503988659,0.0174532925199433}) + w_rel_a_start={0.05235987755982989,0.03490658503988659,0.0174532925199433}) annotation (Placement(transformation(extent= {{-52,-40},{-32,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Spherical Spherical4( @@ -70,7 +70,7 @@ extends Modelica.Icons.Library; angles_fixed=true, w_rel_a_fixed=true, z_rel_a_fixed=false, - w_rel_a_start={0.05235987755982989,0.03490658503988659,0.0174532925199433}) + w_rel_a_start={0.05235987755982989,0.03490658503988659,0.0174532925199433}) annotation (Placement(transformation(extent={{-52,-80},{-32,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Spherical Spherical6( @@ -80,37 +80,37 @@ extends Modelica.Icons.Library; -80},{52,-60}}, rotation=0))); equation - connect(boxBody1.frame_b, Spherical2.frame_a) + connect(boxBody1.frame_b, Spherical2.frame_a) annotation (Line( points={{10,10},{32,10}}, color={0,0,0}, thickness=0.5)); - connect(Spherical2.frame_b, boxBody2.frame_a) + connect(Spherical2.frame_b, boxBody2.frame_a) annotation (Line( points={{52,10},{74,10}}, color={0,0,0}, thickness=0.5)); - connect(world.frame_b, Spherical1.frame_a) + connect(world.frame_b, Spherical1.frame_a) annotation (Line( points={{-68,10},{-52,10}}, color={0,0,0}, thickness=0.5)); - connect(Spherical1.frame_b, boxBody1.frame_a) + connect(Spherical1.frame_b, boxBody1.frame_a) annotation (Line( points={{-32,10},{-10,10}}, color={0,0,0}, thickness=0.5)); - connect(boxBody3.frame_b, Spherical4.frame_a) + connect(boxBody3.frame_b, Spherical4.frame_a) annotation (Line( points={{10,-30},{32,-30}}, color={0,0,0}, thickness=0.5)); - connect(Spherical4.frame_b, boxBody4.frame_a) + connect(Spherical4.frame_b, boxBody4.frame_a) annotation (Line( points={{52,-30},{76,-30}}, color={0,0,0}, thickness=0.5)); - connect(Spherical3.frame_b, boxBody3.frame_a) + connect(Spherical3.frame_b, boxBody3.frame_a) annotation (Line( points={{-32,-30},{-10,-30}}, color={0,0,0}, @@ -119,17 +119,17 @@ extends Modelica.Icons.Library; points={{-68,10},{-60,10},{-60,-30},{-52,-30}}, color={0,0,0}, thickness=0.5)); - connect(boxBody5.frame_b, Spherical6.frame_a) + connect(boxBody5.frame_b, Spherical6.frame_a) annotation (Line( points={{10,-70},{32,-70}}, color={0,0,0}, thickness=0.5)); - connect(Spherical6.frame_b, boxBody6.frame_a) + connect(Spherical6.frame_b, boxBody6.frame_a) annotation (Line( points={{52,-70},{74,-70}}, color={0,0,0}, thickness=0.5)); - connect(Spherical5.frame_b, boxBody5.frame_a) + connect(Spherical5.frame_b, boxBody5.frame_a) annotation (Line( points={{-32,-70},{-10,-70}}, color={0,0,0}, @@ -188,35 +188,35 @@ ALT=\"model Examples.Elementary.DoublePendulum\"> stateSelect=StateSelect.always, a(fixed=false), phi(fixed=true), - w(fixed=true, start=5.235987755982989)) + w(fixed=true, start=5.235987755982989)) annotation (Placement(transformation(extent={{-54,-40},{ -34,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Prismatic j2( n={1,0,0}, boxWidth=0.05, - s_offset=-0.2) + s_offset=-0.2) annotation (Placement(transformation(extent={{12,-80},{32,-60}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyCylinder b1(r={0,0.5,0.1}, diameter=0.05) + Modelica.Mechanics.MultiBody.Parts.BodyCylinder b1(r={0,0.5,0.1}, diameter=0.05) annotation (Placement(transformation( origin={-30,0}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Mechanics.MultiBody.Parts.BodyCylinder b2(r={0,0.2,0}, diameter=0.05) + Modelica.Mechanics.MultiBody.Parts.BodyCylinder b2(r={0,0.2,0}, diameter=0.05) annotation (Placement(transformation( origin={50,-50}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Mechanics.MultiBody.Parts.FixedTranslation b3(r={1.2,0,0}, animation=false) + Modelica.Mechanics.MultiBody.Parts.FixedTranslation b3(r={1.2,0,0}, animation=false) annotation (Placement(transformation(extent={{-32,-80},{-12,-60}}, rotation=0))); - Modelica.Mechanics.MultiBody.Joints.Spherical spherical(animation=false) + Modelica.Mechanics.MultiBody.Joints.Spherical spherical(animation=false) annotation (Placement(transformation(extent={{-20,20},{0,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation FixedTranslation1(r={1,-0.3,-0.1}, animation=false) annotation (Placement(transformation(extent={{12,20}, {32,40}}, rotation=0))); - Modelica.Mechanics.MultiBody.Joints.Universal Universal1(n_b={0,1,0}, n_a={0,0,1}) + Modelica.Mechanics.MultiBody.Joints.Universal Universal1(n_b={0,1,0}, n_a={0,0,1}) annotation (Placement(transformation(extent={{44,20},{64,40}}, rotation= 0))); equation @@ -236,12 +236,12 @@ ALT=\"model Examples.Elementary.DoublePendulum\"> points={{-54,-30},{-60,-30},{-60,-70}}, color={0,0,0}, thickness=0.5)); - connect(b3.frame_a, world.frame_b) + connect(b3.frame_a, world.frame_b) annotation (Line( points={{-32,-70},{-60,-70}}, color={0,0,0}, thickness=0.5)); - connect(b3.frame_b, j2.frame_a) + connect(b3.frame_b, j2.frame_a) annotation (Line( points={{-12,-70},{12,-70}}, color={0,0,0}, @@ -320,7 +320,7 @@ for rodLength: output SI.AngularVelocity j1_w "axis speed of revolute joint j1"; output SI.Velocity j2_v "axis velocity of prismatic joint j2"; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-80,-80},{-60,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute j1( @@ -328,7 +328,7 @@ for rodLength: stateSelect=StateSelect.always, a(fixed=false), phi(fixed=true), - w(fixed=true, start=5.235987755982989)) + w(fixed=true, start=5.235987755982989)) annotation (Placement(transformation(extent={{-54,-40},{-34,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Prismatic j2( @@ -336,17 +336,17 @@ for rodLength: a(fixed=false), s(fixed=true), v(fixed=false), - s_offset=-0.2) + s_offset=-0.2) annotation (Placement(transformation(extent={{12,-80},{32,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder b1( - r={0,0.5,0.1}, diameter=0.05) + r={0,0.5,0.1}, diameter=0.05) annotation (Placement(transformation( origin={-30,0}, extent={{-10,-10},{10,10}}, rotation=90))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder b2( - r={0,0.2,0}, diameter=0.05) + r={0,0.2,0}, diameter=0.05) annotation (Placement(transformation( origin={50,-50}, extent={{-10,-10},{10,10}}, @@ -356,19 +356,19 @@ for rodLength: m=1) annotation (Placement(transformation(extent={{0,20},{-20,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation b3( - r={1.2,0,0}, animation=false) + r={1.2,0,0}, animation=false) annotation (Placement(transformation(extent={{-32,-80},{-12,-60}}, rotation=0))); equation - connect(j2.frame_b, b2.frame_a) + connect(j2.frame_b, b2.frame_a) annotation (Line(points={{32,-70},{50,-70},{50,-60}})); - connect(j1.frame_b, b1.frame_a) + connect(j1.frame_b, b1.frame_a) annotation (Line(points={{-34,-30},{-30,-30},{-30,-10}})); - connect(j1.frame_a, world.frame_b) + connect(j1.frame_a, world.frame_b) annotation (Line(points={{-54,-30},{-60,-30},{-60,-70}})); - connect(b1.frame_b, sphericalSpherical.frame_b) + connect(b1.frame_b, sphericalSpherical.frame_b) annotation (Line(points={{-30,10},{-30,30},{-20,30}})); - connect(sphericalSpherical.frame_a, b2.frame_b) + connect(sphericalSpherical.frame_a, b2.frame_b) annotation (Line(points={{0,30},{50,30},{50,-40}})); j1_phi = j1.phi; j2_s = j2.s; @@ -424,7 +424,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). output SI.AngularVelocity j1_w "axis speed of revolute joint j1"; output SI.Velocity j2_v "axis velocity of prismatic joint j2"; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-80,-80},{-60,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute j1( @@ -432,7 +432,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). stateSelect=StateSelect.always, a(fixed=false), phi(fixed=true), - w(fixed=true, start=5.235987755982989)) + w(fixed=true, start=5.235987755982989)) annotation (Placement(transformation(extent={{-54,-40},{-34,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Prismatic j2( @@ -444,13 +444,13 @@ menu (this sets \"fixed=false\" on parameter \"length\"). s_offset=-0.2) annotation (Placement( transformation(extent={{12,-80},{32,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder b1( - r={0,0.5,0.1}, diameter=0.05) + r={0,0.5,0.1}, diameter=0.05) annotation (Placement(transformation( origin={-30,0}, extent={{-10,-10},{10,10}}, rotation=90))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder b2( - r={0,0.2,0}, diameter=0.05) + r={0,0.2,0}, diameter=0.05) annotation (Placement(transformation( origin={50,-50}, extent={{-10,-10},{10,10}}, @@ -460,10 +460,10 @@ menu (this sets \"fixed=false\" on parameter \"length\"). n1_a={0,1,0.1}) annotation (Placement(transformation(extent={{0,20},{ -20,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation b3( - animation=false, r={1,0,0}) + animation=false, r={1,0,0}) annotation (Placement(transformation(extent={{-32,-80},{-12,-60}}, rotation=0))); - Modelica.Mechanics.MultiBody.Visualizers.FixedFrame fixedFrame4 + Modelica.Mechanics.MultiBody.Visualizers.FixedFrame fixedFrame4 annotation (Placement(transformation( origin={-10,70}, extent={{-10,-10},{10,10}}, @@ -473,21 +473,21 @@ menu (this sets \"fixed=false\" on parameter \"length\"). j2_s = j2.s; j1_w = j1.w; j2_v = j2.v; - connect(j2.frame_b, b2.frame_a) + connect(j2.frame_b, b2.frame_a) annotation (Line(points={{32,-70},{50,-70},{50,-60}})); - connect(j1.frame_b, b1.frame_a) + connect(j1.frame_b, b1.frame_a) annotation (Line(points={{-34,-30},{-30,-30},{-30,-10}})); - connect(j1.frame_a, world.frame_b) + connect(j1.frame_a, world.frame_b) annotation (Line(points={{-54,-30},{-60,-30},{-60,-70}})); - connect(b1.frame_b, universalSpherical.frame_b) + connect(b1.frame_b, universalSpherical.frame_b) annotation (Line(points={{-30,10},{-30,30},{-20,30}})); - connect(universalSpherical.frame_a, b2.frame_b) + connect(universalSpherical.frame_a, b2.frame_b) annotation (Line(points={{0,30},{50,30},{50,-40}})); connect(b3.frame_a, world.frame_b) annotation (Line(points={{-32,-70},{ -60,-70}})); connect(b3.frame_b, j2.frame_a) annotation (Line(points={{-12,-70},{12, -70}})); - connect(fixedFrame4.frame_a, universalSpherical.frame_ia) + connect(fixedFrame4.frame_a, universalSpherical.frame_ia) annotation (Line(points={{-10,60},{-10,50},{-6,50},{-6,40}}, color={0,0, 0})); annotation ( @@ -540,7 +540,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). output SI.AngularVelocity j1_w "axis speed of revolute joint j1"; output SI.Velocity j2_v "axis velocity of prismatic joint j2"; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-80,-80},{-60,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute j1( @@ -548,7 +548,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). stateSelect=StateSelect.always, a(fixed=false), phi(fixed=true), - w(fixed=true, start=5.235987755982989)) + w(fixed=true, start=5.235987755982989)) annotation (Placement(transformation(extent={{-54,-40},{-34,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Prismatic j2( @@ -560,13 +560,13 @@ menu (this sets \"fixed=false\" on parameter \"length\"). s_offset=-0.2) annotation (Placement( transformation(extent={{12,-80},{32,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder b1( - r={0,0.5,0.1}, diameter=0.05) + r={0,0.5,0.1}, diameter=0.05) annotation (Placement(transformation( origin={-30,0}, extent={{-10,-10},{10,10}}, rotation=90))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder b2( - r={0,0.2,0}, diameter=0.05) + r={0,0.2,0}, diameter=0.05) annotation (Placement(transformation( origin={50,-50}, extent={{-10,-10},{10,10}}, @@ -577,10 +577,10 @@ menu (this sets \"fixed=false\" on parameter \"length\"). rRod_a(start={-1,0.3,0.1})) annotation (Placement(transformation(extent= {{0,20},{-20,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation b3( - animation=false, r={1,0,0}) + animation=false, r={1,0,0}) annotation (Placement(transformation(extent={{-32,-80},{-12,-60}}, rotation=0))); - Modelica.Mechanics.MultiBody.Visualizers.FixedFrame fixedFrame4 + Modelica.Mechanics.MultiBody.Visualizers.FixedFrame fixedFrame4 annotation (Placement(transformation( origin={-10,70}, extent={{-10,-10},{10,10}}, @@ -590,21 +590,21 @@ menu (this sets \"fixed=false\" on parameter \"length\"). j2_s = j2.s; j1_w = j1.w; j2_v = j2.v; - connect(j2.frame_b, b2.frame_a) + connect(j2.frame_b, b2.frame_a) annotation (Line(points={{32,-70},{50,-70},{50,-60}})); - connect(j1.frame_b, b1.frame_a) + connect(j1.frame_b, b1.frame_a) annotation (Line(points={{-34,-30},{-30,-30},{-30,-10}})); - connect(j1.frame_a, world.frame_b) + connect(j1.frame_a, world.frame_b) annotation (Line(points={{-54,-30},{-60,-30},{-60,-70}})); - connect(b1.frame_b, universalSpherical.frame_b) + connect(b1.frame_b, universalSpherical.frame_b) annotation (Line(points={{-30,10},{-30,30},{-20,30}})); - connect(universalSpherical.frame_a, b2.frame_b) + connect(universalSpherical.frame_a, b2.frame_b) annotation (Line(points={{0,30},{50,30},{50,-40}})); connect(b3.frame_a, world.frame_b) annotation (Line(points={{-32,-70},{ -60,-70}})); connect(b3.frame_b, j2.frame_a) annotation (Line(points={{-12,-70},{12, -70}})); - connect(fixedFrame4.frame_a, universalSpherical.frame_ia) + connect(fixedFrame4.frame_a, universalSpherical.frame_ia) annotation (Line(points={{-10,60},{-10,50},{-6,50},{-6,40}}, color={0,0, 0})); annotation ( @@ -657,7 +657,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). output SI.AngularVelocity j1_w "axis speed of revolute joint j1"; output SI.Velocity j2_v "axis velocity of prismatic joint j2"; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-80,-80},{-60,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Prismatic j2( @@ -666,20 +666,20 @@ menu (this sets \"fixed=false\" on parameter \"length\"). a(fixed=false), s(fixed=true), v(fixed=true, start=-0.4), - s_offset=-0.2) + s_offset=-0.2) annotation (Placement(transformation(extent={{12,-80},{32,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder b2( - r={0,0.2,0}, diameter=0.05) + r={0,0.2,0}, diameter=0.05) annotation (Placement(transformation( origin={50,-50}, extent={{-10,-10},{10,10}}, rotation=90))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation b3( - animation=false, r={1.2,0,0}) + animation=false, r={1.2,0,0}) annotation (Placement(transformation(extent={{-32,-80},{-12,-60}}, rotation=0))); - Modelica.Mechanics.MultiBody.Visualizers.FixedFrame fixedFrame + Modelica.Mechanics.MultiBody.Visualizers.FixedFrame fixedFrame annotation (Placement(transformation( origin={-6,50}, extent={{-10,-10},{10,10}}, @@ -712,7 +712,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). I_33=0.1) annotation (Placement(transformation(extent={{-38,68},{-18,88}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Damper damper( - d=0.1) + d=0.1) annotation (Placement(transformation( origin={-64,12}, extent={{-10,-10},{10,10}}, @@ -722,28 +722,28 @@ menu (this sets \"fixed=false\" on parameter \"length\"). j2_s = j2.s; j1_w = der(jointUSR.revolute.phi); j2_v = j2.v; - connect(j2.frame_b, b2.frame_a) + connect(j2.frame_b, b2.frame_a) annotation (Line(points={{32,-70},{50,-70},{50,-60}})); connect(b3.frame_a, world.frame_b) annotation (Line(points={{-32,-70},{ -60,-70}})); connect(b3.frame_b, j2.frame_a) annotation (Line(points={{-12,-70},{12, -70}})); - connect(world.frame_b, jointUSR.frame_b) + connect(world.frame_b, jointUSR.frame_b) annotation (Line(points={{-60,-70},{-50,-70},{-50,10},{-20,10}})); - connect(jointUSR.frame_a, b2.frame_b) + connect(jointUSR.frame_a, b2.frame_b) annotation (Line(points={{0,10},{50,10},{50,-40}})); - connect(jointUSR.frame_ia, fixedFrame.frame_a) + connect(jointUSR.frame_ia, fixedFrame.frame_a) annotation (Line(points={{-2,20},{-4,32},{-6,32},{-6,40}})); - connect(jointUSR.frame_ia, Body2.frame_a) + connect(jointUSR.frame_ia, Body2.frame_a) annotation (Line(points={{-2,20},{-4,32},{10,32},{10,50},{20,50}})); - connect(jointUSR.frame_ib, Body1.frame_a) + connect(jointUSR.frame_ib, Body1.frame_a) annotation (Line(points={{-18,20},{-18,30},{-80,30},{-80,50},{-74,50}})); connect(Body3.frame_a, jointUSR.frame_im) annotation (Line(points={{-38, 78},{-48,78},{-48,34},{-10,34},{-10,20}}, color={0,0,0})); - connect(damper.flange_b, jointUSR.axis) + connect(damper.flange_b, jointUSR.axis) annotation (Line(points={{-64,22},{-36,22},{-36,18},{-20,18}}, color={0, 0,0})); - connect(jointUSR.bearing, damper.flange_a) + connect(jointUSR.bearing, damper.flange_a) annotation (Line(points={{-20,14},{-54,14},{-54,2},{-64,2}}, color={0,0, 0})); annotation ( @@ -800,7 +800,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). output SI.AngularVelocity j1_w "axis speed of revolute joint j1"; output SI.Velocity j2_v "axis velocity of prismatic joint j2"; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-80,-80},{-60,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Prismatic j2( @@ -809,17 +809,17 @@ menu (this sets \"fixed=false\" on parameter \"length\"). a(fixed=false), s(fixed=true), v(fixed=true, start=-0.2), - s_offset=-0.2) + s_offset=-0.2) annotation (Placement(transformation(extent={{12,-80},{32,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder b2( - r={0,0.2,0}, diameter=0.05) + r={0,0.2,0}, diameter=0.05) annotation (Placement(transformation( origin={50,-50}, extent={{-10,-10},{10,10}}, rotation=90))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation b3( - animation=false, r={1.2,0,0}) + animation=false, r={1.2,0,0}) annotation (Placement(transformation(extent={{-32,-80},{-12,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointSSR jointSSR( @@ -829,18 +829,18 @@ menu (this sets \"fixed=false\" on parameter \"length\"). checkTotalPower=true, rod1Mass=0.1) annotation (Placement(transformation(extent={{-2,0},{-22, 20}}, rotation=0))); - Modelica.Mechanics.MultiBody.Visualizers.FixedFrame FixedFrame1 + Modelica.Mechanics.MultiBody.Visualizers.FixedFrame FixedFrame1 annotation (Placement(transformation(extent={{-40,60},{-60,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body Body1( - r_CM=jointSSR.rRod2_ib/2, m=0.1) + r_CM=jointSSR.rRod2_ib/2, m=0.1) annotation (Placement(transformation(extent={{-30,30},{-50,50}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body Body2( m=0.1) annotation (Placement(transformation( extent={{20,30},{40,50}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Damper damper( - d=0.5) + d=0.5) annotation (Placement(transformation( origin={-62,16}, extent={{-10,-10},{10,10}}, @@ -850,26 +850,26 @@ menu (this sets \"fixed=false\" on parameter \"length\"). j2_s = j2.s; j1_w = der(jointSSR.revolute.phi); j2_v = j2.v; - connect(j2.frame_b, b2.frame_a) + connect(j2.frame_b, b2.frame_a) annotation (Line(points={{32,-70},{50,-70},{50,-60}})); connect(b3.frame_a, world.frame_b) annotation (Line(points={{-32,-70},{ -60,-70}})); connect(b3.frame_b, j2.frame_a) annotation (Line(points={{-12,-70},{12, -70}})); - connect(world.frame_b, jointSSR.frame_b) + connect(world.frame_b, jointSSR.frame_b) annotation (Line(points={{-60,-70},{-50,-70},{-50,10},{-22,10}})); - connect(jointSSR.frame_a, b2.frame_b) + connect(jointSSR.frame_a, b2.frame_b) annotation (Line(points={{-2,10},{50,10},{50,-40}})); - connect(FixedFrame1.frame_a, jointSSR.frame_ib) + connect(FixedFrame1.frame_a, jointSSR.frame_ib) annotation (Line(points={{-40,70},{-20,70},{-20,20}}, color={0,0,0})); - connect(Body1.frame_a, jointSSR.frame_ib) + connect(Body1.frame_a, jointSSR.frame_ib) annotation (Line(points={{-30,40},{-20,40},{-20,20}}, color={0,0,0})); - connect(Body2.frame_a, jointSSR.frame_im) + connect(Body2.frame_a, jointSSR.frame_im) annotation (Line(points={{20,40},{-12,40},{-12,20}}, color={0,0,0})); - connect(jointSSR.axis, damper.flange_b) + connect(jointSSR.axis, damper.flange_b) annotation (Line(points={{-22,18},{-42,18},{-42,26},{-62,26}}, color={0, 0,0})); - connect(jointSSR.bearing, damper.flange_a) + connect(jointSSR.bearing, damper.flange_a) annotation (Line(points={{-22,14},{-52,14},{-52,6},{-62,6}}, color={0,0, 0})); annotation ( @@ -922,7 +922,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). output SI.AngularVelocity revolute_w "axis speed of revolute joint j1"; output SI.Velocity prismatic_v "axis velocity of prismatic joint j2"; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-80,-80},{-60,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute revolute( @@ -930,23 +930,23 @@ menu (this sets \"fixed=false\" on parameter \"length\"). stateSelect=StateSelect.always, a(fixed=false), phi(fixed=true), - w(fixed=true, start=5.235987755982989)) + w(fixed=true, start=5.235987755982989)) annotation (Placement(transformation(extent={{-54,-40},{-34,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder body1( - r={0,0.5,0.1}, diameter=0.05) + r={0,0.5,0.1}, diameter=0.05) annotation (Placement(transformation( origin={-30,0}, extent={{-10,-10},{10,10}}, rotation=90))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder body3( - r={0,0.2,0}, diameter=0.05) + r={0,0.2,0}, diameter=0.05) annotation (Placement(transformation( origin={50,70}, extent={{-10,-10},{10,10}}, rotation=90))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation ground_rod( - animation=false, r={1.2,0,0}) + animation=false, r={1.2,0,0}) annotation (Placement(transformation(extent={{-32,-80},{-12,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUSP jointUSP( @@ -958,11 +958,11 @@ menu (this sets \"fixed=false\" on parameter \"length\"). rRod1_ia={1,-0.3,0.1}) annotation (Placement(transformation(extent={{0, 20},{20,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder body2( - r={1,-0.3,0.1}, diameter=0.05) + r={1,-0.3,0.1}, diameter=0.05) annotation (Placement(transformation(extent={{8,60},{28,80}}, rotation= 0))); Modelica.Mechanics.Translational.Components.Damper damper( - d=50) + d=50) annotation (Placement(transformation( origin={52,30}, extent={{10,-10},{-10,10}}, @@ -980,7 +980,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{-54,-30},{-60,-30},{-60,-70}}, color={0,0,0}, thickness=0.5)); - connect(ground_rod.frame_a, world.frame_b) + connect(ground_rod.frame_a, world.frame_b) annotation (Line( points={{-32,-70},{-60,-70}}, color={0,0,0}, @@ -997,7 +997,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{18,40},{18,48},{50,48},{50,60}}, color={0,0,0}, thickness=0.5)); - connect(jointUSP.frame_ia, body2.frame_a) + connect(jointUSP.frame_ia, body2.frame_a) annotation (Line( points={{2,40},{2,70},{8,70}}, color={0,0,0}, @@ -1023,11 +1023,11 @@ menu (this sets \"fixed=false\" on parameter \"length\"). SI.AngularVelocity w1[3]=resolve1(R, wa); SI.AngularVelocity w2[3]=angularVelocity1(R); SI.AngularVelocity w_err[3]=w2 - w1; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation bar2( - r={0.8,0,0}, animation=false) + r={0.8,0,0}, animation=false) annotation (Placement(transformation(extent={{0,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Forces.Spring spring1( @@ -1053,7 +1053,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). r_0(fixed=true, start={0.2,-0.5,0.1}), v_0(fixed=true), w_0_fixed=true, - z_0_fixed=false) + z_0_fixed=false) annotation (Placement(transformation(extent={{0,-40},{20,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Spring spring2( @@ -1066,14 +1066,14 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Forces.WorldTorque FrameTorque1( - resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_b) + resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_b) annotation (Placement(transformation(extent={{58,-42},{38,-22}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={10,0,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={10,0,0}) annotation (Placement(transformation(extent={{94,-42},{74,-22}}, rotation=0))); equation - connect(bar2.frame_a, world.frame_b) + connect(bar2.frame_a, world.frame_b) annotation (Line( points={{0,30},{-40,30}}, color={0,0,0}, @@ -1082,7 +1082,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{-24,-4},{-24,-30},{0,-30}}, color={0,0,0}, thickness=0.5)); - connect(spring2.frame_b, body.frame_b) + connect(spring2.frame_b, body.frame_b) annotation (Line( points={{42,-4},{20,-30}}, color={0,0,0}, @@ -1099,7 +1099,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{38,-32},{30,-32},{30,-30},{20,-30}}, color={0,0,0}, thickness=0.5)); - connect(Constant1.y,FrameTorque1.torque) + connect(Constant1.y,FrameTorque1.torque) annotation (Line(points={{73,-32},{60,-32}}, color={0,0,255})); annotation (experiment(StopTime=1.1)); end AngularVelocity; @@ -1117,15 +1117,15 @@ menu (this sets \"fixed=false\" on parameter \"length\"). phi(fixed=true), w(fixed=true)) annotation (Placement(transformation(extent= {{-40,0},{-20,20}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox body(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox body(r={1,0,0}) annotation (Placement(transformation(extent={{0,0},{20,20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.FrameForceAndTorque - frameForceAndTorque + frameForceAndTorque annotation (Placement(transformation(extent={{-40,-40},{-20,-20}}, rotation=0))); Modelica.Blocks.Sources.Sine sine[6] annotation (Placement(transformation( extent={{-80,-40},{-60,-20}}, rotation=0))); - Modelica.Mechanics.MultiBody.Sensors.CutForce cutForce + Modelica.Mechanics.MultiBody.Sensors.CutForce cutForce annotation (Placement(transformation(extent={{0,-40},{20,-20}}, rotation=0))); Modelica.Blocks.Continuous.Der der1[3] annotation (Placement( @@ -1133,7 +1133,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). Modelica.Blocks.Continuous.Der der2[3] annotation (Placement( transformation(extent={{54,-70},{74,-50}}, rotation=0))); equation - connect(world.frame_b,rev. frame_a) + connect(world.frame_b,rev. frame_a) annotation (Line( points={{-60,10},{-40,10}}, color={95,95,95}, @@ -1170,14 +1170,14 @@ menu (this sets \"fixed=false\" on parameter \"length\"). import Modelica.Mechanics.MultiBody.*; inner World world annotation (Placement(transformation(extent={{-80,60},{ -60,80}}, rotation=0))); - Joints.Revolute Revolute1(n={0,1,0}) + Joints.Revolute Revolute1(n={0,1,0}) annotation (Placement(transformation( origin={-20,30}, extent={{-10,-10},{10,10}}, rotation=90))); Parts.BodyCylinder body1(r={1,0,0}) annotation (Placement(transformation( extent={{0,40},{20,60}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={0,500,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={0,500,0}) annotation (Placement(transformation( origin={50,90}, extent={{-10,10},{10,-10}}, @@ -1188,23 +1188,23 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{0,-30},{20,-10}}, rotation=0))); Parts.Fixed fixed3(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-88,-70},{-68,-50}}, rotation=0))); - Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) + Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-8,-90},{12,-70}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Force force1( - N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) + N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) annotation (Placement(transformation( extent={{62,40},{42,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Force force2( - N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) + N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) annotation (Placement(transformation( extent={{60,-10},{40,-30}}, rotation=0))); - Joints.Revolute Revolute2(n={0,1,0}) + Joints.Revolute Revolute2(n={0,1,0}) annotation (Placement(transformation( origin={-20,-40}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant2[3](k={0,500,0}) + Modelica.Blocks.Sources.Constant Constant2[3](k={0,500,0}) annotation (Placement(transformation( origin={70,-70}, extent={{10,-10},{-10,10}}, @@ -1213,37 +1213,37 @@ menu (this sets \"fixed=false\" on parameter \"length\"). -52,0},{-32,20}}, rotation=0))); Joints.Revolute Revolute4 annotation (Placement(transformation(extent={{ -62,-70},{-42,-50}}, rotation=0))); - Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) + Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) annotation (Placement(transformation(extent={{100,40},{80,60}}, rotation=0))); - Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) + Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) annotation (Placement(transformation(extent={{100,-30},{80,-10}}, rotation=0))); equation connect(force1.frame_b, body1.frame_b) annotation (Line(points={{42,50},{ 20,50}})); - connect(Revolute1.frame_b, body1.frame_a) + connect(Revolute1.frame_b, body1.frame_a) annotation (Line(points={{-20,40},{-20,50},{0,50}})); - connect(Revolute2.frame_b, body2.frame_a) + connect(Revolute2.frame_b, body2.frame_a) annotation (Line(points={{-20,-30},{-20,-20},{0,-20}})); connect(force2.frame_b, body2.frame_b) annotation (Line(points={{40,-20}, {20,-20}})); - connect(Revolute3.frame_a, fixed1.frame_b) + connect(Revolute3.frame_a, fixed1.frame_b) annotation (Line(points={{-52,10},{-70,10}})); - connect(Revolute3.frame_b, Revolute1.frame_a) + connect(Revolute3.frame_b, Revolute1.frame_a) annotation (Line(points={{-32,10},{-20,10},{-20,20}})); - connect(fixedRotation.frame_b, force2.frame_resolve) + connect(fixedRotation.frame_b, force2.frame_resolve) annotation (Line(points={{12,-80},{46,-80},{46,-30}})); - connect(fixed3.frame_b, Revolute4.frame_a) + connect(fixed3.frame_b, Revolute4.frame_a) annotation (Line(points={{-68,-60},{-62,-60}})); - connect(Revolute4.frame_b, Revolute2.frame_a) + connect(Revolute4.frame_b, Revolute2.frame_a) annotation (Line(points={{-42,-60},{-20,-60},{-20,-50}})); - connect(fixed3.frame_b, fixedRotation.frame_a) + connect(fixed3.frame_b, fixedRotation.frame_a) annotation (Line(points={{-68,-60},{-64,-60},{-64,-80},{-8,-80}})); - connect(Constant1.y,force1.force) + connect(Constant1.y,force1.force) annotation (Line(points={{50,79},{50,72},{58,72},{58,62}}, color={0,0, 255})); - connect(Constant2.y,force2.force) + connect(Constant2.y,force2.force) annotation (Line(points={{70,-59},{70,-42},{56,-42},{56,-32}}, color={0, 0,255})); connect(force1.frame_a, fixed2.frame_b) annotation (Line( @@ -1266,7 +1266,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). import Modelica.Mechanics.MultiBody.*; inner World world annotation (Placement(transformation(extent={{-80,60},{ -60,80}}, rotation=0))); - Joints.Revolute Revolute1(n={0,1,0}) + Joints.Revolute Revolute1(n={0,1,0}) annotation (Placement(transformation( origin={-20,30}, extent={{-10,-10},{10,10}}, @@ -1274,7 +1274,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). Parts.BodyCylinder body1(r={1,0,0}) annotation (Placement(transformation( extent={{0,40},{20,60}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={0,500,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={0,500,0}) annotation (Placement(transformation( origin={50,90}, extent={{-10,10},{10,-10}}, @@ -1285,23 +1285,23 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{0,-30},{20,-10}}, rotation=0))); Parts.Fixed fixed3(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-88,-70},{-68,-50}}, rotation=0))); - Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) + Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-8,-90},{12,-70}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Force force1( - N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) + N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) annotation (Placement(transformation( extent={{62,40},{42,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Force force2( - N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) + N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) annotation (Placement(transformation( extent={{60,-10},{40,-30}}, rotation=0))); - Joints.Revolute Revolute2(n={0,1,0}) + Joints.Revolute Revolute2(n={0,1,0}) annotation (Placement(transformation( origin={-20,-40}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant2[3](k={0,500,0}) + Modelica.Blocks.Sources.Constant Constant2[3](k={0,500,0}) annotation (Placement(transformation( origin={70,-70}, extent={{10,-10},{-10,10}}, @@ -1310,20 +1310,20 @@ menu (this sets \"fixed=false\" on parameter \"length\"). -52,0},{-32,20}}, rotation=0))); Joints.Revolute Revolute4 annotation (Placement(transformation(extent={{ -62,-70},{-42,-50}}, rotation=0))); - Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) + Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) annotation (Placement(transformation(extent={{100,40},{80,60}}, rotation=0))); - Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) + Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) annotation (Placement(transformation(extent={{100,-30},{80,-10}}, rotation=0))); - Joints.Revolute Revolute5(n={0,1,0}) + Joints.Revolute Revolute5(n={0,1,0}) annotation (Placement(transformation( origin={-20,-180}, extent={{-10,-10},{10,10}}, rotation=90))); Parts.BodyCylinder body3(r={1,0,0}) annotation (Placement(transformation( extent={{0,-170},{20,-150}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant3[6](k={0,500,0,0,0,0}) + Modelica.Blocks.Sources.Constant Constant3[6](k={0,500,0,0,0,0}) annotation (Placement(transformation( origin={50,-120}, extent={{-10,10},{10,-10}}, @@ -1334,23 +1334,23 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{0,-240},{20,-220}}, rotation=0))); Parts.Fixed fixed6(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-88,-280},{-68,-260}}, rotation=0))); - Parts.FixedRotation fixedRotation1(n={0,0,1}, angle=45) + Parts.FixedRotation fixedRotation1(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-8,-300},{12,-280}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.ForceAndTorque force3( - N_to_m=600) + N_to_m=600) annotation (Placement(transformation(extent={{62,-170},{42,-150}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.ForceAndTorque force4( - N_to_m=600) + N_to_m=600) annotation (Placement(transformation(extent={{60,-220},{40,-240}}, rotation=0))); - Joints.Revolute Revolute6(n={0,1,0}) + Joints.Revolute Revolute6(n={0,1,0}) annotation (Placement(transformation( origin={-20,-250}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant4[6](k={0,500,0,0,0,0}) + Modelica.Blocks.Sources.Constant Constant4[6](k={0,500,0,0,0,0}) annotation (Placement(transformation( origin={70,-280}, extent={{10,-10},{-10,10}}, @@ -1359,37 +1359,37 @@ menu (this sets \"fixed=false\" on parameter \"length\"). -52,-210},{-32,-190}}, rotation=0))); Joints.Revolute Revolute8 annotation (Placement(transformation(extent={{ -62,-280},{-42,-260}}, rotation=0))); - Parts.Fixed fixed7(animation=false, r={1.5,0.25,0}) + Parts.Fixed fixed7(animation=false, r={1.5,0.25,0}) annotation (Placement(transformation(extent={{100,-170},{80,-150}}, rotation=0))); - Parts.Fixed fixed8(animation=false, r={1.5,-0.25,0}) + Parts.Fixed fixed8(animation=false, r={1.5,-0.25,0}) annotation (Placement(transformation(extent={{100,-240},{80,-220}}, rotation=0))); equation connect(force1.frame_b, body1.frame_b) annotation (Line(points={{42,50},{ 20,50}})); - connect(Revolute1.frame_b, body1.frame_a) + connect(Revolute1.frame_b, body1.frame_a) annotation (Line(points={{-20,40},{-20,50},{0,50}})); - connect(Revolute2.frame_b, body2.frame_a) + connect(Revolute2.frame_b, body2.frame_a) annotation (Line(points={{-20,-30},{-20,-20},{0,-20}})); connect(force2.frame_b, body2.frame_b) annotation (Line(points={{40,-20}, {20,-20}})); - connect(Revolute3.frame_a, fixed1.frame_b) + connect(Revolute3.frame_a, fixed1.frame_b) annotation (Line(points={{-52,10},{-70,10}})); - connect(Revolute3.frame_b, Revolute1.frame_a) + connect(Revolute3.frame_b, Revolute1.frame_a) annotation (Line(points={{-32,10},{-20,10},{-20,20}})); - connect(fixedRotation.frame_b, force2.frame_resolve) + connect(fixedRotation.frame_b, force2.frame_resolve) annotation (Line(points={{12,-80},{46,-80},{46,-30}})); - connect(fixed3.frame_b, Revolute4.frame_a) + connect(fixed3.frame_b, Revolute4.frame_a) annotation (Line(points={{-68,-60},{-62,-60}})); - connect(Revolute4.frame_b, Revolute2.frame_a) + connect(Revolute4.frame_b, Revolute2.frame_a) annotation (Line(points={{-42,-60},{-20,-60},{-20,-50}})); - connect(fixed3.frame_b, fixedRotation.frame_a) + connect(fixed3.frame_b, fixedRotation.frame_a) annotation (Line(points={{-68,-60},{-64,-60},{-64,-80},{-8,-80}})); - connect(Constant1.y,force1.force) + connect(Constant1.y,force1.force) annotation (Line(points={{50,79},{50,72},{58,72},{58,62}}, color={0,0, 255})); - connect(Constant2.y,force2.force) + connect(Constant2.y,force2.force) annotation (Line(points={{70,-59},{70,-42},{56,-42},{56,-32}}, color={0, 0,255})); connect(force1.frame_a, fixed2.frame_b) annotation (Line( @@ -1400,25 +1400,25 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{80,-20},{70,-20},{70,-20},{60,-20}}, color={0,0,0}, thickness=0.5)); - connect(force3.frame_b, body3.frame_b) + connect(force3.frame_b, body3.frame_b) annotation (Line(points={{42,-160},{20,-160}})); - connect(Revolute5.frame_b, body3.frame_a) + connect(Revolute5.frame_b, body3.frame_a) annotation (Line(points={{-20,-170},{-20,-160},{0,-160}})); - connect(Revolute6.frame_b, body4.frame_a) + connect(Revolute6.frame_b, body4.frame_a) annotation (Line(points={{-20,-240},{-20,-230},{0,-230}})); - connect(force4.frame_b, body4.frame_b) + connect(force4.frame_b, body4.frame_b) annotation (Line(points={{40,-230},{20,-230}})); - connect(Revolute7.frame_a, fixed5.frame_b) + connect(Revolute7.frame_a, fixed5.frame_b) annotation (Line(points={{-52,-200},{-70,-200}})); - connect(Revolute7.frame_b, Revolute5.frame_a) + connect(Revolute7.frame_b, Revolute5.frame_a) annotation (Line(points={{-32,-200},{-20,-200},{-20,-190}})); - connect(fixedRotation1.frame_b, force4.frame_resolve) + connect(fixedRotation1.frame_b, force4.frame_resolve) annotation (Line(points={{12,-290},{46,-290},{46,-240}})); - connect(fixed6.frame_b, Revolute8.frame_a) + connect(fixed6.frame_b, Revolute8.frame_a) annotation (Line(points={{-68,-270},{-62,-270}})); - connect(Revolute8.frame_b, Revolute6.frame_a) + connect(Revolute8.frame_b, Revolute6.frame_a) annotation (Line(points={{-42,-270},{-20,-270},{-20,-260}})); - connect(fixed6.frame_b, fixedRotation1.frame_a) + connect(fixed6.frame_b, fixedRotation1.frame_a) annotation (Line(points={{-68,-270},{-64,-270},{-64,-290},{-8,-290}})); connect(Constant3.y,force3.load) annotation (Line(points={{50, -131},{50,-138},{58,-138},{58,-148}}, color={0,0,255})); @@ -1440,14 +1440,14 @@ menu (this sets \"fixed=false\" on parameter \"length\"). import Modelica.Mechanics.MultiBody.*; inner World world annotation (Placement(transformation(extent={{-80,60},{ -60,80}}, rotation=0))); - Joints.Revolute Revolute1(n={0,1,0}) + Joints.Revolute Revolute1(n={0,1,0}) annotation (Placement(transformation( origin={-20,30}, extent={{-10,-10},{10,10}}, rotation=90))); Parts.BodyCylinder body1(r={1,0,0}) annotation (Placement(transformation( extent={{0,40},{20,60}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[6](k={0,500,0,-100,100,0}) + Modelica.Blocks.Sources.Constant Constant1[6](k={0,500,0,-100,100,0}) annotation (Placement(transformation( origin={50,90}, extent={{-10,10},{10,-10}}, @@ -1458,23 +1458,23 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{0,-30},{20,-10}}, rotation=0))); Parts.Fixed fixed3(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-88,-70},{-68,-50}}, rotation=0))); - Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) + Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-8,-90},{12,-70}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.ForceAndTorque - forceAndTorque1( Nm_to_m=120, N_to_m=600) + forceAndTorque1( Nm_to_m=120, N_to_m=600) annotation (Placement(transformation(extent={{62,40},{42,60}}, rotation= 0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.ForceAndTorque - forceAndTorque2( Nm_to_m=120, N_to_m=600) + forceAndTorque2( Nm_to_m=120, N_to_m=600) annotation (Placement(transformation(extent={{60,-10},{40,-30}}, rotation=0))); - Joints.Revolute Revolute2(n={0,1,0}) + Joints.Revolute Revolute2(n={0,1,0}) annotation (Placement(transformation( origin={-20,-40}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant2[6](k={0,500,0,-100,100,0}) + Modelica.Blocks.Sources.Constant Constant2[6](k={0,500,0,-100,100,0}) annotation (Placement(transformation( origin={70,-70}, extent={{10,-10},{-10,10}}, @@ -1483,37 +1483,37 @@ menu (this sets \"fixed=false\" on parameter \"length\"). -52,0},{-32,20}}, rotation=0))); Joints.Revolute Revolute4 annotation (Placement(transformation(extent={{ -62,-70},{-42,-50}}, rotation=0))); - Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) + Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) annotation (Placement(transformation(extent={{100,40},{80,60}}, rotation=0))); - Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) + Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) annotation (Placement(transformation(extent={{100,-30},{80,-10}}, rotation=0))); equation - connect(forceAndTorque1.frame_b, body1.frame_b) + connect(forceAndTorque1.frame_b, body1.frame_b) annotation (Line(points={{42,50},{20,50}})); - connect(Revolute1.frame_b, body1.frame_a) + connect(Revolute1.frame_b, body1.frame_a) annotation (Line(points={{-20,40},{-20,50},{0,50}})); - connect(Revolute2.frame_b, body2.frame_a) + connect(Revolute2.frame_b, body2.frame_a) annotation (Line(points={{-20,-30},{-20,-20},{0,-20}})); - connect(forceAndTorque2.frame_b, body2.frame_b) + connect(forceAndTorque2.frame_b, body2.frame_b) annotation (Line(points={{40,-20},{20,-20}})); - connect(Revolute3.frame_a, fixed1.frame_b) + connect(Revolute3.frame_a, fixed1.frame_b) annotation (Line(points={{-52,10},{-70,10}})); - connect(Revolute3.frame_b, Revolute1.frame_a) + connect(Revolute3.frame_b, Revolute1.frame_a) annotation (Line(points={{-32,10},{-20,10},{-20,20}})); - connect(fixedRotation.frame_b, forceAndTorque2.frame_resolve) + connect(fixedRotation.frame_b, forceAndTorque2.frame_resolve) annotation (Line(points={{12,-80},{46,-80},{46,-30}})); - connect(fixed3.frame_b, Revolute4.frame_a) + connect(fixed3.frame_b, Revolute4.frame_a) annotation (Line(points={{-68,-60},{-62,-60}})); - connect(Revolute4.frame_b, Revolute2.frame_a) + connect(Revolute4.frame_b, Revolute2.frame_a) annotation (Line(points={{-42,-60},{-20,-60},{-20,-50}})); - connect(fixed3.frame_b, fixedRotation.frame_a) + connect(fixed3.frame_b, fixedRotation.frame_a) annotation (Line(points={{-68,-60},{-64,-60},{-64,-80},{-8,-80}})); - connect(Constant1.y,forceAndTorque1.load) + connect(Constant1.y,forceAndTorque1.load) annotation (Line(points={{50,79},{50,72},{58,72},{58,62}}, color={0,0, 255})); - connect(Constant2.y,forceAndTorque2.load) + connect(Constant2.y,forceAndTorque2.load) annotation (Line(points={{70,-59},{70,-42},{56,-42},{56,-32}}, color={0, 0,255})); connect(forceAndTorque1.frame_a, fixed2.frame_b) annotation (Line( @@ -1533,14 +1533,14 @@ menu (this sets \"fixed=false\" on parameter \"length\"). model ForceWithTwoMasses extends Modelica.Icons.Example; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-100,20},{-80,40}}, rotation=0))); - Modelica.Mechanics.MultiBody.Joints.Revolute revolute + Modelica.Mechanics.MultiBody.Joints.Revolute revolute annotation (Placement(transformation( extent={{-40,20},{-20,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox BodyBox1( - r={0.7,0,0}) + r={0.7,0,0}) annotation (Placement(transformation(extent={{0,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation FixedTranslation1( @@ -1564,25 +1564,25 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{10,-10},{-10,10}}, rotation=270))); Modelica.Mechanics.Translational.Components.Damper damper( - d=10) + d=10) annotation (Placement(transformation(extent={{-20,-80},{0,-60}}, rotation=0))); equation - connect(BodyBox1.frame_a, revolute.frame_b) + connect(BodyBox1.frame_a, revolute.frame_b) annotation (Line(points={{0,30},{-20,30}})); - connect(force.frame_a, FixedTranslation1.frame_b) + connect(force.frame_a, FixedTranslation1.frame_b) annotation (Line(points={{-20,-30},{-60,-30},{-60,-20}})); - connect(force.frame_b, BodyBox1.frame_b) + connect(force.frame_b, BodyBox1.frame_b) annotation (Line(points={{0,-30},{40,-30},{40,30},{20,30}})); - connect(world.frame_b, FixedTranslation2.frame_a) + connect(world.frame_b, FixedTranslation2.frame_a) annotation (Line(points={{-80,30},{-60,30},{-60,40}})); - connect(FixedTranslation2.frame_b, revolute.frame_a) + connect(FixedTranslation2.frame_b, revolute.frame_a) annotation (Line(points={{-60,60},{-60,70},{-46,70},{-46,30},{-40,30}})); - connect(world.frame_b, FixedTranslation1.frame_a) + connect(world.frame_b, FixedTranslation1.frame_a) annotation (Line(points={{-80,30},{-60,30},{-60,0}})); connect(force.flange_a, damper.flange_a) annotation (Line(points={{-16, -41},{-16,-54},{-20,-54},{-20,-70}}, color={0,191,0})); - connect(force.flange_b, damper.flange_b) + connect(force.flange_b, damper.flange_b) annotation (Line(points={{-4,-41},{-4,-54},{0,-54},{0,-70}}, color={0, 191,0})); annotation (experiment(StopTime=3), Diagram(coordinateSystem( @@ -1598,16 +1598,16 @@ menu (this sets \"fixed=false\" on parameter \"length\"). {-80,100}}, rotation=0))); Joints.Revolute Revolute1 annotation (Placement(transformation(extent={{ -40,40},{-20,60}}, rotation=0))); - Parts.BodyCylinder BodyCylinder1(r={1,0,0}) + Parts.BodyCylinder BodyCylinder1(r={1,0,0}) annotation (Placement(transformation(extent={{0,40},{20,60}}, rotation= 0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={0,500,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={0,500,0}) annotation (Placement(transformation(extent={{100,40},{80,60}}, rotation=0))); Parts.Fixed fixed1(r={0,0.5,0}) annotation (Placement(transformation( extent={{-80,40},{-60,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.WorldForce frameForce1( - N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_b) + N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_b) annotation (Placement( transformation(extent={{60,40},{40,60}}, rotation=0))); Joints.Revolute Revolute2 annotation (Placement(transformation(extent={{ @@ -1617,32 +1617,32 @@ menu (this sets \"fixed=false\" on parameter \"length\"). Parts.Fixed fixed2(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-80,0},{-60,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.WorldForce frameForce2( - N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_resolve) + N_to_m=600, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_resolve) annotation (Placement( transformation(extent={{60,0},{40,20}}, rotation=0))); - Parts.FixedRotation FixedRotation1(n={0,0,1}, angle=45) + Parts.FixedRotation FixedRotation1(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-40,-40},{-20,-20}}, rotation=0))); equation - connect(BodyCylinder1.frame_a, Revolute1.frame_b) + connect(BodyCylinder1.frame_a, Revolute1.frame_b) annotation (Line(points={{0,50},{-20,50}})); - connect(fixed1.frame_b, Revolute1.frame_a) + connect(fixed1.frame_b, Revolute1.frame_a) annotation (Line(points={{-60,50},{-40,50}})); - connect(frameForce1.frame_b, BodyCylinder1.frame_b) + connect(frameForce1.frame_b, BodyCylinder1.frame_b) annotation (Line(points={{40,50},{20,50}})); - connect(Constant1.y,frameForce1.force) + connect(Constant1.y,frameForce1.force) annotation (Line(points={{79,50},{62,50}}, color={0,0,255})); - connect(BodyCylinder2.frame_a, Revolute2.frame_b) + connect(BodyCylinder2.frame_a, Revolute2.frame_b) annotation (Line(points={{0,10},{-20,10}})); - connect(fixed2.frame_b, Revolute2.frame_a) + connect(fixed2.frame_b, Revolute2.frame_a) annotation (Line(points={{-60,10},{-40,10}})); - connect(frameForce2.frame_b, BodyCylinder2.frame_b) + connect(frameForce2.frame_b, BodyCylinder2.frame_b) annotation (Line(points={{40,10},{20,10}})); - connect(fixed2.frame_b, FixedRotation1.frame_a) + connect(fixed2.frame_b, FixedRotation1.frame_a) annotation (Line(points={{-60,10},{-52,10},{-52,-30},{-40,-30}})); - connect(FixedRotation1.frame_b, frameForce2.frame_resolve) + connect(FixedRotation1.frame_b, frameForce2.frame_resolve) annotation (Line(points={{-20,-30},{50,-30},{50,0}})); - connect(Constant1.y,frameForce2.force) + connect(Constant1.y,frameForce2.force) annotation (Line(points={{79,50},{72,50},{72,10},{62,10}}, color={0,0, 255})); annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{ @@ -1655,14 +1655,14 @@ menu (this sets \"fixed=false\" on parameter \"length\"). import Modelica.Mechanics.MultiBody.*; inner World world annotation (Placement(transformation(extent={{-100,80}, {-80,100}}, rotation=0))); - Joints.Revolute Revolute1(n={0,1,0}) + Joints.Revolute Revolute1(n={0,1,0}) annotation (Placement(transformation( origin={-20,50}, extent={{-10,-10},{10,10}}, rotation=90))); Parts.BodyCylinder body1(r={1,0,0}) annotation (Placement(transformation( extent={{0,60},{20,80}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[6](k={0,500,0,-100,100,0}) + Modelica.Blocks.Sources.Constant Constant1[6](k={0,500,0,-100,100,0}) annotation (Placement(transformation(extent={{100,60},{80,80}}, rotation=0))); Parts.Fixed fixed1(r={0,0.5,0}) annotation (Placement(transformation( @@ -1671,23 +1671,23 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{0,-30},{20,-10}}, rotation=0))); Parts.Fixed fixed2(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-88,-70},{-68,-50}}, rotation=0))); - Parts.FixedRotation FixedRotation1(n={0,0,1}, angle=45) + Parts.FixedRotation FixedRotation1(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-8,-90},{12,-70}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.FrameForceAndTorque - frameTorque1( Nm_to_m=120, N_to_m=600) + frameTorque1( Nm_to_m=120, N_to_m=600) annotation (Placement(transformation(extent={{60,60},{40,80}}, rotation= 0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.FrameForceAndTorque - frameTorque2( Nm_to_m=120, N_to_m=600) + frameTorque2( Nm_to_m=120, N_to_m=600) annotation (Placement(transformation(extent={{60,-10},{40,-30}}, rotation=0))); - Joints.Revolute Revolute2(n={0,1,0}) + Joints.Revolute Revolute2(n={0,1,0}) annotation (Placement(transformation( origin={-20,-40}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant2[6](k={0,500,0,-100,100,0}) + Modelica.Blocks.Sources.Constant Constant2[6](k={0,500,0,-100,100,0}) annotation (Placement(transformation(extent={{100,-30},{80,-10}}, rotation=0))); Joints.Revolute Revolute3 annotation (Placement(transformation(extent={{ @@ -1695,29 +1695,29 @@ menu (this sets \"fixed=false\" on parameter \"length\"). Joints.Revolute Revolute4 annotation (Placement(transformation(extent={{ -62,-70},{-42,-50}}, rotation=0))); equation - connect(frameTorque1.frame_b, body1.frame_b) + connect(frameTorque1.frame_b, body1.frame_b) annotation (Line(points={{40,70},{20,70}})); - connect(Constant1.y,frameTorque1.load) + connect(Constant1.y,frameTorque1.load) annotation (Line(points={{79,70},{62,70}}, color={0,0,255})); - connect(Revolute1.frame_b, body1.frame_a) + connect(Revolute1.frame_b, body1.frame_a) annotation (Line(points={{-20,60},{-20,70},{0,70}})); - connect(Revolute2.frame_b, body2.frame_a) + connect(Revolute2.frame_b, body2.frame_a) annotation (Line(points={{-20,-30},{-20,-20},{0,-20}})); - connect(frameTorque2.frame_b, body2.frame_b) + connect(frameTorque2.frame_b, body2.frame_b) annotation (Line(points={{40,-20},{20,-20}})); - connect(Constant2.y,frameTorque2.load) + connect(Constant2.y,frameTorque2.load) annotation (Line(points={{79,-20},{62,-20}}, color={0,0,255})); - connect(Revolute3.frame_a, fixed1.frame_b) + connect(Revolute3.frame_a, fixed1.frame_b) annotation (Line(points={{-52,30},{-60,30}})); - connect(Revolute3.frame_b, Revolute1.frame_a) + connect(Revolute3.frame_b, Revolute1.frame_a) annotation (Line(points={{-32,30},{-20,30},{-20,40}})); - connect(FixedRotation1.frame_b, frameTorque2.frame_resolve) + connect(FixedRotation1.frame_b, frameTorque2.frame_resolve) annotation (Line(points={{12,-80},{50,-80},{50,-30}})); - connect(fixed2.frame_b, Revolute4.frame_a) + connect(fixed2.frame_b, Revolute4.frame_a) annotation (Line(points={{-68,-60},{-62,-60}})); - connect(Revolute4.frame_b, Revolute2.frame_a) + connect(Revolute4.frame_b, Revolute2.frame_a) annotation (Line(points={{-42,-60},{-20,-60},{-20,-50}})); - connect(fixed2.frame_b, FixedRotation1.frame_a) + connect(fixed2.frame_b, FixedRotation1.frame_a) annotation (Line(points={{-68,-60},{-64,-60},{-64,-80},{-8,-80}})); annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{ -100,-100},{100,100}}), graphics), @@ -1729,14 +1729,14 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extends Modelica.Icons.Example; inner World world annotation (Placement(transformation(extent={{-100,80}, {-80,100}}, rotation=0))); - Joints.Revolute Revolute1(n={0,1,0}) + Joints.Revolute Revolute1(n={0,1,0}) annotation (Placement(transformation( origin={-30,50}, extent={{-10,-10},{10,10}}, rotation=90))); Parts.BodyCylinder body1(r={1,0,0}) annotation (Placement(transformation( extent={{0,80},{20,100}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={0,100,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={0,100,0}) annotation (Placement(transformation(extent={{100,80},{80,100}}, rotation=0))); Parts.Fixed fixed1(r={0,0.5,0}) annotation (Placement(transformation( @@ -1745,41 +1745,41 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{0,0},{20,20}}, rotation=0))); Parts.Fixed fixed2(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-80,-40},{-60,-20}}, rotation=0))); - Parts.FixedRotation FixedRotation1(n={0,0,1}, angle=45) + Parts.FixedRotation FixedRotation1(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{0,-60},{20,-40}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.WorldTorque frameTorque1( - Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_b) + Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_b) annotation (Placement(transformation(extent={{60,80},{40,100}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.WorldTorque frameTorque2( - Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_resolve) + Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameB.frame_resolve) annotation (Placement(transformation(extent={{60,20},{40,0}}, rotation= 0))); - Joints.Revolute Revolute2(n={0,1,0}) + Joints.Revolute Revolute2(n={0,1,0}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant2[3](k={0,100,0}) + Modelica.Blocks.Sources.Constant Constant2[3](k={0,100,0}) annotation (Placement(transformation(extent={{100,0},{80,20}}, rotation= 0))); equation - connect(fixed2.frame_b, FixedRotation1.frame_a) + connect(fixed2.frame_b, FixedRotation1.frame_a) annotation (Line(points={{-60,-30},{-52,-30},{-52,-50},{0,-50}})); - connect(frameTorque1.frame_b, body1.frame_b) + connect(frameTorque1.frame_b, body1.frame_b) annotation (Line(points={{40,90},{20,90}})); - connect(fixed1.frame_b, Revolute1.frame_a) + connect(fixed1.frame_b, Revolute1.frame_a) annotation (Line(points={{-60,30},{-30,30},{-30,40}})); - connect(Revolute1.frame_b, body1.frame_a) + connect(Revolute1.frame_b, body1.frame_a) annotation (Line(points={{-30,60},{-30,90},{0,90}})); - connect(fixed2.frame_b, Revolute2.frame_a) + connect(fixed2.frame_b, Revolute2.frame_a) annotation (Line(points={{-60,-30},{-30,-30},{-30,-20}})); - connect(Revolute2.frame_b, body2.frame_a) + connect(Revolute2.frame_b, body2.frame_a) annotation (Line(points={{-30,0},{-30,10},{0,10}})); - connect(frameTorque2.frame_b, body2.frame_b) + connect(frameTorque2.frame_b, body2.frame_b) annotation (Line(points={{40,10},{20,10}})); - connect(FixedRotation1.frame_b, frameTorque2.frame_resolve) + connect(FixedRotation1.frame_b, frameTorque2.frame_resolve) annotation (Line(points={{20,-50},{50,-50},{50,0}})); connect(Constant1.y, frameTorque1.torque) annotation (Line( points={{79,90},{62,90}}, @@ -1804,14 +1804,14 @@ menu (this sets \"fixed=false\" on parameter \"length\"). "Difference of cut-forces in rod1 and rod3"; SI.Force body_f_diff[3]=bodyBox1.frame_b.f - bodyBox2.frame_b.f "Difference of cut-forces in bodyBox1 and bodyBox2"; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-80,60},{-60,80}}, rotation=0))); - Modelica.Mechanics.MultiBody.Joints.Revolute revolute1 + Modelica.Mechanics.MultiBody.Joints.Revolute revolute1 annotation (Placement(transformation( extent={{-20,60},{0,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox1( - r={0.7,0,0}) + r={0.7,0,0}) annotation (Placement(transformation(extent={{20,60},{40,80}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation rod1( @@ -1851,13 +1851,13 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{10,-10},{-10,10}}, rotation=270))); Modelica.Mechanics.Translational.Components.Damper damper1( - d=3) + d=3) annotation (Placement(transformation(extent={{0,24},{20,4}}, rotation=0))); - Modelica.Mechanics.MultiBody.Joints.Revolute revolute2 + Modelica.Mechanics.MultiBody.Joints.Revolute revolute2 annotation (Placement(transformation( extent={{-20,-40},{0,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox2( - r={0.7,0,0}) + r={0.7,0,0}) annotation (Placement(transformation(extent={{20,-40},{40,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation rod3( @@ -1875,7 +1875,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). extent={{10,-10},{-10,10}}, rotation=270))); Modelica.Mechanics.Translational.Components.Damper damper2( - d=3) + d=3) annotation (Placement(transformation(extent={{0,-76},{20,-96}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.LineForceWithTwoMasses @@ -1889,12 +1889,12 @@ menu (this sets \"fixed=false\" on parameter \"length\"). m_b=m) annotation (Placement(transformation(extent={{0,-50},{20,-70}}, rotation=0))); equation - connect(jointUPS.bearing, damper1.flange_a) + connect(jointUPS.bearing, damper1.flange_a) annotation (Line(points={{6,30},{6,20},{0,20},{0,14}}, color={0,191,0})); - connect(jointUPS.axis, damper1.flange_b) + connect(jointUPS.axis, damper1.flange_b) annotation (Line(points={{14,30},{14,20},{20,20},{20,14}}, color={0,191, 0})); - connect(jointUPS.frame_ib, body2.frame_a) + connect(jointUPS.frame_ib, body2.frame_a) annotation (Line( points={{18,30},{18,24},{32,24}}, color={0,0,0}, @@ -1911,7 +1911,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{-40,94},{-40,98},{-28,98},{-28,70},{-20,70}}, color={0,0,0}, thickness=0.5)); - connect(revolute1.frame_b, bodyBox1.frame_a) + connect(revolute1.frame_b, bodyBox1.frame_a) annotation (Line( points={{0,70},{20,70}}, color={0,0,0}, @@ -1920,7 +1920,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{40,70},{46,70},{46,40},{20,40}}, color={0,0,0}, thickness=0.5)); - connect(body1.frame_a, jointUPS.frame_ia) + connect(body1.frame_a, jointUPS.frame_ia) annotation (Line( points={{-14,24},{2,24},{2,30}}, color={0,0,0}, @@ -1933,7 +1933,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{-40,-6},{-40,-2},{-28,-2},{-28,-30},{-20,-30}}, color={0,0,0}, thickness=0.5)); - connect(revolute2.frame_b, bodyBox2.frame_a) + connect(revolute2.frame_b, bodyBox2.frame_a) annotation (Line( points={{0,-30},{20,-30}}, color={0,0,0}, @@ -1942,7 +1942,7 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{-60,70},{-52,70},{-52,-32},{-40,-32},{-40,-26}}, color={0,0,0}, thickness=0.5)); - connect(rod3.frame_a, rod4.frame_a) + connect(rod3.frame_a, rod4.frame_a) annotation (Line( points={{-40,-36},{-40,-26}}, color={0,0,0}, @@ -1955,9 +1955,9 @@ menu (this sets \"fixed=false\" on parameter \"length\"). points={{20,-60},{54,-60},{54,-30},{40,-30}}, color={0,0,0}, thickness=0.5)); - connect(lineForceWithTwoMasses.flange_b, damper2.flange_b) + connect(lineForceWithTwoMasses.flange_b, damper2.flange_b) annotation (Line(points={{16,-71},{20,-71},{20,-86}}, color={0,191,0})); - connect(lineForceWithTwoMasses.flange_a, damper2.flange_a) + connect(lineForceWithTwoMasses.flange_a, damper2.flange_a) annotation (Line(points={{4,-71},{0,-71},{0,-86}}, color={0,191,0})); annotation ( experiment(StopTime=3), @@ -1995,14 +1995,14 @@ a linear damper is connected here. import Modelica.Mechanics.MultiBody.*; inner World world annotation (Placement(transformation(extent={{-80,60},{ -60,80}}, rotation=0))); - Joints.Revolute Revolute1(n={0,1,0}) + Joints.Revolute Revolute1(n={0,1,0}) annotation (Placement(transformation( origin={-20,30}, extent={{-10,-10},{10,10}}, rotation=90))); Parts.BodyCylinder body1(r={1,0,0}) annotation (Placement(transformation( extent={{0,40},{20,60}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={-100,100,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={-100,100,0}) annotation (Placement(transformation( origin={50,90}, extent={{-10,10},{10,-10}}, @@ -2013,23 +2013,23 @@ a linear damper is connected here. extent={{0,-30},{20,-10}}, rotation=0))); Parts.Fixed fixed3(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-88,-70},{-68,-50}}, rotation=0))); - Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) + Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-8,-90},{12,-70}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Torque torque1( - Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) + Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) annotation (Placement(transformation( extent={{62,40},{42,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Torque torque2( - Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) + Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) annotation (Placement(transformation( extent={{60,-10},{40,-30}}, rotation=0))); - Joints.Revolute Revolute2(n={0,1,0}) + Joints.Revolute Revolute2(n={0,1,0}) annotation (Placement(transformation( origin={-20,-40}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant2[3](k={-100,100,0}) + Modelica.Blocks.Sources.Constant Constant2[3](k={-100,100,0}) annotation (Placement(transformation( origin={70,-70}, extent={{10,-10},{-10,10}}, @@ -2038,45 +2038,45 @@ a linear damper is connected here. -52,0},{-32,20}}, rotation=0))); Joints.Revolute Revolute4 annotation (Placement(transformation(extent={{ -62,-70},{-42,-50}}, rotation=0))); - Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) + Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) annotation (Placement(transformation(extent={{100,40},{80,60}}, rotation=0))); - Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) + Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) annotation (Placement(transformation(extent={{100,-30},{80,-10}}, rotation=0))); equation connect(torque1.frame_b, body1.frame_b) annotation (Line(points={{42,50}, {20,50}})); - connect(Revolute1.frame_b, body1.frame_a) + connect(Revolute1.frame_b, body1.frame_a) annotation (Line(points={{-20,40},{-20,50},{0,50}})); - connect(Revolute2.frame_b, body2.frame_a) + connect(Revolute2.frame_b, body2.frame_a) annotation (Line(points={{-20,-30},{-20,-20},{0,-20}})); - connect(torque2.frame_b, body2.frame_b) + connect(torque2.frame_b, body2.frame_b) annotation (Line(points={{40,-20},{20,-20}})); - connect(Revolute3.frame_a, fixed1.frame_b) + connect(Revolute3.frame_a, fixed1.frame_b) annotation (Line(points={{-52,10},{-70,10}})); - connect(Revolute3.frame_b, Revolute1.frame_a) + connect(Revolute3.frame_b, Revolute1.frame_a) annotation (Line(points={{-32,10},{-20,10},{-20,20}})); - connect(fixedRotation.frame_b, torque2.frame_resolve) + connect(fixedRotation.frame_b, torque2.frame_resolve) annotation (Line(points={{12,-80},{46,-80},{46,-30}})); - connect(fixed3.frame_b, Revolute4.frame_a) + connect(fixed3.frame_b, Revolute4.frame_a) annotation (Line(points={{-68,-60},{-62,-60}})); - connect(Revolute4.frame_b, Revolute2.frame_a) + connect(Revolute4.frame_b, Revolute2.frame_a) annotation (Line(points={{-42,-60},{-20,-60},{-20,-50}})); - connect(fixed3.frame_b, fixedRotation.frame_a) + connect(fixed3.frame_b, fixedRotation.frame_a) annotation (Line(points={{-68,-60},{-64,-60},{-64,-80},{-8,-80}})); - connect(Constant1.y,torque1.torque) + connect(Constant1.y,torque1.torque) annotation (Line(points={{50,79},{50,72},{58,72},{58,62}}, color={0,0, 255})); - connect(Constant2.y,torque2.torque) + connect(Constant2.y,torque2.torque) annotation (Line(points={{70,-59},{70,-42},{56,-42},{56,-32}}, color={0, 0,255})); - connect(torque1.frame_a, fixed2.frame_b) + connect(torque1.frame_a, fixed2.frame_b) annotation (Line( points={{62,50},{80,50}}, color={0,0,0}, thickness=0.5)); - connect(fixed4.frame_b, torque2.frame_a) + connect(fixed4.frame_b, torque2.frame_a) annotation (Line( points={{80,-20},{60,-20}}, color={0,0,0}, @@ -2093,14 +2093,14 @@ a linear damper is connected here. import Modelica.Mechanics.MultiBody.*; inner World world annotation (Placement(transformation(extent={{-80,60},{ -60,80}}, rotation=0))); - Joints.Revolute Revolute1(n={0,1,0}) + Joints.Revolute Revolute1(n={0,1,0}) annotation (Placement(transformation( origin={-20,30}, extent={{-10,-10},{10,10}}, rotation=90))); Parts.BodyCylinder body1(r={1,0,0}) annotation (Placement(transformation( extent={{0,40},{20,60}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={-100,100,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={-100,100,0}) annotation (Placement(transformation( origin={50,90}, extent={{-10,10},{10,-10}}, @@ -2111,23 +2111,23 @@ a linear damper is connected here. extent={{0,-30},{20,-10}}, rotation=0))); Parts.Fixed fixed3(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-88,-70},{-68,-50}}, rotation=0))); - Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) + Parts.FixedRotation fixedRotation(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-8,-90},{12,-70}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Torque torque1( - Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) + Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) annotation (Placement(transformation( extent={{62,40},{42,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Torque torque2( - Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) + Nm_to_m=120, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) annotation (Placement(transformation( extent={{60,-10},{40,-30}}, rotation=0))); - Joints.Revolute Revolute2(n={0,1,0}) + Joints.Revolute Revolute2(n={0,1,0}) annotation (Placement(transformation( origin={-20,-40}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant2[3](k={-100,100,0}) + Modelica.Blocks.Sources.Constant Constant2[3](k={-100,100,0}) annotation (Placement(transformation( origin={70,-70}, extent={{10,-10},{-10,10}}, @@ -2136,20 +2136,20 @@ a linear damper is connected here. -52,0},{-32,20}}, rotation=0))); Joints.Revolute Revolute4 annotation (Placement(transformation(extent={{ -62,-70},{-42,-50}}, rotation=0))); - Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) + Parts.Fixed fixed2(animation=false, r={1.5,0.25,0}) annotation (Placement(transformation(extent={{100,40},{80,60}}, rotation=0))); - Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) + Parts.Fixed fixed4(animation=false, r={1.5,-0.25,0}) annotation (Placement(transformation(extent={{100,-30},{80,-10}}, rotation=0))); - Joints.Revolute Revolute5(n={0,1,0}) + Joints.Revolute Revolute5(n={0,1,0}) annotation (Placement(transformation( origin={-20,-160}, extent={{-10,-10},{10,10}}, rotation=90))); Parts.BodyCylinder body3(r={1,0,0}) annotation (Placement(transformation( extent={{0,-150},{20,-130}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant3[6](k={0,0,0,-100,100,0}) + Modelica.Blocks.Sources.Constant Constant3[6](k={0,0,0,-100,100,0}) annotation (Placement(transformation( origin={50,-100}, extent={{-10,10},{10,-10}}, @@ -2160,23 +2160,23 @@ a linear damper is connected here. extent={{0,-220},{20,-200}}, rotation=0))); Parts.Fixed fixed6(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-88,-260},{-68,-240}}, rotation=0))); - Parts.FixedRotation fixedRotation1(n={0,0,1}, angle=45) + Parts.FixedRotation fixedRotation1(n={0,0,1}, angle=45) annotation (Placement(transformation(extent={{-8,-280},{12,-260}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.ForceAndTorque torque3( - Nm_to_m=120) + Nm_to_m=120) annotation (Placement(transformation(extent={{62,-150},{42,-130}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Forces.ForceAndTorque torque4( - Nm_to_m=120) + Nm_to_m=120) annotation (Placement(transformation(extent={{60,-200},{40,-220}}, rotation=0))); - Joints.Revolute Revolute6(n={0,1,0}) + Joints.Revolute Revolute6(n={0,1,0}) annotation (Placement(transformation( origin={-20,-230}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Blocks.Sources.Constant Constant4[6](k={0,0,0,-100,100,0}) + Modelica.Blocks.Sources.Constant Constant4[6](k={0,0,0,-100,100,0}) annotation (Placement(transformation( origin={70,-260}, extent={{10,-10},{-10,10}}, @@ -2185,79 +2185,79 @@ a linear damper is connected here. -52,-190},{-32,-170}}, rotation=0))); Joints.Revolute Revolute8 annotation (Placement(transformation(extent={{ -62,-260},{-42,-240}}, rotation=0))); - Parts.Fixed fixed7(animation=false, r={1.5,0.25,0}) + Parts.Fixed fixed7(animation=false, r={1.5,0.25,0}) annotation (Placement(transformation(extent={{100,-150},{80,-130}}, rotation=0))); - Parts.Fixed fixed8(animation=false, r={1.5,-0.25,0}) + Parts.Fixed fixed8(animation=false, r={1.5,-0.25,0}) annotation (Placement(transformation(extent={{100,-220},{80,-200}}, rotation=0))); equation connect(torque1.frame_b, body1.frame_b) annotation (Line(points={{42,50}, {20,50}})); - connect(Revolute1.frame_b, body1.frame_a) + connect(Revolute1.frame_b, body1.frame_a) annotation (Line(points={{-20,40},{-20,50},{0,50}})); - connect(Revolute2.frame_b, body2.frame_a) + connect(Revolute2.frame_b, body2.frame_a) annotation (Line(points={{-20,-30},{-20,-20},{0,-20}})); - connect(torque2.frame_b, body2.frame_b) + connect(torque2.frame_b, body2.frame_b) annotation (Line(points={{40,-20},{20,-20}})); - connect(Revolute3.frame_a, fixed1.frame_b) + connect(Revolute3.frame_a, fixed1.frame_b) annotation (Line(points={{-52,10},{-70,10}})); - connect(Revolute3.frame_b, Revolute1.frame_a) + connect(Revolute3.frame_b, Revolute1.frame_a) annotation (Line(points={{-32,10},{-20,10},{-20,20}})); - connect(fixedRotation.frame_b, torque2.frame_resolve) + connect(fixedRotation.frame_b, torque2.frame_resolve) annotation (Line(points={{12,-80},{46,-80},{46,-30}})); - connect(fixed3.frame_b, Revolute4.frame_a) + connect(fixed3.frame_b, Revolute4.frame_a) annotation (Line(points={{-68,-60},{-62,-60}})); - connect(Revolute4.frame_b, Revolute2.frame_a) + connect(Revolute4.frame_b, Revolute2.frame_a) annotation (Line(points={{-42,-60},{-20,-60},{-20,-50}})); - connect(fixed3.frame_b, fixedRotation.frame_a) + connect(fixed3.frame_b, fixedRotation.frame_a) annotation (Line(points={{-68,-60},{-64,-60},{-64,-80},{-8,-80}})); - connect(Constant1.y,torque1.torque) + connect(Constant1.y,torque1.torque) annotation (Line(points={{50,79},{50,72},{58,72},{58,62}}, color={0,0, 255})); - connect(Constant2.y,torque2.torque) + connect(Constant2.y,torque2.torque) annotation (Line(points={{70,-59},{70,-42},{56,-42},{56,-32}}, color={0, 0,255})); - connect(torque1.frame_a, fixed2.frame_b) + connect(torque1.frame_a, fixed2.frame_b) annotation (Line( points={{62,50},{80,50}}, color={0,0,0}, thickness=0.5)); - connect(fixed4.frame_b, torque2.frame_a) + connect(fixed4.frame_b, torque2.frame_a) annotation (Line( points={{80,-20},{60,-20}}, color={0,0,0}, thickness=0.5)); - connect(torque3.frame_b, body3.frame_b) + connect(torque3.frame_b, body3.frame_b) annotation (Line(points={{42,-140},{20,-140}})); - connect(Revolute5.frame_b, body3.frame_a) + connect(Revolute5.frame_b, body3.frame_a) annotation (Line(points={{-20,-150},{-20,-140},{0,-140}})); - connect(Revolute6.frame_b, body4.frame_a) + connect(Revolute6.frame_b, body4.frame_a) annotation (Line(points={{-20,-220},{-20,-210},{0,-210}})); - connect(torque4.frame_b, body4.frame_b) + connect(torque4.frame_b, body4.frame_b) annotation (Line(points={{40,-210},{20,-210}})); - connect(Revolute7.frame_a, fixed5.frame_b) + connect(Revolute7.frame_a, fixed5.frame_b) annotation (Line(points={{-52,-180},{-70,-180}})); - connect(Revolute7.frame_b, Revolute5.frame_a) + connect(Revolute7.frame_b, Revolute5.frame_a) annotation (Line(points={{-32,-180},{-20,-180},{-20,-170}})); - connect(fixedRotation1.frame_b, torque4.frame_resolve) + connect(fixedRotation1.frame_b, torque4.frame_resolve) annotation (Line(points={{12,-270},{46,-270},{46,-220}})); - connect(fixed6.frame_b, Revolute8.frame_a) + connect(fixed6.frame_b, Revolute8.frame_a) annotation (Line(points={{-68,-250},{-62,-250}})); - connect(Revolute8.frame_b, Revolute6.frame_a) + connect(Revolute8.frame_b, Revolute6.frame_a) annotation (Line(points={{-42,-250},{-20,-250},{-20,-240}})); - connect(fixed6.frame_b, fixedRotation1.frame_a) + connect(fixed6.frame_b, fixedRotation1.frame_a) annotation (Line(points={{-68,-250},{-64,-250},{-64,-270},{-8,-270}})); connect(Constant3.y,torque3.load) annotation (Line(points={{50, -111},{50,-118},{58,-118},{58,-128}}, color={0,0,255})); connect(Constant4.y,torque4.load) annotation (Line(points={{70, -249},{70,-232},{56,-232},{56,-222}}, color={0,0,255})); - connect(torque3.frame_a, fixed7.frame_b) + connect(torque3.frame_a, fixed7.frame_b) annotation (Line( points={{62,-140},{80,-140}}, color={0,0,0}, thickness=0.5)); - connect(fixed8.frame_b, torque4.frame_a) + connect(fixed8.frame_b, torque4.frame_a) annotation (Line( points={{80,-210},{60,-210}}, color={0,0,0}, @@ -2276,73 +2276,73 @@ a linear damper is connected here. {-80,40}}, rotation=0))); Joints.Revolute Revolute1 annotation (Placement(transformation(extent={{ -40,60},{-20,80}}, rotation=0))); - Parts.BodyCylinder BodyCylinder1(r={1,0,0}) + Parts.BodyCylinder BodyCylinder1(r={1,0,0}) annotation (Placement(transformation(extent={{0,60},{20,80}}, rotation= 0))); Modelica.Mechanics.MultiBody.Forces.WorldForce worldForce( N_to_m=600) annotation (Placement( transformation(extent={{60,60},{40,80}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={0,500,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={0,500,0}) annotation (Placement(transformation(extent={{100,60},{80,80}}, rotation=0))); Parts.Fixed fixed2(r={0,-0.5,0}) annotation (Placement(transformation( extent={{-80,-20},{-60,0}}, rotation=0))); - Joints.Revolute Revolute2(n={0,1,0}) + Joints.Revolute Revolute2(n={0,1,0}) annotation (Placement(transformation( origin={-30,10}, extent={{-10,-10},{10,10}}, rotation=90))); - Parts.BodyCylinder BodyCylinder2(r={1,0,0}) + Parts.BodyCylinder BodyCylinder2(r={1,0,0}) annotation (Placement(transformation(extent={{0,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Forces.WorldTorque worldTorque1( - Nm_to_m=200) + Nm_to_m=200) annotation (Placement(transformation(extent={{60,20},{40,40}}, rotation= 0))); - Modelica.Blocks.Sources.Constant Constant2[3](k={100,100,100}) + Modelica.Blocks.Sources.Constant Constant2[3](k={100,100,100}) annotation (Placement(transformation(extent={{100,20},{80,40}}, rotation=0))); Parts.Fixed fixed1(r={0,0.5,0}) annotation (Placement(transformation( extent={{-80,60},{-60,80}}, rotation=0))); Joints.Revolute Revolute3 annotation (Placement(transformation(extent={{ -50,-100},{-30,-80}}, rotation=0))); - Parts.BodyCylinder BodyCylinder3(r={1,0,0}) + Parts.BodyCylinder BodyCylinder3(r={1,0,0}) annotation (Placement(transformation(extent={{0,-60},{20,-40}}, rotation=0))); - Modelica.Blocks.Sources.Constant Constant4[6](k={0,500,0,100,100,100}) + Modelica.Blocks.Sources.Constant Constant4[6](k={0,500,0,100,100,100}) annotation (Placement(transformation(extent={{100,-60},{80,-40}}, rotation=0))); Parts.Fixed fixed3(r={0,-1,0}) annotation (Placement(transformation( extent={{-80,-100},{-60,-80}}, rotation=0))); - Joints.Revolute Revolute4(n={0,1,0}) + Joints.Revolute Revolute4(n={0,1,0}) annotation (Placement(transformation( origin={-10,-70}, extent={{-10,-10},{10,10}}, rotation=90))); ObsoleteModelica3.Mechanics.MultiBody.Forces.WorldForceAndTorque - ForceTorque( N_to_m=600, Nm_to_m=200) + ForceTorque( N_to_m=600, Nm_to_m=200) annotation (Placement(transformation(extent={{60,-60},{40,-40}}, rotation=0))); equation - connect(BodyCylinder1.frame_a, Revolute1.frame_b) + connect(BodyCylinder1.frame_a, Revolute1.frame_b) annotation (Line(points={{0,70},{-20,70}})); - connect(worldForce.frame_b, BodyCylinder1.frame_b) + connect(worldForce.frame_b, BodyCylinder1.frame_b) annotation (Line(points={{40,70},{20,70}})); - connect(fixed2.frame_b, Revolute2.frame_a) + connect(fixed2.frame_b, Revolute2.frame_a) annotation (Line(points={{-60,-10},{-30,-10},{-30,0}})); - connect(BodyCylinder2.frame_a, Revolute2.frame_b) + connect(BodyCylinder2.frame_a, Revolute2.frame_b) annotation (Line(points={{0,30},{-30,30},{-30,20}})); - connect(worldTorque1.frame_b, BodyCylinder2.frame_b) + connect(worldTorque1.frame_b, BodyCylinder2.frame_b) annotation (Line(points={{40,30},{20,30}})); - connect(fixed1.frame_b, Revolute1.frame_a) + connect(fixed1.frame_b, Revolute1.frame_a) annotation (Line(points={{-60,70},{-40,70}})); - connect(fixed3.frame_b, Revolute3.frame_a) + connect(fixed3.frame_b, Revolute3.frame_a) annotation (Line(points={{-60,-90},{-50,-90}})); - connect(Revolute3.frame_b, Revolute4.frame_a) + connect(Revolute3.frame_b, Revolute4.frame_a) annotation (Line(points={{-30,-90},{-10,-90},{-10,-80}})); - connect(ForceTorque.frame_b, BodyCylinder3.frame_b) + connect(ForceTorque.frame_b, BodyCylinder3.frame_b) annotation (Line(points={{40,-50},{20,-50}})); - connect(Revolute4.frame_b, BodyCylinder3.frame_a) + connect(Revolute4.frame_b, BodyCylinder3.frame_a) annotation (Line(points={{-10,-60},{-10,-50},{0,-50}})); connect(Constant4.y, ForceTorque.load) annotation (Line( points={{79,-50},{62,-50}}, @@ -2367,7 +2367,7 @@ a linear damper is connected here. model Revolute inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow axis( @@ -2384,28 +2384,28 @@ a linear damper is connected here. w(fixed=true)) annotation (Placement(transformation(extent={{ -22,20},{-2,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body( - animation=false) + animation=false) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( - color_x={0,128,255}) + color_x={0,128,255}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={10,-10}, extent={{-10,-10},{10,10}}, rotation=270))); equation - connect(world.frame_b, revolute.frame_a) + connect(world.frame_b, revolute.frame_a) annotation (Line( points={{-40,30},{-22,30}}, color={0,0,0}, thickness=0.5)); - connect(revolute.frame_b, body.frame_a) + connect(revolute.frame_b, body.frame_a) annotation (Line( points={{-2,30},{20,30}}, color={0,0,0}, @@ -2431,7 +2431,7 @@ a linear damper is connected here. inner Modelica.Mechanics.MultiBody.World world( gravityType=Modelica.Mechanics.MultiBody.Types. - GravityTypes.UniformGravity) + GravityTypes.UniformGravity) annotation (Placement(transformation(extent={{-80,0}, {-60,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute rev( @@ -2442,7 +2442,7 @@ a linear damper is connected here. w(fixed=true)) annotation (Placement(transformation( extent={{-40,0},{-20,20}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Damper damper( - d=0.1) + d=0.1) annotation (Placement(transformation(extent={{-40,40},{-20,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyShape body( @@ -2451,20 +2451,20 @@ a linear damper is connected here. m=1) annotation (Placement(transformation(extent={{0,0},{20,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed fixed( - r={1,0.2,0}, width=0.02) + r={1,0.2,0}, width=0.02) annotation (Placement(transformation( origin={50,70}, extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Forces.Spring spring( - s_unstretched=0.1, c(fixed=false) = 100) + s_unstretched=0.1, c(fixed=false) = 100) annotation (Placement(transformation( origin={50,30}, extent={{-10,-10},{10,10}}, rotation=270))); equation - connect(world.frame_b, rev.frame_a) + connect(world.frame_b, rev.frame_a) annotation (Line( points={{-60,10},{-40,10}}, color={0,0,0}, @@ -2473,17 +2473,17 @@ a linear damper is connected here. 50},{-16,26},{-30,26},{-30,20}}, color={0,0,0})); connect(rev.support, damper.flange_a) annotation (Line(points={{-36,20},{ -36,26},{-48,26},{-48,50},{-40,50}}, color={0,0,0})); - connect(rev.frame_b, body.frame_a) + connect(rev.frame_b, body.frame_a) annotation (Line( points={{-20,10},{0,10}}, color={0,0,0}, thickness=0.5)); - connect(fixed.frame_b, spring.frame_a) + connect(fixed.frame_b, spring.frame_a) annotation (Line( points={{50,60},{50,40}}, color={0,0,0}, thickness=0.5)); - connect(body.frame_b, spring.frame_b) + connect(body.frame_b, spring.frame_b) annotation (Line( points={{20,10},{50,10},{50,20}}, color={0,0,0}, @@ -2496,7 +2496,7 @@ a linear damper is connected here. model Prismatic inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow axis( @@ -2509,32 +2509,32 @@ a linear damper is connected here. n={1,1,0}, a(fixed=false), s(fixed=true, start=0.3), - v(fixed=true)) + v(fixed=true)) annotation (Placement(transformation(extent={{-20,20},{0,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body( - animation=false) + animation=false) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( - color_x={0,128,255}) + color_x={0,128,255}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={10,-10}, extent={{-10,-10},{10,10}}, rotation=270))); equation - connect(world.frame_b, prismatic.frame_a) + connect(world.frame_b, prismatic.frame_a) annotation (Line( points={{-40,30},{-20,30}}, color={0,0,0}, thickness=0.5)); - connect(prismatic.frame_b, body.frame_a) + connect(prismatic.frame_b, body.frame_a) annotation (Line( points={{0,30},{20,30}}, color={0,0,0}, @@ -2557,7 +2557,7 @@ a linear damper is connected here. model Cylindrical inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow axis( @@ -2574,32 +2574,32 @@ a linear damper is connected here. s(fixed=true, start=0.3), v(fixed=true), w(fixed=true), - wd(fixed=false)) + wd(fixed=false)) annotation (Placement(transformation(extent={{-22,20},{-2, 40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body( - animation=false) + animation=false) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( - color_x={0,128,255}) + color_x={0,128,255}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={10,-10}, extent={{-10,-10},{10,10}}, rotation=270))); equation - connect(world.frame_b, cylindrical.frame_a) + connect(world.frame_b, cylindrical.frame_a) annotation (Line( points={{-40,30},{-22,30}}, color={0,0,0}, thickness=0.5)); - connect(cylindrical.frame_b, body.frame_a) + connect(cylindrical.frame_b, body.frame_a) annotation (Line( points={{-2,30},{20,30}}, color={0,0,0}, @@ -2624,7 +2624,7 @@ a linear damper is connected here. model Universal inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow axis2( @@ -2646,17 +2646,17 @@ a linear damper is connected here. w_b(fixed=true)) annotation (Placement(transformation(extent={{-24, 20},{-4,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body( - animation=false) + animation=false) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( - color_x={0,128,255}) + color_x={0,128,255}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={10,-10}, extent={{-10,-10},{10,10}}, @@ -2669,12 +2669,12 @@ a linear damper is connected here. animation=false) annotation (Placement(transformation(extent={{-34,60}, {-14,80}}, rotation=0))); equation - connect(world.frame_b, universal.frame_a) + connect(world.frame_b, universal.frame_a) annotation (Line( points={{-40,30},{-24,30}}, color={0,0,0}, thickness=0.5)); - connect(universal.frame_b, body.frame_a) + connect(universal.frame_b, body.frame_a) annotation (Line( points={{-4,30},{20,30}}, color={0,0,0}, @@ -2701,7 +2701,7 @@ a linear damper is connected here. model Planar inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow axis2( @@ -2724,21 +2724,21 @@ a linear damper is connected here. v_x(fixed=true), v_y(fixed=true), w(fixed=true), - wd(fixed=false)) + wd(fixed=false)) annotation (Placement(transformation(extent={{-22,20},{-2,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body( - animation=false) + animation=false) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( - color_x={0,128,255}) + color_x={0,128,255}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={10,-10}, extent={{-10,-10},{10,10}}, @@ -2751,12 +2751,12 @@ a linear damper is connected here. r_tail={0,0,0.5}) annotation (Placement(transformation(extent={{-34,60}, {-14,80}}, rotation=0))); equation - connect(world.frame_b, planar.frame_a) + connect(world.frame_b, planar.frame_a) annotation (Line( points={{-40,30},{-22,30}}, color={0,0,0}, thickness=0.5)); - connect(planar.frame_b, body.frame_a) + connect(planar.frame_b, body.frame_a) annotation (Line( points={{-2,30},{20,30}}, color={0,0,0}, @@ -2785,40 +2785,40 @@ a linear damper is connected here. model Spherical inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Spherical spherical( angles_start={0.7853981633974483,0.7853981633974483,0.7853981633974483}, angles_fixed=true, w_rel_a_fixed=true, - z_rel_a_fixed=false) + z_rel_a_fixed=false) annotation (Placement(transformation(extent={{-22,20},{-2,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body( - animation=false) + animation=false) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( - color_x={0,128,255}) + color_x={0,128,255}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={10,-10}, extent={{-10,-10},{10,10}}, rotation=270))); equation - connect(world.frame_b, spherical.frame_a) + connect(world.frame_b, spherical.frame_a) annotation (Line( points={{-40,30},{-22,30}}, color={0,0,0}, thickness=0.5)); - connect(spherical.frame_b, body.frame_a) + connect(spherical.frame_b, body.frame_a) annotation (Line( points={{-2,30},{20,30}}, color={0,0,0}, @@ -2837,7 +2837,7 @@ a linear damper is connected here. model FreeMotion inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.FreeMotion freeMotion( @@ -2851,28 +2851,30 @@ a linear damper is connected here. {{-22,20},{-2,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body( - animation=false) + animation=false, + r_CM={0,0,0}, + m=1) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( - color_x={0,128,255}) + color_x={0,128,255}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={10,-10}, extent={{-10,-10},{10,10}}, rotation=270))); equation - connect(world.frame_b, freeMotion.frame_a) + connect(world.frame_b, freeMotion.frame_a) annotation (Line( points={{-40,30},{-22,30}}, color={0,0,0}, thickness=0.5)); - connect(freeMotion.frame_b, body.frame_a) + connect(freeMotion.frame_b, body.frame_a) annotation (Line( points={{-2,30},{20,30}}, color={0,0,0}, @@ -2890,10 +2892,177 @@ a linear damper is connected here. experiment(StopTime=1.1)); end FreeMotion; + model FreeMotionScalarInit + + inner Modelica.Mechanics.MultiBody.World world( + animateWorld=false, animateGravity=false) + annotation (Placement(transformation(extent={{-60,20},{-40,40}}, + rotation=0))); + Modelica.Mechanics.MultiBody.Joints.FreeMotionScalarInit + freeMotionScalarInit( + use_angle=true, + use_r=true, + r_rel_a_1(start=0.5, fixed=true), + r_rel_a_2(start=0.4, fixed=true), + r_rel_a_3(start=0, fixed=true), + r_rel_a_1_stateSelect=StateSelect.always, + r_rel_a_2_stateSelect=StateSelect.always, + r_rel_a_3_stateSelect=StateSelect.always, + use_v=true, + v_rel_a_1(fixed=true), + v_rel_a_2(fixed=true), + v_rel_a_3(fixed=true), + v_rel_a_1_stateSelect=StateSelect.always, + v_rel_a_2_stateSelect=StateSelect.always, + v_rel_a_3_stateSelect=StateSelect.always, + angle_1(start=0.78539816339745, fixed=true), + angle_2(start=0.78539816339745, fixed=true), + angle_3(start=0.78539816339745, fixed=true), + angle_1_stateSelect=StateSelect.always, + angle_2_stateSelect=StateSelect.always, + angle_3_stateSelect=StateSelect.always, + use_angle_d=true, + angle_d_1(fixed=true), + angle_d_2(fixed=true), + angle_d_3(fixed=true), + angle_d_1_stateSelect=StateSelect.always, + angle_d_2_stateSelect=StateSelect.always, + angle_d_3_stateSelect=StateSelect.always) + annotation (Placement(transformation(extent= + {{-22,20},{-2,40}}, rotation=0))); + + Modelica.Mechanics.MultiBody.Parts.Body body( + animation=false, + r_CM={0,0,0}, + m=1) + annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= + 0))); + Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( + color_x={0,128,255}) + annotation (Placement(transformation( + origin={-30,-10}, + extent={{-10,-10},{10,10}}, + rotation=270))); + Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( + color_x={0,0,200}) + annotation (Placement(transformation( + origin={10,-10}, + extent={{-10,-10},{10,10}}, + rotation=270))); + equation + connect(world.frame_b, freeMotionScalarInit.frame_a) + annotation (Line( + points={{-40,30},{-22,30}}, + color={0,0,0}, + thickness=0.5)); + connect(freeMotionScalarInit.frame_b, body.frame_a) + annotation (Line( + points={{-2,30},{20,30}}, + color={0,0,0}, + thickness=0.5)); + connect(frame_a.frame_a, freeMotionScalarInit.frame_a) + annotation (Line( + points={{-30,0},{-30,30},{-22,30}}, + color={0,0,0}, + thickness=0.5)); + connect(frame_a1.frame_a, freeMotionScalarInit.frame_b) + annotation (Line( + points={{10,0},{12,0},{12,30},{-2,30}}, + color={0,0,0}, + thickness=0.5)); + annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{ + -100,-100},{100,100}}), graphics), + experiment(StopTime=1.1)); + end FreeMotionScalarInit; + + model FreeMotionScalarInit2 + + inner Modelica.Mechanics.MultiBody.World world( + animateWorld=false, animateGravity=false) + annotation (Placement(transformation(extent={{-60,20},{-40,40}}, + rotation=0))); + Modelica.Mechanics.MultiBody.Joints.FreeMotionScalarInit + freeMotionScalarInit( + use_angle=true, + use_r=true, + r_rel_a_1(start=0.5, fixed=true), + r_rel_a_2(start=0.4, fixed=true), + r_rel_a_3(start=0, fixed=true), + r_rel_a_1_stateSelect=StateSelect.always, + r_rel_a_2_stateSelect=StateSelect.always, + r_rel_a_3_stateSelect=StateSelect.always, + use_v=true, + v_rel_a_1(fixed=true), + v_rel_a_2(fixed=true), + v_rel_a_3(fixed=true), + v_rel_a_1_stateSelect=StateSelect.always, + v_rel_a_2_stateSelect=StateSelect.always, + v_rel_a_3_stateSelect=StateSelect.always, + angle_1_stateSelect=StateSelect.always, + angle_2_stateSelect=StateSelect.always, + angle_3_stateSelect=StateSelect.always, + use_angle_d=false, + use_w=true, + w_rel_b_1(fixed=true), + w_rel_b_2(fixed=true), + w_rel_b_3(fixed=true), + w_rel_b_1_stateSelect=StateSelect.always, + w_rel_b_2_stateSelect=StateSelect.always, + w_rel_b_3_stateSelect=StateSelect.always, + angle_1(start=0.78539816339745, fixed=true), + angle_2(start=0.78539816339745, fixed=true), + angle_3(start=0.78539816339745, fixed=true)) + annotation (Placement(transformation(extent= + {{-22,20},{-2,40}}, rotation=0))); + + Modelica.Mechanics.MultiBody.Parts.Body body( + animation=false, + r_CM={0,0,0}, + m=1) + annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= + 0))); + Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( + color_x={0,128,255}) + annotation (Placement(transformation( + origin={-30,-10}, + extent={{-10,-10},{10,10}}, + rotation=270))); + Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a1( + color_x={0,0,200}) + annotation (Placement(transformation( + origin={10,-10}, + extent={{-10,-10},{10,10}}, + rotation=270))); + equation + connect(world.frame_b, freeMotionScalarInit.frame_a) + annotation (Line( + points={{-40,30},{-22,30}}, + color={0,0,0}, + thickness=0.5)); + connect(freeMotionScalarInit.frame_b, body.frame_a) + annotation (Line( + points={{-2,30},{20,30}}, + color={0,0,0}, + thickness=0.5)); + connect(frame_a.frame_a, freeMotionScalarInit.frame_a) + annotation (Line( + points={{-30,0},{-30,30},{-22,30}}, + color={0,0,0}, + thickness=0.5)); + connect(frame_a1.frame_a, freeMotionScalarInit.frame_b) + annotation (Line( + points={{10,0},{12,0},{12,30},{-2,30}}, + color={0,0,0}, + thickness=0.5)); + annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{ + -100,-100},{100,100}}), graphics), + experiment(StopTime=1.1)); + end FreeMotionScalarInit2; + model SphericalSpherical inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.SphericalSpherical sphericalSpherical( @@ -2901,19 +3070,19 @@ a linear damper is connected here. *{1,0.2,0}, m=1) annotation (Placement(transformation(extent={{-20, 20},{0,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Prismatic Prismatic1( - animation=false) + animation=false) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - r={1,0.2,0}, animation=false) + r={1,0.2,0}, animation=false) annotation (Placement(transformation(extent={{80,20},{60,40}}, rotation= 0))); equation - connect(world.frame_b, sphericalSpherical.frame_a) + connect(world.frame_b, sphericalSpherical.frame_a) annotation (Line(points={{-40,30},{-20,30}}, color={0,0,0})); - connect(sphericalSpherical.frame_b, Prismatic1.frame_a) + connect(sphericalSpherical.frame_b, Prismatic1.frame_a) annotation (Line(points={{0,30},{20,30}}, color={0,0,0})); - connect(Prismatic1.frame_b, Fixed1.frame_b) + connect(Prismatic1.frame_b, Fixed1.frame_b) annotation (Line(points={{40,30},{60,30}}, color={0,0,0})); annotation (experiment(StopTime=1.1)); end SphericalSpherical; @@ -2923,11 +3092,11 @@ a linear damper is connected here. parameter Real rRod1_ia[3]={1,0.3,0}; parameter Real rRod2_ib[3]={-0.5,0.2,0}; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - animation=false, r={1.7,0.1,0}) + animation=false, r={1.7,0.1,0}) annotation (Placement(transformation(extent={{40,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUSP jointUSP( @@ -2952,7 +3121,7 @@ a linear damper is connected here. n=rRod1_ia, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod1_ia)) + rRod1_ia)) annotation (Placement(transformation(extent={{-20,-20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow rRod2( @@ -2961,7 +3130,7 @@ a linear damper is connected here. n=rRod2_ib, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod2_ib)) + rRod2_ib)) annotation (Placement(transformation(extent={{40,-20},{20,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow prism( @@ -2972,9 +3141,9 @@ a linear damper is connected here. length=0.2) annotation (Placement(transformation(extent={{0,-60},{-20, -40}}, rotation=0))); equation - connect(world.frame_b, jointUSP.frame_a) + connect(world.frame_b, jointUSP.frame_a) annotation (Line(points={{-40,30},{-20,30}}, color={0,0,0})); - connect(jointUSP.frame_b, Fixed1.frame_b) + connect(jointUSP.frame_b, Fixed1.frame_b) annotation (Line(points={{0,30},{20,30}}, color={0,0,0})); connect(jointUSP.frame_a, n1_a.frame_a) annotation (Line(points={{-20,30}, {-32,30},{-32,54},{-50,54},{-50,70},{-46,70}}, color={0,0,0})); @@ -2984,7 +3153,7 @@ a linear damper is connected here. 40},{-26,40},{-26,-10},{-20,-10}}, color={0,0,0})); connect(rRod2.frame_a, jointUSP.frame_ib) annotation (Line(points={{40, -10},{56,-10},{56,58},{-2,58},{-2,40}}, color={0,0,0})); - connect(prism.frame_a, jointUSP.frame_b) + connect(prism.frame_a, jointUSP.frame_b) annotation (Line(points={{0,-50},{10,-50},{10,30},{0,30}}, color={0,0,0})); annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{ -100,-100},{100,100}}), graphics), @@ -2996,15 +3165,15 @@ a linear damper is connected here. parameter Real rRod1_ia[3]={1,0.3,0}; parameter Real rRod2_ib[3]={-0.5,0.2,0}; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - animation=false, r={1.7,0.1,0}) + animation=false, r={1.7,0.1,0}) annotation (Placement(transformation(extent={{40,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUPS jointUPS( - nAxis_ia=rRod1_ia) + nAxis_ia=rRod1_ia) annotation (Placement(transformation(extent={{-20,20},{0,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow n1_a( @@ -3025,13 +3194,13 @@ a linear damper is connected here. n=rRod1_ia, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod1_ia)) + rRod1_ia)) annotation (Placement(transformation(extent={{-20,-20},{0,0}}, rotation= 0))); equation - connect(world.frame_b, jointUPS.frame_a) + connect(world.frame_b, jointUPS.frame_a) annotation (Line(points={{-40,30},{-20,30}}, color={0,0,0})); - connect(jointUPS.frame_b, Fixed1.frame_b) + connect(jointUPS.frame_b, Fixed1.frame_b) annotation (Line(points={{0,30},{20,30}}, color={0,0,0})); connect(jointUPS.frame_a, n1_a.frame_a) annotation (Line(points={{-20,30}, {-32,30},{-32,54},{-50,54},{-50,70},{-46,70}}, color={0,0,0})); @@ -3051,11 +3220,11 @@ a linear damper is connected here. rRod1_ia); parameter Real rRod2_ib[3]={-0.5,0.2,0}; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - animation=false, r={1.5,0.1,0}) + animation=false, r={1.5,0.1,0}) annotation (Placement(transformation(extent={{40,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointSSR jointSSR( @@ -3079,13 +3248,13 @@ a linear damper is connected here. n={0,0,1}) annotation (Placement(transformation(extent={{0,-60},{-20, -40}}, rotation=0))); equation - connect(world.frame_b, jointSSR.frame_a) + connect(world.frame_b, jointSSR.frame_a) annotation (Line(points={{-40,30},{-20,30}}, color={0,0,0})); - connect(jointSSR.frame_b, Fixed1.frame_b) + connect(jointSSR.frame_b, Fixed1.frame_b) annotation (Line(points={{0,30},{20,30}}, color={0,0,0})); connect(rRod2.frame_a, jointSSR.frame_ib) annotation (Line(points={{40, -10},{56,-10},{56,58},{-2,58},{-2,40}}, color={0,0,0})); - connect(prism.frame_a, jointSSR.frame_b) + connect(prism.frame_a, jointSSR.frame_b) annotation (Line(points={{0,-50},{10,-50},{10,30},{0,30}}, color={0,0,0})); annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{ -100,-100},{100,100}}), graphics), @@ -3097,11 +3266,11 @@ a linear damper is connected here. parameter Real rRod1_ia[3]={1,0.3,0}; parameter Real rRod2_ib[3]={-0.5,0.2,0}; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - animation=false, r={1.5,0.1,0}) + animation=false, r={1.5,0.1,0}) annotation (Placement(transformation(extent={{40,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUSR jointUSR( @@ -3126,7 +3295,7 @@ a linear damper is connected here. n=rRod1_ia, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod1_ia)) + rRod1_ia)) annotation (Placement(transformation(extent={{-20,-20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow rRod2( @@ -3135,7 +3304,7 @@ a linear damper is connected here. n=rRod2_ib, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod2_ib)) + rRod2_ib)) annotation (Placement(transformation(extent={{40,-20},{20,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow prism( @@ -3145,9 +3314,9 @@ a linear damper is connected here. length=0.3) annotation (Placement(transformation(extent={{0,-60},{-20, -40}}, rotation=0))); equation - connect(world.frame_b, jointUSR.frame_a) + connect(world.frame_b, jointUSR.frame_a) annotation (Line(points={{-40,30},{-20,30}}, color={0,0,0})); - connect(jointUSR.frame_b, Fixed1.frame_b) + connect(jointUSR.frame_b, Fixed1.frame_b) annotation (Line(points={{0,30},{20,30}}, color={0,0,0})); connect(jointUSR.frame_a, n1_a.frame_a) annotation (Line(points={{-20,30}, {-32,30},{-32,54},{-50,54},{-50,70},{-46,70}}, color={0,0,0})); @@ -3157,7 +3326,7 @@ a linear damper is connected here. 40},{-26,40},{-26,-10},{-20,-10}}, color={0,0,0})); connect(rRod2.frame_a, jointUSR.frame_ib) annotation (Line(points={{40, -10},{56,-10},{56,58},{-2,58},{-2,40}}, color={0,0,0})); - connect(prism.frame_a, jointUSR.frame_b) + connect(prism.frame_a, jointUSR.frame_b) annotation (Line(points={{0,-50},{10,-50},{10,30},{0,30}}, color={0,0,0})); annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{ -100,-100},{100,100}}), graphics), @@ -3169,11 +3338,11 @@ a linear damper is connected here. parameter Real rRod1_ia[3]={1,0.3,0}; parameter Real rRod2_ib[3]={-0.5,0.2,0}; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - animation=false, r={1.5,0.1,0}) + animation=false, r={1.5,0.1,0}) annotation (Placement(transformation(extent={{40,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointRRR jointRRR( @@ -3192,7 +3361,7 @@ a linear damper is connected here. n=rRod1_ia, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod1_ia)) + rRod1_ia)) annotation (Placement(transformation(extent={{-20,-20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow rRod2( @@ -3201,7 +3370,7 @@ a linear damper is connected here. n=rRod2_ib, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod2_ib)) + rRod2_ib)) annotation (Placement(transformation(extent={{40,-20},{20,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow prism( @@ -3217,9 +3386,9 @@ a linear damper is connected here. color={255,0,0}) annotation (Placement(transformation(extent={{-10,66}, {10,86}}, rotation=0))); equation - connect(world.frame_b, jointRRR.frame_a) + connect(world.frame_b, jointRRR.frame_a) annotation (Line(points={{-40,30},{-20,30}}, color={0,0,0})); - connect(jointRRR.frame_b, Fixed1.frame_b) + connect(jointRRR.frame_b, Fixed1.frame_b) annotation (Line(points={{0,30},{20,30}}, color={0,0,0})); connect(jointRRR.frame_a, n1_a.frame_a) annotation (Line(points={{-20,30}, {-32,30},{-32,54},{-50,54},{-50,70},{-46,70}}, color={0,0,0})); @@ -3227,7 +3396,7 @@ a linear damper is connected here. 40},{-26,40},{-26,-10},{-20,-10}}, color={0,0,0})); connect(rRod2.frame_a, jointRRR.frame_ib) annotation (Line(points={{40, -10},{56,-10},{56,58},{-2,58},{-2,40}}, color={0,0,0})); - connect(prism.frame_a, jointRRR.frame_b) + connect(prism.frame_a, jointRRR.frame_b) annotation (Line(points={{0,-50},{10,-50},{10,30},{0,30}}, color={0,0,0})); connect(n1_a1.frame_a, jointRRR.frame_im) annotation (Line( points={{-10,76},{-10,76},{-10,40}}, @@ -3241,11 +3410,11 @@ a linear damper is connected here. parameter Real rRod1_ia[3]={1,0.3,0}; parameter Real rRod2_ib[3]={-0.5,0.2,0}; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - animation=false, r={1.7,0.1,0}) + animation=false, r={1.7,0.1,0}) annotation (Placement(transformation(extent={{40,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointRRP jointRRP( @@ -3270,7 +3439,7 @@ a linear damper is connected here. n=rRod1_ia, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod1_ia)) + rRod1_ia)) annotation (Placement(transformation(extent={{-20,-20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow rRod2( @@ -3279,7 +3448,7 @@ a linear damper is connected here. n=rRod2_ib, color={0,0,0}, length=Modelica.Math.Vectors.length( - rRod2_ib)) + rRod2_ib)) annotation (Placement(transformation(extent={{40,-20},{20,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow prism( @@ -3290,9 +3459,9 @@ a linear damper is connected here. length=0.4) annotation (Placement(transformation(extent={{0,-60},{-20, -40}}, rotation=0))); equation - connect(world.frame_b, jointRRP.frame_a) + connect(world.frame_b, jointRRP.frame_a) annotation (Line(points={{-40,30},{-20,30}}, color={0,0,0})); - connect(jointRRP.frame_b, Fixed1.frame_b) + connect(jointRRP.frame_b, Fixed1.frame_b) annotation (Line(points={{0,30},{20,30}}, color={0,0,0})); connect(jointRRP.frame_a, n1_a.frame_a) annotation (Line(points={{-20,30}, {-32,30},{-32,54},{-50,54},{-50,70},{-46,70}}, color={0,0,0})); @@ -3300,7 +3469,7 @@ a linear damper is connected here. 40},{-26,40},{-26,-10},{-20,-10}}, color={0,0,0})); connect(rRod2.frame_a, jointRRP.frame_ib) annotation (Line(points={{40, -10},{56,-10},{56,58},{-2,58},{-2,40}}, color={0,0,0})); - connect(prism.frame_a, jointRRP.frame_b) + connect(prism.frame_a, jointRRP.frame_b) annotation (Line(points={{0,-50},{10,-50},{10,30},{0,30}}, color={0,0,0})); connect(jointRRP.frame_im, n2_ia.frame_a) annotation (Line( points={{-10,40},{-10,55.5},{-20,55.5},{-20,70}}, @@ -3316,11 +3485,11 @@ a linear damper is connected here. rRod1_ia); parameter Real rRod2_ib[3]={-0.52,0.2,0}; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - animation=false, r={1.5,0.1,0}) + animation=false, r={1.5,0.1,0}) annotation (Placement(transformation(extent={{40,20},{20,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Assemblies.JointSSP jointSSP( @@ -3345,13 +3514,13 @@ a linear damper is connected here. n={0,0,1}) annotation (Placement(transformation(extent={{0,-60},{-20, -40}}, rotation=0))); equation - connect(world.frame_b, jointSSP.frame_a) + connect(world.frame_b, jointSSP.frame_a) annotation (Line(points={{-40,30},{-20,30}}, color={0,0,0})); - connect(jointSSP.frame_b, Fixed1.frame_b) + connect(jointSSP.frame_b, Fixed1.frame_b) annotation (Line(points={{0,30},{20,30}}, color={0,0,0})); connect(rRod2.frame_a, jointSSP.frame_ib) annotation (Line(points={{40, -10},{56,-10},{56,58},{-2,58},{-2,40}}, color={0,0,0})); - connect(prism.frame_a, jointSSP.frame_b) + connect(prism.frame_a, jointSSP.frame_b) annotation (Line(points={{0,-50},{10,-50},{10,30},{0,30}}, color={0,0,0})); annotation (experiment(StopTime=1.1)); end JointSSP; @@ -3368,21 +3537,21 @@ a linear damper is connected here. parameter SI.Diameter diameter=length/30 "Diameter of frame axes"; Modelica.Mechanics.MultiBody.Frames.Orientation R; Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation( - r={1,0.5,0}) + r={1,0.5,0}) annotation (Placement(transformation(extent={{-40,40},{-20,60}}, rotation=0))); - Visualizers.FixedFrame frameT1(length=length, diameter=diameter) + Visualizers.FixedFrame frameT1(length=length, diameter=diameter) annotation (Placement(transformation(extent={{-60,60},{-80,80}}, rotation=0))); - Visualizers.FixedFrame frameT2(length=length, diameter=diameter) + Visualizers.FixedFrame frameT2(length=length, diameter=diameter) annotation (Placement(transformation(extent={{0,40},{20,60}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.Fixed fixed1( - animation=false) + animation=false) annotation (Placement(transformation(extent={{-80,20},{-60,40}}, rotation=0))); inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, gravityType=0) + animateWorld=false, gravityType=0) annotation (Placement(transformation(extent={{20,0},{40,20}}, rotation= 0))); Modelica.Mechanics.MultiBody.Visualizers.FixedArrow arrow( @@ -3394,13 +3563,13 @@ a linear damper is connected here. -20,40}}, rotation=0))); equation R = Modelica.Mechanics.MultiBody.Frames.nullRotation(); - connect(frameT1.frame_a, fixedTranslation.frame_a) + connect(frameT1.frame_a, fixedTranslation.frame_a) annotation (Line(points={{-60,70},{-50,70},{-50,50},{-40,50}})); - connect(fixed1.frame_b, fixedTranslation.frame_a) + connect(fixed1.frame_b, fixedTranslation.frame_a) annotation (Line(points={{-60,30},{-50,30},{-50,50},{-40,50}})); - connect(fixedTranslation.frame_b, frameT2.frame_a) + connect(fixedTranslation.frame_b, frameT2.frame_a) annotation (Line(points={{-20,50},{0,50}})); - connect(arrow.frame_a, fixed1.frame_b) + connect(arrow.frame_a, fixed1.frame_b) annotation (Line( points={{-40,30},{-60,30}}, color={0,0,0}, @@ -3421,11 +3590,11 @@ a linear damper is connected here. import Modelica; extends Icons.Example; parameter Boolean animation=true "= true, if animation shall be enabled"; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-60,40},{-40,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation bar2( - r={0.8,0,0}, animation=false) + r={0.8,0,0}, animation=false) annotation (Placement(transformation(extent={{0,40},{20,60}}, rotation= 0))); Modelica.Mechanics.MultiBody.Forces.Spring spring1( @@ -3456,11 +3625,11 @@ a linear damper is connected here. extent={{-10,-10},{10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Joints.FreeMotion freeMotion( - arrowDiameter=0.04, r_rel_a(start={0.2,-0.5,0.1})) + arrowDiameter=0.04, r_rel_a(start={0.2,-0.5,0.1})) annotation (Placement(transformation(extent={{-30, -40},{-10,-20}}, rotation=0))); equation - connect(bar2.frame_a, world.frame_b) + connect(bar2.frame_a, world.frame_b) annotation (Line( points={{0,50},{-40,50}}, color={0,0,0}, @@ -3469,12 +3638,12 @@ a linear damper is connected here. points={{-24,16},{-24,-10},{0,-10}}, color={0,0,0}, thickness=0.5)); - connect(spring2.frame_b, body.frame_b) + connect(spring2.frame_b, body.frame_b) annotation (Line( points={{42,16},{20,-10}}, color={0,0,0}, thickness=0.5)); - connect(bar2.frame_b, spring2.frame_a) + connect(bar2.frame_b, spring2.frame_a) annotation (Line( points={{20,50},{42,50},{42,36}}, color={0,0,0}, @@ -3519,19 +3688,19 @@ often possible to use the FreeMotion joint such that the singularity model PointMass "Test Modelica.Mechanics.MultiBody.Parts.PointMass" extends Modelica.Icons.Example; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={{-60,20},{-40,40}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation(r={1,0,0}) annotation (Placement(transformation(extent={{20,20},{40,40}}, rotation= 0))); - Modelica.Mechanics.MultiBody.Parts.PointMass pointMass(m=5) + Modelica.Mechanics.MultiBody.Parts.PointMass pointMass(m=5) annotation (Placement(transformation(extent={{60,20},{80,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Revolute rev( a(fixed=false), phi(fixed=true), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{-20,20},{0,40}}, rotation= 0))); equation @@ -3561,7 +3730,7 @@ often possible to use the FreeMotion joint such that the singularity I_11=1, I_22=1, I_33=1, - r_0(start={0.8,0.2,0})) + r_0(start={0.8,0.2,0})) annotation (Placement(transformation(extent={{ -20,20},{0,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyShape bodyShape( @@ -3574,7 +3743,7 @@ often possible to use the FreeMotion joint such that the singularity width=0.05) annotation (Placement(transformation(extent={{-20,-20},{0,0}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox BodyBox1( - r={1,0,0}) + r={1,0,0}) annotation (Placement(transformation(extent={{-20,-60},{0,-40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder bodyCylinder( @@ -3582,15 +3751,15 @@ often possible to use the FreeMotion joint such that the singularity bodyCylinder.diameter/2) annotation (Placement(transformation( extent={{-20,-100},{0,-80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed3( - animation=false, r={0,-0.3,0}) + animation=false, r={0,-0.3,0}) annotation (Placement(transformation(extent={{-80,-20},{-60,0}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed4( - animation=false, r={0,-0.6,0}) + animation=false, r={0,-0.6,0}) annotation (Placement(transformation(extent={{-80,-60},{-60,-40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed5( - animation=false, r={0,-0.8,0}) + animation=false, r={0,-0.8,0}) annotation (Placement(transformation(extent={{-80,-100},{-60,-80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body1( @@ -3599,28 +3768,28 @@ often possible to use the FreeMotion joint such that the singularity I_22=1, I_33=1, r_CM={0.3,0,0}, - r_0(start={0.8,0.2,0})) + r_0(start={0.8,0.2,0})) annotation (Placement(transformation(extent={{-20,60},{ 0,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed1( - animation=false, r={0,0.2,0}) + animation=false, r={0,0.2,0}) annotation (Placement(transformation(extent={{-80,60},{-60,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Fixed Fixed2( - animation=false, r={0,0,0}) + animation=false, r={0,0,0}) annotation (Placement(transformation(extent={{-80,20},{-60,40}}, rotation=0))); inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{40,0},{60,20}}, rotation= 0))); equation - connect(Fixed3.frame_b, bodyShape.frame_a) + connect(Fixed3.frame_b, bodyShape.frame_a) annotation (Line(points={{-60,-10},{-20,-10}})); - connect(Fixed4.frame_b, BodyBox1.frame_a) + connect(Fixed4.frame_b, BodyBox1.frame_a) annotation (Line(points={{-60,-50},{-20,-50}})); - connect(Fixed5.frame_b, bodyCylinder.frame_a) + connect(Fixed5.frame_b, bodyCylinder.frame_a) annotation (Line(points={{-60,-90},{-20,-90}})); connect(Fixed1.frame_b, body1.frame_a) annotation (Line(points={{-60,70}, {-20,70}})); @@ -3637,7 +3806,7 @@ often possible to use the FreeMotion joint such that the singularity parameter Boolean animation=true "= true, if animation shall be enabled"; inner Modelica.Mechanics.MultiBody.World world annotation (Placement( transformation(extent={{-94,20},{-74,40}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.FixedTranslation bar2(r={0.8,0,0}, animation=false) + Modelica.Mechanics.MultiBody.Parts.FixedTranslation bar2(r={0.8,0,0}, animation=false) annotation (Placement(transformation(extent={{56,20},{76,40}},rotation=0))); Modelica.Mechanics.MultiBody.Forces.Spring spring1( width=0.1, @@ -3661,7 +3830,7 @@ often possible to use the FreeMotion joint such that the singularity w_0_fixed=true, enforceStates=true, m=1, - angles_start={0.17453292519943,0.17453292519943,0.17453292519943}) + angles_start={0.17453292519943,0.17453292519943,0.17453292519943}) annotation (Placement(transformation(extent={{56,-40},{76,-20}},rotation=0))); Modelica.Mechanics.MultiBody.Forces.Spring spring2( c=20, @@ -3748,20 +3917,20 @@ often possible to use the FreeMotion joint such that the singularity origin={16,-2}, extent={{-10,-10},{10,10}}, rotation=270))); - Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D + Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D annotation (Placement(transformation(extent={{-12,52},{8,72}}))); equation - connect(bar2.frame_a, world.frame_b) + connect(bar2.frame_a, world.frame_b) annotation (Line( points={{56,30},{12,30},{-74,30}}, color={95,95,95}, thickness=0.5)); - connect(spring1.frame_b, bodyShape.frame_a) + connect(spring1.frame_b, bodyShape.frame_a) annotation (Line( points={{36,-4},{36,-30},{56,-30}}, color={95,95,95}, thickness=0.5)); - connect(bar2.frame_b, spring2.frame_a) + connect(bar2.frame_b, spring2.frame_a) annotation (Line( points={{76,30},{96,30},{96,16}}, color={95,95,95}, @@ -3770,7 +3939,7 @@ often possible to use the FreeMotion joint such that the singularity points={{36,16},{36,30},{-74,30}}, color={95,95,95}, thickness=0.5)); - connect(bodyShape.frame_b, spring2.frame_b) + connect(bodyShape.frame_b, spring2.frame_b) annotation (Line( points={{76,-30},{96,-30},{96,-4}}, color={95,95,95}, @@ -3830,13 +3999,13 @@ often possible to use the FreeMotion joint such that the singularity package Rotor1D model Rotor1D_1 inner Modelica.Mechanics.MultiBody.World world(driveTrainMechanics3D= - true) + true) annotation (Placement(transformation(extent={{-100,20},{-80,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Spherical spherical1( angles_fixed=true, w_rel_a_fixed=true, - z_rel_a_fixed=false) + z_rel_a_fixed=false) annotation (Placement(transformation(extent={{-70,20},{-50,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder bodyCylinder1(r={0.25,0,0}, @@ -3849,7 +4018,7 @@ often possible to use the FreeMotion joint such that the singularity n={1,0,0}, a(fixed=false), phi(fixed=true), - w(fixed=true, start=8.726646259971648)) + w(fixed=true, start=8.726646259971648)) annotation (Placement(transformation(extent={{14,20},{34, 40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation(r={-0.1, @@ -3858,13 +4027,13 @@ often possible to use the FreeMotion joint such that the singularity Modelica.Mechanics.MultiBody.Parts.BodyCylinder bodyCylinder2(diameter= 0.1, r={0.2,0,0}) annotation (Placement(transformation(extent={{ 70,20},{90,40}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Fixed fixed + Modelica.Mechanics.MultiBody.Parts.Fixed fixed annotation (Placement(transformation(extent={{-100,-40},{-80,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Spherical spherical2( angles_fixed=true, w_rel_a_fixed=true, - z_rel_a_fixed=false) + z_rel_a_fixed=false) annotation (Placement(transformation(extent={{-70,-40},{-50,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder bodyCylinder3( @@ -3888,7 +4057,7 @@ often possible to use the FreeMotion joint such that the singularity n={1,0,0}, a(fixed=false), phi(fixed=true), - w(fixed=true, start=8.726646259971648)) + w(fixed=true, start=8.726646259971648)) annotation (Placement(transformation(extent={{28,-70},{48, -50}}, rotation=0))); equation @@ -3966,36 +4135,36 @@ often possible to use the FreeMotion joint such that the singularity shapeType="cylinder", width=0.1, animateSphere=false, - r_shape={0.1,0,0}) + r_shape={0.1,0,0}) annotation (Placement(transformation(extent={{-12,20},{8, 40}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute revolute(n={1,0,0}, a(fixed=false), phi(fixed=true), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{-46,20},{-26,40}}, rotation=0))); inner Modelica.Mechanics.MultiBody.World world(g=0, - driveTrainMechanics3D=true) + driveTrainMechanics3D=true) annotation (Placement(transformation(extent={{-80,20},{-60, 40}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Torque torque(resolveInFrame= - Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) + Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) annotation (Placement(transformation(extent={{-12,50},{8,70}}, rotation=0))); - Modelica.Blocks.Sources.Sine sine[3](amplitude={1,0,0}) + Modelica.Blocks.Sources.Sine sine[3](amplitude={1,0,0}) annotation (Placement(transformation(extent={{-100,80},{-80,100}}, rotation=0))); - inner Modelica.Mechanics.MultiBody.Parts.Fixed fixed + inner Modelica.Mechanics.MultiBody.Parts.Fixed fixed annotation (Placement(transformation(extent={{-82,-70},{-62, -50}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D(J=2) + Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D(J=2) annotation (Placement(transformation(extent={{-20,-20},{0,0}}, rotation=0))); - Modelica.Mechanics.Rotational.Sources.Torque torque1(useSupport=true) + Modelica.Mechanics.Rotational.Sources.Torque torque1(useSupport=true) annotation (Placement(transformation(extent={{-52,-20},{-32,0}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D + Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D annotation (Placement(transformation(extent={{-66,-40},{-46,-20}}, rotation=0))); equation @@ -4064,61 +4233,61 @@ often possible to use the FreeMotion joint such that the singularity shapeType="cylinder", width=0.1, animateSphere=false, - r_shape={0.1,0,0}) + r_shape={0.1,0,0}) annotation (Placement(transformation(extent={{50,0},{70,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute revolute(n={1,0,0}, a(fixed=false), phi(fixed=true), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{16,0},{36,20}}, rotation=0))); inner Modelica.Mechanics.MultiBody.World world(g=0, - driveTrainMechanics3D=true) + driveTrainMechanics3D=true) annotation (Placement(transformation(extent={{-84,0},{-64, 20}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Torque torque(resolveInFrame= - Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) + Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_resolve) annotation (Placement(transformation(extent={{50,30},{70,50}}, rotation=0))); - Modelica.Blocks.Sources.Sine sine1[3](amplitude={1,0,0}) + Modelica.Blocks.Sources.Sine sine1[3](amplitude={1,0,0}) annotation (Placement(transformation(extent={{16,60},{36,80}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D(J=2) + Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D(J=2) annotation (Placement(transformation(extent={{50,-46},{70,-26}}, rotation=0))); - Modelica.Mechanics.Rotational.Sources.Torque torque1(useSupport=true) + Modelica.Mechanics.Rotational.Sources.Torque torque1(useSupport=true) annotation (Placement(transformation(extent={{18,-46},{38,-26}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D + Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D annotation (Placement(transformation(extent={{4,-66},{24,-46}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute r1( n={0,1,0}, - useAxisFlange=true) + useAxisFlange=true) annotation (Placement(transformation(extent={{-32,0},{-12,20}}, rotation=0))); Modelica.Mechanics.Rotational.Sources.Position position1(useSupport= - true) + true) annotation (Placement(transformation(extent={{-46,50},{-26,70}}, rotation=0))); - Modelica.Blocks.Sources.Sine sine2(amplitude=2) + Modelica.Blocks.Sources.Sine sine2(amplitude=2) annotation (Placement(transformation(extent={{-100,50},{-80,70}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D1 + Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D1 annotation (Placement(transformation(extent={{-60,24},{-40,44}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute r2( n={0,1,0}, - useAxisFlange=true) + useAxisFlange=true) annotation (Placement(transformation(extent={{-38,-90},{-18,-70}}, rotation=0))); Modelica.Mechanics.Rotational.Sources.Position position2(useSupport= - true) + true) annotation (Placement(transformation(extent={{-52,-40},{-32,-20}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D2 + Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D2 annotation (Placement(transformation(extent={{-66,-66},{-46,-46}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Fixed fixed + Modelica.Mechanics.MultiBody.Parts.Fixed fixed annotation (Placement(transformation(extent={{-86,-90},{-66,-70}}, rotation=0))); equation @@ -4132,7 +4301,7 @@ often possible to use the FreeMotion joint such that the singularity color={95,95,95}, thickness=0.5, smooth=Smooth.None)); - connect(sine1.y, torque.torque) + connect(sine1.y, torque.torque) annotation (Line( points={{37,70},{54,70},{54,52}}, color={0,0,127}, @@ -4227,7 +4396,7 @@ often possible to use the FreeMotion joint such that the singularity 10) annotation (Placement(transformation(extent={{34,40},{54,60}}, rotation=0))); inner Modelica.Mechanics.MultiBody.World world( - g=0, driveTrainMechanics3D=true) + g=0, driveTrainMechanics3D=true) annotation (Placement(transformation(extent={{-62,10}, {-42,30}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyCylinder cyl1( @@ -4239,13 +4408,13 @@ often possible to use the FreeMotion joint such that the singularity diameter=0.2) annotation (Placement(transformation(extent={{70,40}, {90,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Forces.Torque torque1(resolveInFrame= - Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) + Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_b) annotation (Placement(transformation(extent={{-26,40},{-6,60}}, rotation=0))); - Modelica.Blocks.Sources.Sine sine[3](amplitude={2,0,0}) + Modelica.Blocks.Sources.Sine sine[3](amplitude={2,0,0}) annotation (Placement(transformation(extent={{-100,60},{-80,80}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Fixed fixed + Modelica.Mechanics.MultiBody.Parts.Fixed fixed annotation (Placement(transformation(extent={{-48,-90},{-28,-70}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Inertia inertia1( @@ -4256,17 +4425,17 @@ often possible to use the FreeMotion joint such that the singularity -40},{0,-20}}, rotation=0))); Modelica.Mechanics.Rotational.Components.IdealGear idealGear( ratio=10, useSupport= - true) + true) annotation (Placement(transformation(extent={{12,-40},{32,-20}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Inertia inertia2( - J=cyl2.I[1, 1]) + J=cyl2.I[1, 1]) annotation (Placement(transformation(extent={{44,-40},{64,-20}}, rotation=0))); - Modelica.Mechanics.Rotational.Sources.Torque torque2(useSupport=true) + Modelica.Mechanics.Rotational.Sources.Torque torque2(useSupport=true) annotation (Placement(transformation(extent={{-48,-40},{-28,-20}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D + Modelica.Mechanics.MultiBody.Parts.Mounting1D mounting1D annotation (Placement(transformation(extent={{-20,-70},{0,-50}}, rotation=0))); equation @@ -4346,7 +4515,7 @@ often possible to use the FreeMotion joint such that the singularity extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( gravityType=Modelica.Mechanics.MultiBody.Types. - GravityTypes.UniformGravity) + GravityTypes.UniformGravity) annotation (Placement(transformation(extent={{-80,0}, {-60,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute rev( @@ -4357,11 +4526,11 @@ often possible to use the FreeMotion joint such that the singularity w(fixed=true)) annotation (Placement(transformation(extent= {{-40,0},{-20,20}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Damper damper( - d=0.1) + d=0.1) annotation (Placement(transformation(extent={{-40,40},{-20,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox box( - r={1,0,0}, animation=false) + r={1,0,0}, animation=false) annotation (Placement(transformation(extent={{0,0},{20,20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.AbsoluteSensor sensor_frame_a1( @@ -4405,16 +4574,16 @@ often possible to use the FreeMotion joint such that the singularity {60,-60}}, rotation=0))); Modelica.Blocks.Math.Add err1[18]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{80,40},{100,60}}, rotation=0))); Modelica.Blocks.Math.Add err2[18]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{80,-40},{100,-20}}, rotation=0))); equation - connect(world.frame_b, rev.frame_a) + connect(world.frame_b, rev.frame_a) annotation (Line( points={{-60,10},{-40,10}}, color={0,0,0}, @@ -4423,7 +4592,7 @@ often possible to use the FreeMotion joint such that the singularity 50},{-16,26},{-30,26},{-30,20}}, color={0,0,0})); connect(rev.support, damper.flange_a) annotation (Line(points={{-36,20},{ -36,26},{-48,26},{-48,50},{-40,50}}, color={0,0,0})); - connect(rev.frame_b, box.frame_a) + connect(rev.frame_b, box.frame_a) annotation (Line( points={{-20,10},{0,10}}, color={0,0,0}, @@ -4444,16 +4613,16 @@ often possible to use the FreeMotion joint such that the singularity points={{20,10},{30,10},{30,-50},{40,-50}}, color={0,0,0}, thickness=0.5)); - connect(sensor_frame_a2.y,err1.u1) + connect(sensor_frame_a2.y,err1.u1) annotation (Line(points={{61,70},{68,70},{68,56},{78,56}}, color={0,0, 255})); - connect(sensor_frame_a1.y,err1.u2) + connect(sensor_frame_a1.y,err1.u2) annotation (Line(points={{61,32},{68,32},{68,44},{78,44}}, color={0,0, 255})); - connect(sensor_world1.y,err2.u1) + connect(sensor_world1.y,err2.u1) annotation (Line(points={{61,-10},{68,-10},{68,-24},{78,-24}}, color={0, 0,255})); - connect(sensor_world2.y,err2.u2) + connect(sensor_world2.y,err2.u2) annotation (Line(points={{61,-50},{70,-50},{70,-36},{78,-36}}, color={0, 0,255})); connect(sensor_world2.frame_resolve, world.frame_b) annotation (Line( @@ -4481,10 +4650,10 @@ often possible to use the FreeMotion joint such that the singularity model AbsoluteSensor2 extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=true, animateGravity=true) + animateWorld=true, animateGravity=true) annotation (Placement(transformation(extent={{-80,-20},{-60,0}}, rotation=0))); - ObsoleteModelica3.Mechanics.MultiBody.Sensors.AbsoluteSensor freeMotion + ObsoleteModelica3.Mechanics.MultiBody.Sensors.AbsoluteSensor freeMotion annotation (Placement(transformation(extent={{0,-20},{20,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation fixedRotation( @@ -4495,18 +4664,18 @@ often possible to use the FreeMotion joint such that the singularity animation=false) annotation (Placement(transformation(extent={{-40,-20}, {-20,0}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_a( - color_x={0,128,255}) + color_x={0,128,255}) annotation (Placement(transformation( origin={-10,-50}, extent={{-10,-10},{10,10}}, rotation=270))); equation - connect(world.frame_b, fixedRotation.frame_a) + connect(world.frame_b, fixedRotation.frame_a) annotation (Line( points={{-60,-10},{-40,-10}}, color={0,0,0}, thickness=0.5)); - connect(fixedRotation.frame_b, freeMotion.frame_a) + connect(fixedRotation.frame_b, freeMotion.frame_a) annotation (Line( points={{-20,-10},{0,-10}}, color={0,0,0}, @@ -4523,13 +4692,13 @@ often possible to use the FreeMotion joint such that the singularity model RelativeSensor import Modelica.Mechanics.MultiBody.*; extends Modelica.Icons.Example; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-100,20},{-80,40}}, rotation=0))); Joints.Revolute revolute( a(fixed=false), phi(fixed=true), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{-68,20},{-48,40}}, rotation=0))); Parts.BodyBox BodyBox1(r={0.7,0,0}) annotation (Placement(transformation( @@ -4567,7 +4736,7 @@ often possible to use the FreeMotion joint such that the singularity rotation=90))); Modelica.Blocks.Math.Add err1[18]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{80,0},{100,20}}, rotation= 0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.RelativeSensor relative_b2( @@ -4594,23 +4763,23 @@ often possible to use the FreeMotion joint such that the singularity rotation=90))); Modelica.Blocks.Math.Add err2[18]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{52,50},{72,70}}, rotation= 0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.RelativeSensor relative_c( - get_angles=true, sequence={3,2,1}) + get_angles=true, sequence={3,2,1}) annotation (Placement(transformation( origin={-70,70}, extent={{-10,10},{10,-10}}, rotation=90))); equation - connect(BodyBox1.frame_a, revolute.frame_b) + connect(BodyBox1.frame_a, revolute.frame_b) annotation (Line(points={{-40,30},{-48,30}})); - connect(revolute.frame_a, world.frame_b) + connect(revolute.frame_a, world.frame_b) annotation (Line(points={{-68,30},{-80,30}})); - connect(BodyBox2.frame_a, revolute1.frame_b) + connect(BodyBox2.frame_a, revolute1.frame_b) annotation (Line(points={{-40,-30},{-48,-30}})); - connect(revolute1.frame_a, fixed.frame_b) + connect(revolute1.frame_a, fixed.frame_b) annotation (Line(points={{-68,-30},{-80,-30}})); connect(BodyBox1.frame_b, relative_a2.frame_b) annotation (Line( points={{-20,30},{50,30},{50,0}}, @@ -4632,10 +4801,10 @@ often possible to use the FreeMotion joint such that the singularity points={{60,-16},{60,-52},{-44,-52},{-44,-30},{-48,-30}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(relative_a1.y,err1.u1) + connect(relative_a1.y,err1.u1) annotation (Line(points={{39,10},{54,10},{54,16},{78,16}}, color={0,0, 255})); - connect(relative_a2.y,err1.u2) + connect(relative_a2.y,err1.u2) annotation (Line(points={{61,-10},{68,-10},{68,4},{78,4}}, color={0,0, 255})); connect(relative_b2.frame_a, BodyBox2.frame_b) annotation (Line( @@ -4646,10 +4815,10 @@ often possible to use the FreeMotion joint such that the singularity points={{16,60},{16,-30},{-20,-30}}, color={0,0,0}, thickness=0.5)); - connect(relative_b1.y,err2.u1) + connect(relative_b1.y,err2.u1) annotation (Line(points={{27,70},{38,70},{38,66},{50,66}}, color={0,0, 255})); - connect(relative_b2.y,err2.u2) + connect(relative_b2.y,err2.u2) annotation (Line(points={{9,50},{28,50},{28,54},{50,54}}, color={0,0, 255})); connect(relative_b2.frame_b, BodyBox1.frame_b) annotation (Line( @@ -4680,7 +4849,7 @@ often possible to use the FreeMotion joint such that the singularity extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( gravityType=Modelica.Mechanics.MultiBody.Types. - GravityTypes.UniformGravity) + GravityTypes.UniformGravity) annotation (Placement(transformation(extent={{-60,0}, {-40,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute rev( @@ -4691,20 +4860,20 @@ often possible to use the FreeMotion joint such that the singularity w(fixed=true)) annotation (Placement(transformation(extent= {{-20,0},{0,20}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Damper damper( - d=0.1) + d=0.1) annotation (Placement(transformation(extent={{-20,40},{0,60}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.Fixed fixed( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={-50,-70}, extent={{-10,-10},{10,10}}, rotation=90))); - Modelica.Mechanics.MultiBody.Sensors.Distance Distance1 + Modelica.Mechanics.MultiBody.Sensors.Distance Distance1 annotation (Placement(transformation( extent={{-20,-60},{0,-40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyBox BodyBox1( - r={0.5,0,0}) + r={0.5,0,0}) annotation (Placement(transformation(extent={{20,0},{40,20}}, rotation= 0))); Modelica.Blocks.Continuous.Der Der1 annotation (Placement(transformation( @@ -4712,7 +4881,7 @@ often possible to use the FreeMotion joint such that the singularity Modelica.Blocks.Continuous.Der Der2 annotation (Placement(transformation( extent={{40,-100},{60,-80}}, rotation=0))); equation - connect(world.frame_b, rev.frame_a) + connect(world.frame_b, rev.frame_a) annotation (Line( points={{-40,10},{-20,10}}, color={0,0,0}, @@ -4721,7 +4890,7 @@ often possible to use the FreeMotion joint such that the singularity {4,26},{-10,26},{-10,20}}, color={0,0,0})); connect(rev.support, damper.flange_a) annotation (Line(points={{-16,20},{ -16,26},{-28,26},{-28,50},{-20,50}}, color={0,0,0})); - connect(rev.frame_b, BodyBox1.frame_a) + connect(rev.frame_b, BodyBox1.frame_a) annotation (Line( points={{0,10},{20,10}}, color={0,0,0}, @@ -4734,7 +4903,7 @@ often possible to use the FreeMotion joint such that the singularity points={{-20,-50},{-50,-50},{-50,-60}}, color={0,0,0}, thickness=0.5)); - connect(Der1.y,Der2.u) + connect(Der1.y,Der2.u) annotation (Line(points={{21,-90},{38,-90}}, color={0,0,255})); connect(Distance1.distance, Der1.u) annotation (Line( points={{-10,-61},{-10,-90},{-2,-90}}, @@ -4757,31 +4926,31 @@ often possible to use the FreeMotion joint such that the singularity model Distance2 "Test Modelica.Mechanics.MultiBody.Sensors.Distance" extends Modelica.Icons.Example; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={{-80,0},{-60,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute Revolute1( a(fixed=false), phi(fixed=true, start=0.5235987755982988), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{-40,0},{-20,20}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox BodyBox1(r={1,0,0}, width=0.08) + Modelica.Mechanics.MultiBody.Parts.BodyBox BodyBox1(r={1,0,0}, width=0.08) annotation (Placement(transformation(extent={{0,0},{20,20}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.Fixed fixed(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.Fixed fixed(r={1,0,0}) annotation (Placement(transformation( origin={70,50}, extent={{-10,-10},{10,10}}, rotation=270))); - Modelica.Mechanics.MultiBody.Sensors.Distance distance1 + Modelica.Mechanics.MultiBody.Sensors.Distance distance1 annotation (Placement(transformation(extent={{40,0},{60,20}}, rotation= 0))); Modelica.Blocks.Continuous.Der Der1 annotation (Placement(transformation( extent={{60,-24},{80,-4}}, rotation=0))); - Modelica.Blocks.Logical.LessEqualThreshold LessEqualThreshold1 + Modelica.Blocks.Logical.LessEqualThreshold LessEqualThreshold1 annotation (Placement(transformation(extent={{60,-50},{80,-30}}, rotation=0))); - Modelica.Mechanics.MultiBody.Sensors.Distance distance2 + Modelica.Mechanics.MultiBody.Sensors.Distance distance2 annotation (Placement(transformation(extent={{-40,30},{-20,50}}, rotation=0))); equation @@ -4822,35 +4991,35 @@ often possible to use the FreeMotion joint such that the singularity model CutForce extends Modelica.Icons.Example; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-100,0},{-80,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Sensors.CutForce cutForce1a( - N_to_m=10) + N_to_m=10) annotation (Placement(transformation(extent={{-20,20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate1a( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,10}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body1a + Modelica.Mechanics.MultiBody.Parts.Body body1a annotation (Placement(transformation(extent={ {60,0},{80,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Sensors.CutForce cutForce2a( positiveSign=false, N_to_m=10, - resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.world) + resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.world) annotation (Placement(transformation(extent={{-20,-40},{0, -20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2a( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,-30}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body2a + Modelica.Mechanics.MultiBody.Parts.Body body2a annotation (Placement(transformation(extent={ {60,-40},{80,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate1a( @@ -4864,16 +5033,16 @@ often possible to use the FreeMotion joint such that the singularity r={0,0,0.2}) annotation (Placement(transformation(extent={{-60,-40},{ -40,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Sensors.CutForce cutForce1b( - N_to_m=10, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve) + N_to_m=10, resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve) annotation (Placement(transformation(extent={{-20,60},{0,80}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate1b( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,70}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body1b + Modelica.Mechanics.MultiBody.Parts.Body body1b annotation (Placement(transformation(extent={ {60,60},{80,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate1b( @@ -4883,22 +5052,22 @@ often possible to use the FreeMotion joint such that the singularity -40,80}}, rotation=0))); Modelica.Blocks.Math.Add err1[3]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{10,30},{30,50}}, rotation= 0))); Modelica.Mechanics.MultiBody.Sensors.CutForce cutForce2b( positiveSign=false, N_to_m=10, - resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve) + resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve) annotation (Placement(transformation(extent={{-20,-80},{0, -100}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2b( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,-90}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body2b + Modelica.Mechanics.MultiBody.Parts.Body body2b annotation (Placement(transformation(extent={ {60,-100},{80,-80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate2b( @@ -4908,22 +5077,22 @@ often possible to use the FreeMotion joint such that the singularity -40,-80}}, rotation=0))); Modelica.Blocks.Math.Add err2[3]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{8,-72},{28,-52}}, rotation=0))); equation - connect(world.frame_b, rotate1a.frame_a) + connect(world.frame_b, rotate1a.frame_a) annotation (Line( points={{-80,10},{-60,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate1a.frame_b, cutForce1a.frame_a) + connect(rotate1a.frame_b, cutForce1a.frame_a) annotation (Line( points={{-40,10},{-20,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate2a.frame_b, cutForce2a.frame_a) + connect(rotate2a.frame_b, cutForce2a.frame_a) annotation (Line( points={{-40,-30},{-20,-30}}, color={0,0,0}, @@ -4932,7 +5101,7 @@ often possible to use the FreeMotion joint such that the singularity points={{-60,-30},{-70,-30},{-70,10},{-80,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate1b.frame_b, cutForce1b.frame_a) + connect(rotate1b.frame_b, cutForce1b.frame_a) annotation (Line( points={{-40,70},{-20,70}}, color={0,0,0}, @@ -4941,15 +5110,15 @@ often possible to use the FreeMotion joint such that the singularity points={{-2,60},{-20,60},{-20,46},{-40,46},{-40,70}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(cutForce1b.force,err1.u1) + connect(cutForce1b.force,err1.u1) annotation (Line(points={{-18,59},{-18,46},{8,46}}, color={0,0,255})); - connect(cutForce1a.force,err1.u2) + connect(cutForce1a.force,err1.u2) annotation (Line(points={{-18,21},{-18,34},{8,34}}, color={0,0,255})); connect(world.frame_b, rotate1b.frame_a) annotation (Line( points={{-80,10},{-70,10},{-70,70},{-60,70}}, color={0,0,0}, thickness=0.5)); - connect(rotate2b.frame_b, cutForce2b.frame_a) + connect(rotate2b.frame_b, cutForce2b.frame_a) annotation (Line( points={{-40,-90},{-20,-90}}, color={0,0,0}, @@ -4958,20 +5127,20 @@ often possible to use the FreeMotion joint such that the singularity points={{-60,-90},{-70,-90},{-70,10},{-80,10}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2a.force,err2.u1) + connect(cutForce2a.force,err2.u1) annotation (Line(points={{-18,-41},{-18,-56},{6,-56}}, color={0,0,255})); - connect(cutForce2b.force,err2.u2) + connect(cutForce2b.force,err2.u2) annotation (Line(points={{-18,-79},{-18,-68},{6,-68}}, color={0,0,255})); connect(cutForce2b.frame_resolve, world.frame_b) annotation (Line( points={{-2,-80},{-2,-58},{-74,-58},{-74,10},{-80,10}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(cutForce1b.frame_b, translate1b.frame_a) + connect(cutForce1b.frame_b, translate1b.frame_a) annotation (Line( points={{0,70},{20,70}}, color={0,0,0}, thickness=0.5)); - connect(translate1b.frame_b, body1b.frame_a) + connect(translate1b.frame_b, body1b.frame_a) annotation (Line( points={{40,70},{60,70}}, color={0,0,0}, @@ -4984,22 +5153,22 @@ often possible to use the FreeMotion joint such that the singularity points={{40,10},{50,10},{50,10},{60,10}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2a.frame_b, translate2a.frame_a) + connect(cutForce2a.frame_b, translate2a.frame_a) annotation (Line( points={{0,-30},{20,-30}}, color={0,0,0}, thickness=0.5)); - connect(translate2a.frame_b, body2a.frame_a) + connect(translate2a.frame_b, body2a.frame_a) annotation (Line( points={{40,-30},{60,-30}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2b.frame_b, translate2b.frame_a) + connect(cutForce2b.frame_b, translate2b.frame_a) annotation (Line( points={{0,-90},{20,-90}}, color={0,0,0}, thickness=0.5)); - connect(translate2b.frame_b, body2b.frame_a) + connect(translate2b.frame_b, body2b.frame_a) annotation (Line( points={{40,-90},{60,-90}}, color={0,0,0}, @@ -5010,10 +5179,10 @@ often possible to use the FreeMotion joint such that the singularity model CutForce2 extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-80,-20},{-60,0}}, rotation=0))); - Modelica.Mechanics.MultiBody.Sensors.CutForce cutForce + Modelica.Mechanics.MultiBody.Sensors.CutForce cutForce annotation (Placement(transformation( extent={{0,-20},{20,0}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation fixedRotation( @@ -5023,32 +5192,32 @@ often possible to use the FreeMotion joint such that the singularity animation=false) annotation (Placement(transformation(extent={{-40,-20}, {-20,0}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_b( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={50,30}, extent={{10,-10},{-10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Forces.WorldForce WorldForce1( - animation=false) + animation=false) annotation (Placement(transformation(extent={{60,-20},{40,0}}, rotation= 0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={500,0,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={500,0,0}) annotation (Placement(transformation(extent={{100,-20},{80,0}}, rotation=0))); equation - connect(world.frame_b, fixedRotation.frame_a) + connect(world.frame_b, fixedRotation.frame_a) annotation (Line( points={{-60,-10},{-40,-10}}, color={0,0,0}, thickness=0.5)); - connect(Constant1.y,WorldForce1.force) + connect(Constant1.y,WorldForce1.force) annotation (Line(points={{79,-10},{62,-10}}, color={0,0,255})); - connect(fixedRotation.frame_b, cutForce.frame_a) + connect(fixedRotation.frame_b, cutForce.frame_a) annotation (Line( points={{-20,-10},{0,-10}}, color={0,0,0}, thickness=0.5)); - connect(cutForce.frame_b, WorldForce1.frame_b) + connect(cutForce.frame_b, WorldForce1.frame_b) annotation (Line( points={{20,-10},{40,-10}}, color={0,0,0}, @@ -5063,35 +5232,35 @@ often possible to use the FreeMotion joint such that the singularity model CutTorque extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( - n={0,0,-1}) + n={0,0,-1}) annotation (Placement(transformation(extent={{-100,0},{-80,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Sensors.CutTorque cutTorque1a( - Nm_to_m=10) + Nm_to_m=10) annotation (Placement(transformation(extent={{-20,20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate1a( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,10}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body1a + Modelica.Mechanics.MultiBody.Parts.Body body1a annotation (Placement(transformation(extent={ {60,0},{80,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Sensors.CutTorque cutTorque2a( positiveSign=false, Nm_to_m=10, - resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.world) + resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.world) annotation (Placement(transformation(extent={{-20,-40},{0, -20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2a( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,-30}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body2a + Modelica.Mechanics.MultiBody.Parts.Body body2a annotation (Placement(transformation(extent={ {60,-40},{80,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate1a( @@ -5106,16 +5275,16 @@ often possible to use the FreeMotion joint such that the singularity -40,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Sensors.CutTorque cutTorque1b( Nm_to_m=10, resolveInFrame= - Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve) + Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve) annotation (Placement(transformation(extent={{-20,60},{0,80}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate1b( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,70}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body1b + Modelica.Mechanics.MultiBody.Parts.Body body1b annotation (Placement(transformation(extent={ {60,60},{80,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate1b( @@ -5125,22 +5294,22 @@ often possible to use the FreeMotion joint such that the singularity -40,80}}, rotation=0))); Modelica.Blocks.Math.Add err1[3]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{10,30},{30,50}}, rotation= 0))); Modelica.Mechanics.MultiBody.Sensors.CutTorque cutTorque2b( positiveSign=false, Nm_to_m=10, - resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve) + resolveInFrame=Modelica.Mechanics.MultiBody.Types.ResolveInFrameA.frame_resolve) annotation (Placement(transformation(extent={{-20,-80},{0, -100}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2b( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,-90}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body2b + Modelica.Mechanics.MultiBody.Parts.Body body2b annotation (Placement(transformation(extent={ {60,-100},{80,-80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate2b( @@ -5150,22 +5319,22 @@ often possible to use the FreeMotion joint such that the singularity -40,-80}}, rotation=0))); Modelica.Blocks.Math.Add err2[3]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{8,-72},{28,-52}}, rotation=0))); equation - connect(world.frame_b, rotate1a.frame_a) + connect(world.frame_b, rotate1a.frame_a) annotation (Line( points={{-80,10},{-60,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate1a.frame_b, cutTorque1a.frame_a) + connect(rotate1a.frame_b, cutTorque1a.frame_a) annotation (Line( points={{-40,10},{-20,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate2a.frame_b, cutTorque2a.frame_a) + connect(rotate2a.frame_b, cutTorque2a.frame_a) annotation (Line( points={{-40,-30},{-20,-30}}, color={0,0,0}, @@ -5174,7 +5343,7 @@ often possible to use the FreeMotion joint such that the singularity points={{-60,-30},{-70,-30},{-70,10},{-80,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate1b.frame_b, cutTorque1b.frame_a) + connect(rotate1b.frame_b, cutTorque1b.frame_a) annotation (Line( points={{-40,70},{-20,70}}, color={0,0,0}, @@ -5183,15 +5352,15 @@ often possible to use the FreeMotion joint such that the singularity points={{-2,60},{-20,60},{-20,46},{-40,46},{-40,70}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(cutTorque1b.torque,err1.u1) + connect(cutTorque1b.torque,err1.u1) annotation (Line(points={{-18,59},{-18,46},{8,46}}, color={0,0,255})); - connect(cutTorque1a.torque,err1.u2) + connect(cutTorque1a.torque,err1.u2) annotation (Line(points={{-18,21},{-18,34},{8,34}}, color={0,0,255})); connect(world.frame_b, rotate1b.frame_a) annotation (Line( points={{-80,10},{-70,10},{-70,70},{-60,70}}, color={0,0,0}, thickness=0.5)); - connect(rotate2b.frame_b, cutTorque2b.frame_a) + connect(rotate2b.frame_b, cutTorque2b.frame_a) annotation (Line( points={{-40,-90},{-20,-90}}, color={0,0,0}, @@ -5200,20 +5369,20 @@ often possible to use the FreeMotion joint such that the singularity points={{-60,-90},{-70,-90},{-70,10},{-80,10}}, color={0,0,0}, thickness=0.5)); - connect(cutTorque2a.torque,err2.u1) + connect(cutTorque2a.torque,err2.u1) annotation (Line(points={{-18,-41},{-18,-56},{6,-56}}, color={0,0,255})); - connect(cutTorque2b.torque,err2.u2) + connect(cutTorque2b.torque,err2.u2) annotation (Line(points={{-18,-79},{-18,-68},{6,-68}}, color={0,0,255})); connect(cutTorque2b.frame_resolve, world.frame_b) annotation (Line( points={{-2,-80},{-2,-58},{-74,-58},{-74,10},{-80,10}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(cutTorque1b.frame_b, translate1b.frame_a) + connect(cutTorque1b.frame_b, translate1b.frame_a) annotation (Line( points={{0,70},{20,70}}, color={0,0,0}, thickness=0.5)); - connect(translate1b.frame_b, body1b.frame_a) + connect(translate1b.frame_b, body1b.frame_a) annotation (Line( points={{40,70},{60,70}}, color={0,0,0}, @@ -5226,22 +5395,22 @@ often possible to use the FreeMotion joint such that the singularity points={{40,10},{50,10},{50,10},{60,10}}, color={0,0,0}, thickness=0.5)); - connect(cutTorque2a.frame_b, translate2a.frame_a) + connect(cutTorque2a.frame_b, translate2a.frame_a) annotation (Line( points={{0,-30},{20,-30}}, color={0,0,0}, thickness=0.5)); - connect(translate2a.frame_b, body2a.frame_a) + connect(translate2a.frame_b, body2a.frame_a) annotation (Line( points={{40,-30},{60,-30}}, color={0,0,0}, thickness=0.5)); - connect(cutTorque2b.frame_b, translate2b.frame_a) + connect(cutTorque2b.frame_b, translate2b.frame_a) annotation (Line( points={{0,-90},{20,-90}}, color={0,0,0}, thickness=0.5)); - connect(translate2b.frame_b, body2b.frame_a) + connect(translate2b.frame_b, body2b.frame_a) annotation (Line( points={{40,-90},{60,-90}}, color={0,0,0}, @@ -5252,10 +5421,10 @@ often possible to use the FreeMotion joint such that the singularity model CutTorque2 extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-80,-20},{-60,0}}, rotation=0))); - Modelica.Mechanics.MultiBody.Sensors.CutTorque cutTorque + Modelica.Mechanics.MultiBody.Sensors.CutTorque cutTorque annotation (Placement( transformation(extent={{0,-20},{20,0}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation fixedRotation( @@ -5265,32 +5434,32 @@ often possible to use the FreeMotion joint such that the singularity animation=false) annotation (Placement(transformation(extent={{-40,-20}, {-20,0}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_b( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={50,30}, extent={{10,-10},{-10,10}}, rotation=270))); Modelica.Mechanics.MultiBody.Forces.WorldTorque worldTorque( - animation=false) + animation=false) annotation (Placement(transformation(extent={{60,-20},{40,0}}, rotation= 0))); - Modelica.Blocks.Sources.Constant Constant1[3](k={500,0,0}) + Modelica.Blocks.Sources.Constant Constant1[3](k={500,0,0}) annotation (Placement(transformation(extent={{100,-20},{80,0}}, rotation=0))); equation - connect(world.frame_b, fixedRotation.frame_a) + connect(world.frame_b, fixedRotation.frame_a) annotation (Line( points={{-60,-10},{-40,-10}}, color={0,0,0}, thickness=0.5)); - connect(Constant1.y,worldTorque.torque) + connect(Constant1.y,worldTorque.torque) annotation (Line(points={{79,-10},{62,-10}}, color={0,0,255})); - connect(fixedRotation.frame_b, cutTorque.frame_a) + connect(fixedRotation.frame_b, cutTorque.frame_a) annotation (Line( points={{-20,-10},{0,-10}}, color={0,0,0}, thickness=0.5)); - connect(cutTorque.frame_b, worldTorque.frame_b) + connect(cutTorque.frame_b, worldTorque.frame_b) annotation (Line( points={{20,-10},{40,-10}}, color={0,0,0}, @@ -5304,20 +5473,20 @@ often possible to use the FreeMotion joint such that the singularity model CutForceAndTorque1 extends Modelica.Icons.Example; - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={ {-100,0},{-80,20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque - cutForce1a( N_to_m=10, Nm_to_m=10) + cutForce1a( N_to_m=10, Nm_to_m=10) annotation (Placement(transformation(extent={{-20,20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate1a( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,10}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body1a + Modelica.Mechanics.MultiBody.Parts.Body body1a annotation (Placement(transformation(extent={ {60,0},{80,20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque @@ -5328,12 +5497,12 @@ often possible to use the FreeMotion joint such that the singularity Nm_to_m=10) annotation (Placement(transformation(extent={{-20,-40},{0, -20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2a( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,-30}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body2a + Modelica.Mechanics.MultiBody.Parts.Body body2a annotation (Placement(transformation(extent={ {60,-40},{80,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate1a( @@ -5347,16 +5516,16 @@ often possible to use the FreeMotion joint such that the singularity r={0,0,0.2}) annotation (Placement(transformation(extent={{-60,-40},{ -40,-20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque - cutForce1b( N_to_m=10, Nm_to_m=10) + cutForce1b( N_to_m=10, Nm_to_m=10) annotation (Placement(transformation(extent={{-20,60},{0,80}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate1b( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,70}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body1b + Modelica.Mechanics.MultiBody.Parts.Body body1b annotation (Placement(transformation(extent={ {60,60},{80,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate1b( @@ -5366,7 +5535,7 @@ often possible to use the FreeMotion joint such that the singularity -40,80}}, rotation=0))); Modelica.Blocks.Math.Add err1[6]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{10,30},{30,50}}, rotation= 0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque @@ -5377,12 +5546,12 @@ often possible to use the FreeMotion joint such that the singularity Nm_to_m=10) annotation (Placement(transformation(extent={{-20,-80},{0, -100}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2b( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,-90}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body2b + Modelica.Mechanics.MultiBody.Parts.Body body2b annotation (Placement(transformation(extent={ {60,-100},{80,-80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate2b( @@ -5392,22 +5561,22 @@ often possible to use the FreeMotion joint such that the singularity -40,-80}}, rotation=0))); Modelica.Blocks.Math.Add err2[6]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{8,-72},{28,-52}}, rotation=0))); equation - connect(world.frame_b, rotate1a.frame_a) + connect(world.frame_b, rotate1a.frame_a) annotation (Line( points={{-80,10},{-60,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate1a.frame_b, cutForce1a.frame_a) + connect(rotate1a.frame_b, cutForce1a.frame_a) annotation (Line( points={{-40,10},{-20,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate2a.frame_b, cutForce2a.frame_a) + connect(rotate2a.frame_b, cutForce2a.frame_a) annotation (Line( points={{-40,-30},{-20,-30}}, color={0,0,0}, @@ -5416,7 +5585,7 @@ often possible to use the FreeMotion joint such that the singularity points={{-60,-30},{-70,-30},{-70,10},{-80,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate1b.frame_b, cutForce1b.frame_a) + connect(rotate1b.frame_b, cutForce1b.frame_a) annotation (Line( points={{-40,70},{-20,70}}, color={0,0,0}, @@ -5425,15 +5594,15 @@ often possible to use the FreeMotion joint such that the singularity points={{-2,60},{-20,60},{-20,46},{-40,46},{-40,70}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(cutForce1b.load,err1.u1) + connect(cutForce1b.load,err1.u1) annotation (Line(points={{-18,59},{-18,46},{8,46}}, color={0,0,255})); - connect(cutForce1a.load,err1.u2) + connect(cutForce1a.load,err1.u2) annotation (Line(points={{-18,21},{-18,34},{8,34}}, color={0,0,255})); connect(world.frame_b, rotate1b.frame_a) annotation (Line( points={{-80,10},{-70,10},{-70,70},{-60,70}}, color={0,0,0}, thickness=0.5)); - connect(rotate2b.frame_b, cutForce2b.frame_a) + connect(rotate2b.frame_b, cutForce2b.frame_a) annotation (Line( points={{-40,-90},{-20,-90}}, color={0,0,0}, @@ -5442,20 +5611,20 @@ often possible to use the FreeMotion joint such that the singularity points={{-60,-90},{-70,-90},{-70,10},{-80,10}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2a.load,err2.u1) + connect(cutForce2a.load,err2.u1) annotation (Line(points={{-18,-41},{-18,-56},{6,-56}}, color={0,0,255})); - connect(cutForce2b.load,err2.u2) + connect(cutForce2b.load,err2.u2) annotation (Line(points={{-18,-79},{-18,-68},{6,-68}}, color={0,0,255})); connect(cutForce2b.frame_resolve, world.frame_b) annotation (Line( points={{-2,-80},{-2,-58},{-74,-58},{-74,10},{-80,10}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(cutForce1b.frame_b, translate1b.frame_a) + connect(cutForce1b.frame_b, translate1b.frame_a) annotation (Line( points={{0,70},{20,70}}, color={0,0,0}, thickness=0.5)); - connect(translate1b.frame_b, body1b.frame_a) + connect(translate1b.frame_b, body1b.frame_a) annotation (Line( points={{40,70},{60,70}}, color={0,0,0}, @@ -5468,22 +5637,22 @@ often possible to use the FreeMotion joint such that the singularity points={{40,10},{50,10},{50,10},{60,10}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2a.frame_b, translate2a.frame_a) + connect(cutForce2a.frame_b, translate2a.frame_a) annotation (Line( points={{0,-30},{20,-30}}, color={0,0,0}, thickness=0.5)); - connect(translate2a.frame_b, body2a.frame_a) + connect(translate2a.frame_b, body2a.frame_a) annotation (Line( points={{40,-30},{60,-30}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2b.frame_b, translate2b.frame_a) + connect(cutForce2b.frame_b, translate2b.frame_a) annotation (Line( points={{0,-90},{20,-90}}, color={0,0,0}, thickness=0.5)); - connect(translate2b.frame_b, body2b.frame_a) + connect(translate2b.frame_b, body2b.frame_a) annotation (Line( points={{40,-90},{60,-90}}, color={0,0,0}, @@ -5494,20 +5663,20 @@ often possible to use the FreeMotion joint such that the singularity model CutForceAndTorque2 extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( - n={0,0,-1}) + n={0,0,-1}) annotation (Placement(transformation(extent={{-100,0},{-80,20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque - cutForce1a( N_to_m=10, Nm_to_m=10) + cutForce1a( N_to_m=10, Nm_to_m=10) annotation (Placement(transformation(extent={{-20,20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate1a( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,10}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body1a + Modelica.Mechanics.MultiBody.Parts.Body body1a annotation (Placement(transformation(extent={ {60,0},{80,20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque @@ -5518,12 +5687,12 @@ often possible to use the FreeMotion joint such that the singularity Nm_to_m=10) annotation (Placement(transformation(extent={{-20,-40},{0, -20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2a( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,-30}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body2a + Modelica.Mechanics.MultiBody.Parts.Body body2a annotation (Placement(transformation(extent={ {60,-40},{80,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate1a( @@ -5537,16 +5706,16 @@ often possible to use the FreeMotion joint such that the singularity r={0,0,0.2}) annotation (Placement(transformation(extent={{-60,-40},{ -40,-20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque - cutForce1b( N_to_m=10, Nm_to_m=10) + cutForce1b( N_to_m=10, Nm_to_m=10) annotation (Placement(transformation(extent={{-20,60},{0,80}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate1b( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,70}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body1b + Modelica.Mechanics.MultiBody.Parts.Body body1b annotation (Placement(transformation(extent={ {60,60},{80,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate1b( @@ -5556,7 +5725,7 @@ often possible to use the FreeMotion joint such that the singularity -40,80}}, rotation=0))); Modelica.Blocks.Math.Add err1[6]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{10,30},{30,50}}, rotation= 0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque @@ -5567,12 +5736,12 @@ often possible to use the FreeMotion joint such that the singularity Nm_to_m=10) annotation (Placement(transformation(extent={{-20,-80},{0, -100}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2b( - r={0,-1,0}) + r={0,-1,0}) annotation (Placement(transformation( origin={30,-90}, extent={{10,-10},{-10,10}}, rotation=180))); - Modelica.Mechanics.MultiBody.Parts.Body body2b + Modelica.Mechanics.MultiBody.Parts.Body body2b annotation (Placement(transformation(extent={ {60,-100},{80,-80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation rotate2b( @@ -5582,22 +5751,22 @@ often possible to use the FreeMotion joint such that the singularity -40,-80}}, rotation=0))); Modelica.Blocks.Math.Add err2[6]( each k2= - -1) + -1) annotation (Placement(transformation(extent={{8,-72},{28,-52}}, rotation=0))); equation - connect(world.frame_b, rotate1a.frame_a) + connect(world.frame_b, rotate1a.frame_a) annotation (Line( points={{-80,10},{-60,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate1a.frame_b, cutForce1a.frame_a) + connect(rotate1a.frame_b, cutForce1a.frame_a) annotation (Line( points={{-40,10},{-20,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate2a.frame_b, cutForce2a.frame_a) + connect(rotate2a.frame_b, cutForce2a.frame_a) annotation (Line( points={{-40,-30},{-20,-30}}, color={0,0,0}, @@ -5606,7 +5775,7 @@ often possible to use the FreeMotion joint such that the singularity points={{-60,-30},{-70,-30},{-70,10},{-80,10}}, color={0,0,0}, thickness=0.5)); - connect(rotate1b.frame_b, cutForce1b.frame_a) + connect(rotate1b.frame_b, cutForce1b.frame_a) annotation (Line( points={{-40,70},{-20,70}}, color={0,0,0}, @@ -5615,15 +5784,15 @@ often possible to use the FreeMotion joint such that the singularity points={{-2,60},{-20,60},{-20,46},{-40,46},{-40,70}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(cutForce1b.load,err1.u1) + connect(cutForce1b.load,err1.u1) annotation (Line(points={{-18,59},{-18,46},{8,46}}, color={0,0,255})); - connect(cutForce1a.load,err1.u2) + connect(cutForce1a.load,err1.u2) annotation (Line(points={{-18,21},{-18,34},{8,34}}, color={0,0,255})); connect(world.frame_b, rotate1b.frame_a) annotation (Line( points={{-80,10},{-70,10},{-70,70},{-60,70}}, color={0,0,0}, thickness=0.5)); - connect(rotate2b.frame_b, cutForce2b.frame_a) + connect(rotate2b.frame_b, cutForce2b.frame_a) annotation (Line( points={{-40,-90},{-20,-90}}, color={0,0,0}, @@ -5632,20 +5801,20 @@ often possible to use the FreeMotion joint such that the singularity points={{-60,-90},{-70,-90},{-70,10},{-80,10}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2a.load,err2.u1) + connect(cutForce2a.load,err2.u1) annotation (Line(points={{-18,-41},{-18,-56},{6,-56}}, color={0,0,255})); - connect(cutForce2b.load,err2.u2) + connect(cutForce2b.load,err2.u2) annotation (Line(points={{-18,-79},{-18,-68},{6,-68}}, color={0,0,255})); connect(cutForce2b.frame_resolve, world.frame_b) annotation (Line( points={{-2,-80},{-2,-58},{-74,-58},{-74,10},{-80,10}}, color={0,0,0}, pattern=LinePattern.Dot)); - connect(cutForce1b.frame_b, translate1b.frame_a) + connect(cutForce1b.frame_b, translate1b.frame_a) annotation (Line( points={{0,70},{20,70}}, color={0,0,0}, thickness=0.5)); - connect(translate1b.frame_b, body1b.frame_a) + connect(translate1b.frame_b, body1b.frame_a) annotation (Line( points={{40,70},{60,70}}, color={0,0,0}, @@ -5658,22 +5827,22 @@ often possible to use the FreeMotion joint such that the singularity points={{40,10},{50,10},{50,10},{60,10}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2a.frame_b, translate2a.frame_a) + connect(cutForce2a.frame_b, translate2a.frame_a) annotation (Line( points={{0,-30},{20,-30}}, color={0,0,0}, thickness=0.5)); - connect(translate2a.frame_b, body2a.frame_a) + connect(translate2a.frame_b, body2a.frame_a) annotation (Line( points={{40,-30},{60,-30}}, color={0,0,0}, thickness=0.5)); - connect(cutForce2b.frame_b, translate2b.frame_a) + connect(cutForce2b.frame_b, translate2b.frame_a) annotation (Line( points={{0,-90},{20,-90}}, color={0,0,0}, thickness=0.5)); - connect(translate2b.frame_b, body2b.frame_a) + connect(translate2b.frame_b, body2b.frame_a) annotation (Line( points={{40,-90},{60,-90}}, color={0,0,0}, @@ -5684,11 +5853,11 @@ often possible to use the FreeMotion joint such that the singularity model CutForceAndTorque3 extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{-80,-20},{-60,0}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Sensors.CutForceAndTorque - cutForceAndTorque + cutForceAndTorque annotation (Placement(transformation(extent={{0,-20},{20,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.FixedRotation fixedRotation( @@ -5698,30 +5867,30 @@ often possible to use the FreeMotion joint such that the singularity animation=false) annotation (Placement(transformation(extent={{-40,-20}, {-20,0}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame frame_b( - color_x={0,0,200}) + color_x={0,0,200}) annotation (Placement(transformation( origin={50,30}, extent={{10,-10},{-10,10}}, rotation=270))); ObsoleteModelica3.Mechanics.MultiBody.Forces.WorldForceAndTorque - worldForceAndTorque( animation=false) + worldForceAndTorque( animation=false) annotation (Placement(transformation(extent={{60,-20},{40,0}}, rotation= 0))); - Modelica.Blocks.Sources.Constant Constant1[6](k={500,0,0,450,-250,0}) + Modelica.Blocks.Sources.Constant Constant1[6](k={500,0,0,450,-250,0}) annotation (Placement(transformation(extent={{100,-20},{80,0}}, rotation=0))); equation - connect(world.frame_b, fixedRotation.frame_a) + connect(world.frame_b, fixedRotation.frame_a) annotation (Line( points={{-60,-10},{-40,-10}}, color={0,0,0}, thickness=0.5)); - connect(fixedRotation.frame_b, cutForceAndTorque.frame_a) + connect(fixedRotation.frame_b, cutForceAndTorque.frame_a) annotation (Line( points={{-20,-10},{0,-10}}, color={0,0,0}, thickness=0.5)); - connect(cutForceAndTorque.frame_b, worldForceAndTorque.frame_b) + connect(cutForceAndTorque.frame_b, worldForceAndTorque.frame_b) annotation (Line( points={{20,-10},{40,-10}}, color={0,0,0}, @@ -5751,7 +5920,7 @@ often possible to use the FreeMotion joint such that the singularity import Modelica; extends Icons.Example; Modelica.Mechanics.MultiBody.Parts.Fixed fixed( - animation=false) + animation=false) annotation (Placement(transformation(extent={{-100,40},{-80,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Visualizers.FixedShape box( @@ -5818,7 +5987,7 @@ often possible to use the FreeMotion joint such that the singularity extent={{-10,-10},{10,10}}, rotation=90))); protected - Modelica.Mechanics.MultiBody.Interfaces.Frame_b frame_b1 + Modelica.Mechanics.MultiBody.Interfaces.Frame_b frame_b1 annotation (Placement( transformation(extent={{-61,-11},{-59,-9}}, rotation=0))); public @@ -5862,7 +6031,7 @@ often possible to use the FreeMotion joint such that the singularity extent={{-10,-10},{10,10}}, rotation=90))); inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, animateGravity=false) + animateWorld=false, animateGravity=false) annotation (Placement(transformation(extent={{40,0},{60,20}}, rotation= 0))); equation @@ -5876,7 +6045,7 @@ often possible to use the FreeMotion joint such that the singularity 42,50},{42,60}})); connect(fixed.frame_b, frame_b1) annotation (Line(points={{-80,50},{-74, 50},{-74,-10},{-60,-10}})); - connect(beam.frame_a, frame_b1) + connect(beam.frame_a, frame_b1) annotation (Line(points={{-60,0},{-60,-10}})); connect(frame_b1, gearwheel.frame_a) annotation (Line(points={{-60,-10},{ -32,-10},{-32,0}})); @@ -5896,12 +6065,12 @@ often possible to use the FreeMotion joint such that the singularity import Modelica; extends Icons.Example; Modelica.Mechanics.MultiBody.Parts.Fixed fixed3( - animation=false, r={0.2,-0.6,0}) + animation=false, r={0.2,-0.6,0}) annotation (Placement(transformation( origin={-30,-10}, extent={{-10,-10},{10,10}}, rotation=90))); - Visualizers.SignalArrow arrow(diameter=0.02) + Visualizers.SignalArrow arrow(diameter=0.02) annotation (Placement(transformation( origin={-30,30}, extent={{-10,-10},{10,10}}, @@ -5909,22 +6078,22 @@ often possible to use the FreeMotion joint such that the singularity Modelica.Blocks.Sources.Sine sine[3]( amplitude={0.1,0.05,0.8}, freqHz={2,1,2}, - each offset=0.2) + each offset=0.2) annotation (Placement(transformation(extent={{12,20},{ -8,40}}, rotation=0))); - Visualizers.FixedArrow fixedArrow(length=0.3, color={0,0,255}) + Visualizers.FixedArrow fixedArrow(length=0.3, color={0,0,255}) annotation (Placement(transformation( origin={-70,30}, extent={{-10,-10},{10,10}}, rotation=90))); inner Modelica.Mechanics.MultiBody.World world( - animateWorld=false, gravityType=0) + animateWorld=false, gravityType=0) annotation (Placement(transformation(extent={{-100,-40},{-80,-20}}, rotation=0))); equation connect(arrow.frame_a, fixed3.frame_b) annotation (Line(points={{-30,20}, {-30,0}})); - connect(fixedArrow.frame_a, fixed3.frame_b) + connect(fixedArrow.frame_a, fixed3.frame_b) annotation (Line(points={{-70,20},{-70,0},{-30,0}})); connect(sine.y, arrow.r_head) annotation (Line( points={{-9,30},{-18,30}}, @@ -5939,24 +6108,24 @@ often possible to use the FreeMotion joint such that the singularity extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world(animateWorld=false, - animateGravity=false) + animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation fixedTranslation( - animation=false, r={2,0,0}) + animation=false, r={2,0,0}) annotation (Placement(transformation(extent={{-26,50},{-6,70}}))); - Modelica.Mechanics.MultiBody.Visualizers.Torus torus1(ro=0.2) + Modelica.Mechanics.MultiBody.Visualizers.Torus torus1(ro=0.2) annotation (Placement(transformation(extent={{-20,20},{0,40}}))); Modelica.Mechanics.MultiBody.Visualizers.Torus torus2( ro=0.2, opening=0.78539816339745, startAngle=-2.3561944901923, - stopAngle=2.3561944901923) + stopAngle=2.3561944901923) annotation (Placement(transformation(extent={{4,50},{24,70}}))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame fixedFrame(color_x={ - 255,0,0}, length=1) + 255,0,0}, length=1) annotation (Placement(transformation(extent={{-10,-30},{10,-10}}))); Modelica.Mechanics.MultiBody.Visualizers.FixedFrame fixedFrame1(color_x={ - 255,0,0}, length=1) + 255,0,0}, length=1) annotation (Placement(transformation(extent={{12,76},{32,96}}))); equation @@ -5993,10 +6162,10 @@ often possible to use the FreeMotion joint such that the singularity model VoluminousWheel extends Modelica.Icons.Example; - Modelica.Mechanics.MultiBody.Visualizers.VoluminousWheel voluminousWheel + Modelica.Mechanics.MultiBody.Visualizers.VoluminousWheel voluminousWheel annotation (Placement(transformation(extent={{-20,20},{0,40}}))); inner Modelica.Mechanics.MultiBody.World world(axisColor_x={255,0,0}, - animateGravity=false) + animateGravity=false) annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); equation @@ -6012,79 +6181,79 @@ often possible to use the FreeMotion joint such that the singularity extends Modelica.Icons.Example; inner Modelica.Mechanics.MultiBody.World world( - animateGravity=false, animateWorld=false) + animateGravity=false, animateWorld=false) annotation (Placement(transformation(extent={{-80,60},{-60,80}}))); Modelica.Mechanics.MultiBody.Visualizers.PipeWithScalarField jet( rOuter=0.1, length=0.5, x=0:0.01:0.5, - T=0:0.01:0.5) + T=0:0.01:0.5) annotation (Placement(transformation(extent={{-20,60},{0,80}}))); Modelica.Mechanics.MultiBody.Visualizers.PipeWithScalarField hot( rOuter=0.1, length=0.5, x=0:0.01:0.5, T=0:0.01:0.5, - redeclare function colorMap = - Modelica.Math.Colors.ColorMaps.hot) + redeclare function colorMap = + Modelica.Math.Colors.ColorMaps.hot) annotation (Placement(transformation(extent={{-20,30},{0,50}}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate2(animation= - false, r={0,0,-0.3}) + false, r={0,0,-0.3}) annotation (Placement(transformation(extent={{-48,30},{-28,50}}))); Modelica.Mechanics.MultiBody.Visualizers.PipeWithScalarField gray( rOuter=0.1, length=0.5, x=0:0.01:0.5, T=0:0.01:0.5, - redeclare function colorMap = - Modelica.Math.Colors.ColorMaps.gray) + redeclare function colorMap = + Modelica.Math.Colors.ColorMaps.gray) annotation (Placement(transformation(extent={{-20,0},{0,20}}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate3(animation= - false, r={0,0,-0.6}) + false, r={0,0,-0.6}) annotation (Placement(transformation(extent={{-48,0},{-28,20}}))); Modelica.Mechanics.MultiBody.Visualizers.PipeWithScalarField spring( rOuter=0.1, length=0.5, x=0:0.01:0.5, T=0:0.01:0.5, - redeclare function colorMap = - Modelica.Math.Colors.ColorMaps.spring) + redeclare function colorMap = + Modelica.Math.Colors.ColorMaps.spring) annotation (Placement(transformation(extent={{-20,-30},{0,-10}}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate4(animation= - false, r={0,0,-0.9}) + false, r={0,0,-0.9}) annotation (Placement(transformation(extent={{-48,-30},{-28,-10}}))); Modelica.Mechanics.MultiBody.Visualizers.PipeWithScalarField summer( rOuter=0.1, length=0.5, x=0:0.01:0.5, T=0:0.01:0.5, - redeclare function colorMap = - Modelica.Math.Colors.ColorMaps.summer) + redeclare function colorMap = + Modelica.Math.Colors.ColorMaps.summer) annotation (Placement(transformation(extent={{-20,-60},{0,-40}}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate5(animation= - false, r={0,0,-1.2}) + false, r={0,0,-1.2}) annotation (Placement(transformation(extent={{-48,-60},{-28,-40}}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate6(animation= - false, r={0,0,-1.5}) + false, r={0,0,-1.5}) annotation (Placement(transformation(extent={{-48,-90},{-28,-70}}))); Modelica.Mechanics.MultiBody.Visualizers.PipeWithScalarField autumn( rOuter=0.1, length=0.5, x=0:0.01:0.5, T=0:0.01:0.5, - redeclare function colorMap = - Modelica.Math.Colors.ColorMaps.autumn) + redeclare function colorMap = + Modelica.Math.Colors.ColorMaps.autumn) annotation (Placement(transformation(extent={{-20,-90},{0,-70}}))); Modelica.Mechanics.MultiBody.Parts.FixedTranslation translate7(animation= - false, r={0,0,-1.8}) + false, r={0,0,-1.8}) annotation (Placement(transformation(extent={{-48,-120},{-28,-100}}))); Modelica.Mechanics.MultiBody.Visualizers.PipeWithScalarField winter( rOuter=0.1, length=0.5, x=0:0.01:0.5, T=0:0.01:0.5, - redeclare function colorMap = - Modelica.Math.Colors.ColorMaps.winter) + redeclare function colorMap = + Modelica.Math.Colors.ColorMaps.winter) annotation (Placement(transformation(extent={{-20,-120},{0,-100}}))); equation @@ -6166,84 +6335,84 @@ often possible to use the FreeMotion joint such that the singularity extends Modelica.Icons.Library; model Rotor1D - Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D1 + Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D1 annotation (Placement(transformation(extent={{-70,40},{-50,60}}, rotation=0))); - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={{-100,20},{-80,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D2( stateSelect=StateSelect.prefer, a(fixed=false), phi(fixed=true, start=1.570796326794897), - w(fixed=true, start=1.74532925199433)) + w(fixed=true, start=1.74532925199433)) annotation (Placement(transformation(extent={{-40, 40},{-20,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D3( stateSelect=StateSelect.prefer, a(fixed=false), phi(fixed=true), - w(fixed=false)) + w(fixed=false)) annotation (Placement(transformation(extent={{-10,40},{10,60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D4( stateSelect=StateSelect.prefer, a(fixed=false), phi(fixed=false), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{20,40},{40,60}}, rotation= 0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D5( stateSelect=StateSelect.prefer, a(fixed=true), phi(fixed=false), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{-60,0},{-40,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D6( stateSelect=StateSelect.prefer, a(fixed=false), phi(fixed=false), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{-8,0},{12,20}}, rotation= 0))); Modelica.Mechanics.Rotational.Components.Spring spring( - c=1e4) + c=1e4) annotation (Placement(transformation(extent={{-34,0},{-14,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D7( a(start=0.05235987755982989, fixed=true), stateSelect=StateSelect.prefer, phi(fixed=false, start=0.0174532925199433), - w(fixed=true, start=0.03490658503988659)) + w(fixed=true, start=0.03490658503988659)) annotation (Placement(transformation(extent={{-60,-40},{-40, -20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D8( stateSelect=StateSelect.prefer, a(fixed=false), phi(fixed=false), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{-8,-40},{12,-20}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Spring spring1( - c=1e4) + c=1e4) annotation (Placement(transformation(extent={{-34,-40},{-14,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D9( a(start=0.05235987755982989, fixed=true), phi(fixed=true, start=0.0174532925199433), - w(fixed=true, start=0.03490658503988659)) + w(fixed=true, start=0.03490658503988659)) annotation (Placement(transformation(extent={{-60,-80},{-40,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Rotor1D rotor1D10( stateSelect=StateSelect.prefer, a(fixed=false), phi(fixed=false), - w(fixed=true)) + w(fixed=true)) annotation (Placement(transformation(extent={{-8,-80},{12,-60}}, rotation=0))); Modelica.Mechanics.Rotational.Components.Spring spring2( - c=1e4) + c=1e4) annotation (Placement(transformation(extent={{-34,-80},{-14,-60}}, rotation=0))); equation @@ -6330,27 +6499,27 @@ often possible to use the FreeMotion joint such that the singularity model Joints - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={{-80,60},{-60,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Revolute revolute( a(start=0.174532925199433, fixed=false), stateSelect=StateSelect.always, phi(fixed=true, start=0.7853981633974483), - w(fixed=true, start=0.174532925199433)) + w(fixed=true, start=0.174532925199433)) annotation (Placement(transformation(extent={{-48, 60},{-28,80}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox(r={1,0,0}) annotation (Placement(transformation(extent={{-20,60},{0,80}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Revolute actuatedRevolute( a(start=-0.174532925199433, fixed=false), stateSelect=StateSelect.always, phi(fixed=true, start=0.5235987755982988), - w(fixed=false, start=-0.174532925199433)) + w(fixed=false, start=-0.174532925199433)) annotation (Placement(transformation(extent={{8,60}, {28,80}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox1(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox1(r={1,0,0}) annotation (Placement(transformation(extent={{36,60},{56,80}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Prismatic prismatic( @@ -6360,14 +6529,14 @@ often possible to use the FreeMotion joint such that the singularity v(fixed=true, start=1), s_offset=0.1) annotation (Placement(transformation(extent={{-48, 20},{-28,40}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox2(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox2(r={1,0,0}) annotation (Placement(transformation(extent={{-20,20},{0,40}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Prismatic actuatedPrismatic( stateSelect=StateSelect.always, a(fixed=false, start=0.6), s(fixed=false, start=0.2), - v(fixed=true, start=0.4)) + v(fixed=true, start=0.4)) annotation (Placement(transformation(extent={{8,20},{28,40}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Cylindrical cylindrical( @@ -6377,13 +6546,13 @@ often possible to use the FreeMotion joint such that the singularity s(fixed=true, start=1), v(fixed=true, start=3), w(fixed=true, start=0.03490658503988659), - wd(fixed=false, start=0.08726646259971647)) + wd(fixed=false, start=0.08726646259971647)) annotation (Placement(transformation(extent={{-50, -20},{-30,0}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox3(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox3(r={1,0,0}) annotation (Placement(transformation(extent={{40,20},{60,40}}, rotation= 0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox4(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox4(r={1,0,0}) annotation (Placement(transformation(extent={{-20,-20},{0,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Universal universal( @@ -6393,10 +6562,10 @@ often possible to use the FreeMotion joint such that the singularity phi_a(fixed=true, start=-0.174532925199433), phi_b(fixed=true, start=0.174532925199433), w_a(fixed=false, start=0.3490658503988659), - w_b(fixed=false, start=-0.3490658503988659)) + w_b(fixed=false, start=-0.3490658503988659)) annotation (Placement(transformation(extent={{8,-20}, {28,0}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox5(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox5(r={1,0,0}) annotation (Placement(transformation(extent={{38,-20},{58,0}}, rotation= 0))); Modelica.Mechanics.MultiBody.Joints.Planar planar( @@ -6409,10 +6578,10 @@ often possible to use the FreeMotion joint such that the singularity v_x(fixed=true, start=1), v_y(fixed=true, start=2), w(fixed=true, start=0.0174532925199433), - wd(fixed=false, start=0.03490658503988659)) + wd(fixed=false, start=0.03490658503988659)) annotation (Placement(transformation(extent={{-52, -50},{-32,-30}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox6(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox6(r={1,0,0}) annotation (Placement(transformation(extent={{-20,-50},{0,-30}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Spherical spherical( @@ -6424,14 +6593,14 @@ often possible to use the FreeMotion joint such that the singularity w_rel_a_start={0.0174532925199433,0.03490658503988659, 0.05235987755982989}, z_rel_a_start={0.03490658503988659,0.05235987755982989, - 0.06981317007977318}) + 0.06981317007977318}) annotation (Placement(transformation(extent={{8, -50},{28,-30}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox7(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox7(r={1,0,0}) annotation (Placement(transformation(extent={{38,-50},{58,-30}}, rotation=0))); - Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox8(r={1,0,0}) + Modelica.Mechanics.MultiBody.Parts.BodyBox bodyBox8(r={1,0,0}) annotation (Placement(transformation(extent={{-20,-80},{0,-60}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.FreeMotion freeMotion( @@ -6544,7 +6713,7 @@ often possible to use the FreeMotion joint such that the singularity model Bodies - inner Modelica.Mechanics.MultiBody.World world + inner Modelica.Mechanics.MultiBody.World world annotation (Placement(transformation(extent={{-80,60},{-60,80}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.Body body( @@ -6557,7 +6726,7 @@ often possible to use the FreeMotion joint such that the singularity w_0_fixed=true, z_0_fixed=false, w_0_start={0.06981317007977318,0.05235987755982989,0.03490658503988659}, - z_0_start={0.05235987755982989,0.06981317007977318,0.05235987755982989}) + z_0_start={0.05235987755982989,0.06981317007977318,0.05235987755982989}) annotation (Placement(transformation(extent={{-42,40}, {-22,60}}, rotation=0))); @@ -6565,7 +6734,7 @@ often possible to use the FreeMotion joint such that the singularity m=2, a_0(fixed=false, start={5,4,3}), r_0(fixed=true, start={1,2,3}), - v_0(fixed=true, start={2,3,4})) + v_0(fixed=true, start={2,3,4})) annotation (Placement(transformation(extent={{-2,-2},{18,18}}, rotation=0))); Modelica.Mechanics.MultiBody.Parts.BodyShape body1( @@ -6578,7 +6747,7 @@ often possible to use the FreeMotion joint such that the singularity w_0_fixed=true, z_0_fixed=false, w_0_start={0.06981317007977318,0.05235987755982989,0.03490658503988659}, - z_0_start={0.05235987755982989,0.06981317007977318,0.05235987755982989}) + z_0_start={0.05235987755982989,0.06981317007977318,0.05235987755982989}) annotation (Placement(transformation(extent={{0,40}, {20,60}}, rotation=0))); @@ -6592,7 +6761,7 @@ often possible to use the FreeMotion joint such that the singularity w_0_fixed=true, z_0_fixed=false, w_0_start={0.06981317007977318,0.05235987755982989,0.03490658503988659}, - z_0_start={0.05235987755982989,0.06981317007977318,0.05235987755982989}) + z_0_start={0.05235987755982989,0.06981317007977318,0.05235987755982989}) annotation (Placement(transformation(extent={{42,40}, {62,60}}, rotation=0))); @@ -6606,7 +6775,7 @@ often possible to use the FreeMotion joint such that the singularity w_0_fixed=true, z_0_fixed=false, w_0_start={0.06981317007977318,0.05235987755982989,0.03490658503988659}, - z_0_start={0.05235987755982989,0.06981317007977318,0.05235987755982989}) + z_0_start={0.05235987755982989,0.06981317007977318,0.05235987755982989}) annotation (Placement(transformation(extent={{-44,0}, {-24,20}}, rotation=0))); @@ -6623,18 +6792,18 @@ often possible to use the FreeMotion joint such that the singularity prismaticWithLengthConstraint1 annotation (Placement(transformation( extent={{2,38},{22,58}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Joints.Internal.RevoluteWithLengthConstraint - revoluteWithLengthConstraint2 + revoluteWithLengthConstraint2 annotation (Placement(transformation(extent={{-58,0},{-38,20}}, rotation=0))); ObsoleteModelica3.Mechanics.MultiBody.Joints.Internal.PrismaticWithLengthConstraint - prismaticWithLengthConstraint2 + prismaticWithLengthConstraint2 annotation (Placement(transformation(extent={{4,0},{24,20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Internal.RevoluteWithLengthConstraint - revoluteWithLengthConstraint3 + revoluteWithLengthConstraint3 annotation (Placement(transformation(extent={{-58,-40},{-38,-20}}, rotation=0))); Modelica.Mechanics.MultiBody.Joints.Internal.PrismaticWithLengthConstraint - prismaticWithLengthConstraint3 + prismaticWithLengthConstraint3 annotation (Placement(transformation(extent={{4,-40},{24,-20}}, rotation=0)));