Package Modelica.​Mechanics.​MultiBody.​Visualizers
3-dimensional visual objects used for animation

Information

Package Visualizers contains components to visualize 3-dimensional shapes. These components are the basis for the animation features of the MultiBody library.

Content

FixedShape
FixedShape2
Visualizing an elementary shape with dynamically varying shape attributes. FixedShape has one connector frame_a, whereas FixedShape2 has additionally a frame_b for easier connection to further visual objects. The following shape types are supported:
 
model Visualizers.FixedShape
FixedFrame Visualizing a coordinate system including axes labels with fixed sizes:
model Visualizers.FixedFrame
FixedArrow,
SignalArrow
Visualizing an arrow. Model "FixedArrow" provides a fixed sized arrow, model "SignalArrow" provides an arrow with dynamically varying length that is defined by an input signal vector:
Ground Visualizing the ground by a plane:
Torus Visualizing a torus:
VoluminousWheel Visualizing a wheel:
PipeWithScalarField Visualizing a pipe with a scalar field represented by a color coding:
Advanced Package that contains components to visualize 3-dimensional shapes where all parts of the shape can vary dynamically. Basic knowledge of Modelica is needed in order to utilize the components of this package.

The colors of the visualization components are declared with the predefined type MultiBody.Types.Color. This is a vector with 3 elements, {r, g, b}, and specifies the color of the shape. {r,g,b} are the "red", "green" and "blue" color parts. Note, r g, b are given as Integer[3] in the ranges 0 .. 255, respectively.

Extends from Modelica.​Icons.​Package (Icon for standard packages).

Package Contents

NameDescription
AdvancedVisualizers that require basic knowledge about Modelica in order to use them
ColorsLibrary of functions operating on color
FixedArrowVisualizing an arrow with dynamically varying size in frame_a
FixedFrameVisualizing a coordinate system including axes labels (visualization data may vary dynamically)
FixedShapeVisualizing an elementary shape with dynamically varying shape attributes (has one frame connector)
FixedShape2Visualizing an elementary shape with dynamically varying shape attributes (has two frame connectors)
GroundVisualizing the ground (box in z=0)
InternalVisualizers that will be replaced by improved versions in the future (do not use them)
PipeWithScalarFieldVisualizing a pipe with scalar field quantities along the pipe axis
RectangleVisualizing a planar rectangular surface
SignalArrowVisualizing an arrow with dynamically varying size in frame_a based on input signal
TorusVisualizing a torus
VoluminousWheelVisualizing a voluminous wheel

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​FixedShape
Visualizing an elementary shape with dynamically varying shape attributes (has one frame connector)

Information

Model FixedShape defines a visual shape that is shown at the location of its frame_a. All describing data such as size and color can vary dynamically by providing appropriate expressions in the input fields of the parameter menu. The only exception is parameter shapeType that cannot be changed during simulation. The following shapes are currently supported via parameter shapeType (e.g., shapeType="box"):
 

model Visualizers.FixedShape

The dark blue arrows in the figure above are directed along variable lengthDirection. The light blue arrows are directed along variable widthDirection. The coordinate systems in the figure represent frame_a of the FixedShape component.

Additionally, external shapes can be specified as (not all options might be supported by all tools):

The supported file formats are tool dependent. Most tools support at least DXF-files but may support other format as well (such as stl, obj, 3ds). Since visualization files contain color and other data, the corresponding information in the model is usually ignored. For information about DXF files, see Wikipedia. As a default it is assumed that the DXF coordinates are in the "frame_a"-system and in meters, and that the 3dfaces are two-sided. Some tools support only 3dface (for geometry) and layer (for advanced coloring).

The sizes of any of the above components are specified by the length, width and height variables. Via variable extra additional data can be defined:

shapeTypeMeaning of parameter extra
"cylinder" if extra > 0, a black line is included in the cylinder to show the rotation of it.
"cone" extra = diameter-left-side / diameter-right-side, i.e.,
extra = 1: cylinder
extra = 0: "real" cone.
"pipe" extra = outer-diameter / inner-diameter, i.e,
extra = 1: cylinder that is completely hollow
extra = 0: cylinder without a hole.
"gearwheel" extra is the number of teeth of the (external) gear. If extra < 0, an internal gear is visualized with |extra| teeth. The axis of the gearwheel is along "lengthDirection", and usually: width = height = 2*radiusOfGearWheel.
"spring" extra is the number of windings of the spring. Additionally, "height" is not the "height" but 2*coil-width.
external shape extra = 0: Visualization from file is not scaled.
extra = 1: Visualization from file is scaled with "length", "width" and "height" of the shape

Parameter color is a vector with 3 elements, {r, g, b}, and specifies the color of the shape. {r, g, b} are the "red", "green" and "blue" color parts. Note, r, g, b are given as Integer[3] in the ranges 0 .. 255, respectively. The predefined type MultiBody.Types.Color contains a menu definition of the colors used in the MultiBody library together with a color editor.

Extends from Modelica.​Mechanics.​MultiBody.​Interfaces.​PartialVisualizer (Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
ShapeTypeshapeType"box"Type of shape

Inputs

TypeNameDefaultDescription
Positionr_shape[3]{0, 0, 0}Vector from frame_a to shape origin, resolved in frame_a
AxislengthDirection[3]{1, 0, 0}Vector in length direction of shape, resolved in frame_a
AxiswidthDirection[3]{0, 1, 0}Vector in width direction of shape, resolved in frame_a
Distancelength Length of shape
Distancewidth Width of shape
Distanceheight Height of shape
Colorcolor[3]{0, 128, 255}Color of shape
ShapeExtraextra0Additional data for cylinder, cone, pipe, gearwheel and spring
SpecularCoefficientspecularCoefficientworld.​defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system in which visualization data is resolved

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​FixedShape2
Visualizing an elementary shape with dynamically varying shape attributes (has two frame connectors)

Information

Model FixedShape2 defines a visual shape that is shown at the location of its frame_a. This model is identical to FixedShape with the only difference that an additional frame_b is present which is parallel to frame_a. This makes it more convenient to connect several visual shapes together when building up more complex visual objects. All describing data such as size and color can vary dynamically by providing appropriate expressions in the input fields of the parameter menu. The only exception is parameter shapeType that cannot be changed during simulation. The following shapes are currently supported via parameter shapeType (e.g., shapeType="box"):
 

model Visualizers.FixedShape2

 
The dark blue arrows in the figure above are directed along variable lengthDirection. The light blue arrows are directed along variable widthDirection. The coordinate systems in the figure represent frame_a of the FixedShape component.

Additionally, external shapes can be specified as (not all options might be supported by all tools):

The supported file formats are tool dependent. Most tools support at least DXF-files but may support other format as well (such as stl, obj, 3ds). Since visualization files contain color and other data, the corresponding information in the model is usually ignored. For information about DXF files, see Wikipedia. As a default it is assumed that the DXF coordinates are in the "frame_a"-system and in meters, and that the 3dfaces are two-sided. Some tools support only 3dface (for geometry) and layer (for advanced coloring).

The sizes of any of the above components are specified by the length, width and height variables. Via variable extra additional data can be defined:

shapeTypeMeaning of parameter extra
"cylinder" if extra > 0, a black line is included in the cylinder to show the rotation of it.
"cone" extra = diameter-left-side / diameter-right-side, i.e.,
extra = 1: cylinder
extra = 0: "real" cone.
"pipe" extra = outer-diameter / inner-diameter, i.e,
extra = 1: cylinder that is completely hollow
extra = 0: cylinder without a hole.
"gearwheel" extra is the number of teeth of the (external) gear. If extra < 0, an internal gear is visualized with |extra| teeth. The axis of the gearwheel is along "lengthDirection", and usually: width = height = 2*radiusOfGearWheel.
"spring" extra is the number of windings of the spring. Additionally, "height" is not the "height" but 2*coil-width.
external shape extra = 0: Visualization from file is not scaled.
extra = 1: Visualization from file is scaled with "length", "width" and "height" of the shape

Parameter color is a vector with 3 elements, {r, g, b}, and specifies the color of the shape. {r, g, b} are the "red", "green" and "blue" color parts. Note, r, g, b are given as Integer[3] in the ranges 0 .. 255, respectively. The predefined type MultiBody.Types.Color contains a menu definition of the colors used in the MultiBody library together with a color editor.

In the following figure the relationships between frame_a and frame_b are shown. The origin of frame_b with respect to frame_a is specified via parameter vector r.

Parts.FixedTranslation

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
ShapeTypeshapeType"box"Type of shape

Inputs

TypeNameDefaultDescription
Positionr_shape[3]{0, 0, 0}Vector from frame_a to shape origin, resolved in frame_a
AxislengthDirection[3]to_unit1(r - r_shape)Vector in length direction of shape, resolved in frame_a
AxiswidthDirection[3]{0, 1, 0}Vector in width direction of shape, resolved in frame_a
LengthlengthModelica.Math.Vectors.length(r - r_shape)Length of shape
Distancewidth0.1Width of shape
DistanceheightwidthHeight of shape
ShapeExtraextra0Additional data for cylinder, cone, pipe, gearwheel and spring
Colorcolor[3]{0, 128, 255}Color of shape
SpecularCoefficientspecularCoefficientworld.​defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system a (all shape definition vectors are resolved in this frame)
Frame_bframe_bCoordinate system b

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​FixedFrame
Visualizing a coordinate system including axes labels (visualization data may vary dynamically)

Information

Model FixedFrame visualizes the three axes of its coordinate system frame_a together with appropriate axes labels. A typical example is shown in the following figure:
 

model Visualizers.FixedFrame

The sizes of the axes, the axes colors and the specular coefficient (= reflection factor for ambient light) can vary dynamically by providing appropriate expressions in the input fields of the parameter menu.

Extends from Modelica.​Mechanics.​MultiBody.​Interfaces.​PartialVisualizer (Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
BooleanshowLabelstrue= true, if labels shall be shown

Inputs

TypeNameDefaultDescription
Distancelength0.5Length of axes arrows
Distancediameterlength / world.defaultFrameDiameterFractionDiameter of axes arrows
Colorcolor_x[3]Modelica.​Mechanics.​MultiBody.​Types.​Defaults.​FrameColorColor of x-arrow
Colorcolor_y[3]color_xColor of y-arrow
Colorcolor_z[3]color_xColor of z-arrow
SpecularCoefficientspecularCoefficientworld.​defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system in which visualization data is resolved

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​FixedArrow
Visualizing an arrow with dynamically varying size in frame_a

Information

Model FixedArrow defines an arrow that is shown at the location of its frame_a.
 

model Visualizers.FixedArrow

The direction of the arrow specified with vector n is with respect to frame_a, i.e., the local frame to which the arrow component is attached. The direction and length of the arrow, its diameter and color can vary dynamically by providing appropriate expressions in the input fields of the parameter menu.

Extends from Modelica.​Mechanics.​MultiBody.​Interfaces.​PartialVisualizer (Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled

Inputs

TypeNameDefaultDescription
Positionr_tail[3]{0, 0, 0}Vector from frame_a to arrow tail, resolved in frame_a
Axisn[3]{1, 0, 0}Vector in arrow direction, resolved in frame_a
Lengthlength0.1Length of complete arrow
Diameterdiameterworld.​defaultArrowDiameterDiameter of arrow line
Colorcolor[3]{0, 0, 255}Color of arrow
SpecularCoefficientspecularCoefficientworld.​defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system in which visualization data is resolved

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​SignalArrow
Visualizing an arrow with dynamically varying size in frame_a based on input signal

Information

Model SignalArrow defines an arrow that is dynamically visualized at the location where its frame_a is attached. The position vector from the tail to the head of the arrow, resolved in frame_a, is defined via the signal vector of the connector r_head (Real r_head[3]):
 

model Visualizers.SignalArrow

The tail of the arrow is defined with parameter r_tail with respect to frame_a (vector from the origin of frame_a to the arrow tail).

Extends from Modelica.​Mechanics.​MultiBody.​Interfaces.​PartialVisualizer (Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled

Inputs

TypeNameDefaultDescription
Positionr_tail[3]{0, 0, 0}Vector from frame_a to arrow tail, resolved in frame_a
Diameterdiameterworld.​defaultArrowDiameterDiameter of arrow line
Colorcolor[3]{0, 0, 255}Color of arrow
SpecularCoefficientspecularCoefficientworld.​defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system in which visualization data is resolved
input RealInputr_head[3]Position vector from origin of frame_a to head of arrow, resolved in frame_a

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​Ground
Visualizing the ground (box in z=0)

Information

This shape visualizes the x-y plane by a box.

Extends from Modelica.​Icons.​ObsoleteModel (Icon for classes that are obsolete and will be removed in later versions).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation of ground shall be enabled
Positionlength10Length and width of box (center is at x=y=0)
Positionheight0.02Height of box (upper surface is at z=0, lower surface is at z=-height)
ColorgroundColor[3]{0, 255, 0}Color of box

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​Torus
Visualizing a torus

Information

Model Torus visualizes a torus. The center of the torus is located at connector frame_a (visualized by the red coordinate system in the figure below). The left image below shows a torus with ri=0.5 m and ro = 0.2 m. The right images below shows the torus with the additional parameter settings:

  opening    =   45 degree
  startAngle = -135 degree
  stopAngle  =  135 degree

In the advanced menu the discretization of the surface visualization can be defined by the number of points of the inner radius of the torus (n_ri) and by the number of points of the outer radius of the torus (n_ro). In case the torus is closed (that is, opening = 0 degree), the actual number of points is one less (that is n_ri-1, n_ro-1), because the first and the last point of the parametrization coincide in this case.

Extends from Modelica.​Mechanics.​MultiBody.​Interfaces.​PartialVisualizer (Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
Radiusri0.5Major radius (distance from center of torus to center of tube)
Radiusro0.1Minor radius (radius of tube)
Angleopening0Opening angle of torus
AnglestartAngle-3.1415926535898Start angle of torus slice
AnglestopAngle3.1415926535898End angle of torus slice
Booleanwireframefalse= true: 3D model will be displayed without faces
Integern_ri40Number of points along major radius ri
Integern_ro20Number of points along minor radius ro

Inputs

TypeNameDefaultDescription
RealColorcolor[3]{0, 128, 255}Color of surface
SpecularCoefficientspecularCoefficient0.7Reflection of ambient light (= 0: light is completely absorbed)
Realtransparency0Transparency of shape: 0 (= opaque) ... 1 (= fully transparent)

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system in which visualization data is resolved

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​VoluminousWheel
Visualizing a voluminous wheel

Information

Model VoluminousWheel provides a simple visualization of a tire using a torus and a pipe shape object. The center of the wheel is located at connector frame_a (visualized by the red coordinate system in the figure below).

Extends from Modelica.​Mechanics.​MultiBody.​Interfaces.​PartialVisualizer (Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
RadiusrTire0.25Radius of the tire
RadiusrRim0.14Radius of the rim
Radiuswidth0.25Width of the tire
RadiusrCurvature0.3Radius of the tire's cross section
RealColorcolor[3]{64, 64, 64}Color of tire
SpecularCoefficientspecularCoefficient0.5Reflection of ambient light (= 0: light is completely absorbed)
Integern_rTire40Number of points along rTire
Integern_rCurvature20Number of points along rCurvature

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system in which visualization data is resolved

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​PipeWithScalarField
Visualizing a pipe with scalar field quantities along the pipe axis

Information

Model PipeWithScalarField visualizes a pipe and a scalar field along the pipe axis. The latter is shown by mapping the scalar field to color values with a color map and utilizing this color at the perimeter associated with the corresponding axis location. Typically the scalar field value is a temperature, but might be also another quantity. Predefined color maps are available from MultiBody.Visualizers.Colors.ColorMaps and can be selected via parameter "colorMap". A color map with the corresponding scalar field values can be exported as vector-graphics in svg-format with function MultiBody.Visualizers.Colors.colorMapToSvg. Connector frame_a of this component is located in the center of the circle at the left side of the pipe and the pipe axis is oriented along the x-axis of frame_a, see figure below in which frame_a is visualized with a coordinate system:

The color coding is shown in the next figure. It was generated with MultiBody.Visualizers.Colors.colorMapToSvg using the following call:

colorMapToSvg(Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.jet(),
              height=50, nScalars=6, T_max=100, caption="Temperature in C");

Extends from Modelica.​Mechanics.​MultiBody.​Interfaces.​PartialVisualizer (Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
RadiusrOuter Outer radius of pipe
Lengthlength Length of pipe
Realxsi[:]Modelica.Math.Vectors.relNodePositions(12)[:] Relative position along the pipe with x[1] = 0, x[end] = 1
RealT_min Minimum value of T that corresponds to colorMap[1,:]
RealT_max Maximum value of T that corresponds to colorMap[end,:]
Integern_colors64Number of colors in the colorMap
SpecularCoefficientspecularCoefficient0.7Reflection of ambient light (= 0: light is completely absorbed)
Realtransparency0Transparency of shape: 0 (= opaque) ... 1 (= fully transparent)
Integern_rOuter30Number of points along outer radius
Integern_length20Number of points along length

Inputs

TypeNameDefaultDescription
RealT[size(xsi, 1)] [:] Scalar values at position xsi*length (will be visualized by color)

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system in which visualization data is resolved

Model Modelica.​Mechanics.​MultiBody.​Visualizers.​Rectangle
Visualizing a planar rectangular surface

Information

This model visualizes a planar rectangle. The center of the rectangle is located at connector frame_a (visualized by the red coordinate system in the figure below). The figure below shows two rectangles of the same parameters

nu = 8,
nv = 3,
length_u = 3,
length_v = 2.

The green rectangle on the right is visualized in wireframe thus highlighting the influence of the discretization. Moreover, the u-axis of this rectangle is modified so that the rectangle is rotated about the z-axis of frame_a.

Extends from Modelica.​Mechanics.​MultiBody.​Interfaces.​PartialVisualizer (Base model for visualizers (has a frame_a on the left side + outer world + assert to guarantee that the component is connected)).

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
Axisdirection_u[3]{1, 0, 0}Vector along u-axis of rectangle resolved in frame_a
Axisdirection_v[3]{0, 1, 0}Vector along v-axis of rectangle resolved in frame_a
Distancelength_u3Length of rectangle in direction u
Distancelength_v1Length of rectangle in direction v
Integernu3Number of points in direction u
Integernv2Number of points in direction v
Booleanwireframefalse= true: 3D model will be displayed without faces

Inputs

TypeNameDefaultDescription
RealColorcolor[3]{0, 128, 255}Color of surface
SpecularCoefficientspecularCoefficient0.7Reflection of ambient light (= 0: light is completely absorbed)
Realtransparency0Transparency of shape: 0 (= opaque) ... 1 (= fully transparent)

Connectors

TypeNameDescription
Frame_aframe_aCoordinate system in which visualization data is resolved