# File Solid

Solid element with properties derived from external file

• Library:
• Simscape / Multibody / Body Elements

## Description

The File Solid block models a solid element with geometry, inertia, color, and reference frame derived from an external file. The file must be of a part model, which is to say that it contains at least solid geometry data. Some formats may provide color and inertia data, though such properties can be specified manually if need be.

The File Solid block can read geometries created by various CAD software, as shown in the table.

### Supported Software and File Formats

ACISUp to 2019
Autodesk InventorUp to 2020
CATIA V4Up to 4.2.5
CATIA V5Up to V5-6 R2019(R29)
CATIA V6Up to V5-6 R2019(R29)
Creo-Pro/EPro/Engineer 19.0 to Creo 6.0
IGES5.1, 5.2, and 5.3
JTUp to v10.6
NXV11.0 to NX 12.0, and 1953
ParasolidUp to v33
Revit2015 to 2021
Rhino3D4, 5, and 6
Solid EdgeV19 - 20, ST - ST10, 2021
SolidWorks97 to 2021
STEPAP 203 E1/E2, AP 214, and AP 242
STLAll Versions

Note

CAD drawing and assembly files, which do not contain the necessary data for a solid element, cannot be imported to the block.

### Inertia Calculations

For part model files with density data, the block gives the option to (automatically) set the mass, center of mass, and inertia tensor of the solid from calculation. This behavior is enabled by default (through the Type and Based On parameters under the Inertia node, which, in their original states, will read `Calculate from Geometry` and ```Density from File```).

If the imported file does not contain density data, you must specify it (or, equivalently, mass) for the calculations to be made. Set the Based On parameter to `Custom Density` or `Custom Mass` to enter the missing data.

Alternatively, if you have the complete mass properties of the imported part—often provided, for CAD models, by the CAD application itself—you can enter them directly as block parameters. Set the inertia Type parameter to `Custom` in order to do this.

Note that the frame in which the moments and products of inertia are defined will vary among CAD applications. In this block, the origin of that frame is assumed to be at the center of mass (and its axes parallel to those of the reference frame). This frame is referred to here as the inertia resolution frame. (The center of mass, on the other hand, is defined in the reference frame.) For more information, see Specifying Custom Inertias.

Derived Values

If the mass properties are computed from geometry, you can view their values in the block dialog box. To do so, expand the Derived Values node under Inertia and click . (This feature, as it is specified to computed properties, requires that the inertia Type setting be `Calculated from Geometry`.) If a geometry or inertia block parameter changes, click the button once again to display the new mass properties. All values are in SI units of length (`m`) and mass (`kg`).

### Solid Visualization

The block dialog box contains a collapsible visualization pane. This pane provides instant visual feedback on the solid you are modeling. Use it to find and fix any issues with the shape and color of the solid. You can examine the solid from different perspectives by selecting a standard view or by rotating, panning, and zooming the solid.

Select the Update Visualization button to view the latest changes to the solid geometry in the visualization pane. Select Apply or OK to commit your changes to the solid. Closing the block dialog box without first selecting or causes the block to discard those changes.

Solid Visualization Pane

Right-click the visualization pane to access the visualization context-sensitive menu. This menu provides additional options so that you can change the background color, split the visualization pane into multiple tiles, and modify the view convention from the default +Z up (XY Top) setting.

### Connection Frames

Like most components, the solid connects through frames, of which it has at least one. The default frame, which serves as its reference and is associated with port R, gets its origin and axes from the data in the imported file. (The origin is generally the zero coordinate of the CAD model or, if such technology is used, the 3-D scan, contained in the file.)

For those cases in which the reference frame is ill-placed for connection, or in which multiple connection frames are needed, the block comes with a frame creation tool. Treat this tool as an interactive alternative to the Rigid Transform block (the latter a numerical means to add and translate as well as rotate frames, though one that keeps the frames separate from the solid).

You can create (and edit) frames using geometry features as constraints—placing the frame origin on, and orienting the frame axes along, selected vertices, edges, and faces. You can also use the reference frame origin and its axes, as well as the center of mass and the principal inertia axes, to define the new frames. Each frame adds to the block a new frame port (its label derived from the name given in the frame creation pane).

To create or edit a frame, first expand the Frames node in the block dialog box. Click the button to create a frame or the button to edit a frame (if one, other than the reference frame, already exists). The frame definitions depend on a mix of geometry and inertia data, so you must have previously imported a part geometry file. If a block parameter changes, you must refresh the visualization pane (by clicking the button) in order to create or edit a frame.

Frame Definition

A custom frame is fully defined when its origin and axes are too. Of these, the axes require the most care. You must specify two axes, one primary and one secondary. The primary axis defines the plane (that normal to it) on which the other axes must lie. The secondary axis is merely the projection of a selected direction—axis or geometry feature—on that plane.

The remaining (and unspecified) axis is set by requiring that all three be perpendicular and ordered according to the right-hand rule. Naturally, the secondary axis must have a vector component perpendicular to the primary axis. If the two are parallel, the frame is invalid. If the frame is then saved, its orientation is set to that of the reference frame.

To use a geometry feature for the frame origin or axis definitions:

1. In the frame creation pane, select the Based on Geometric Feature radio button.

2. In the solid visualization pane, click a vertex, edge, or face. Zoom in, if necessary, to more precisely select a feature.

3. Again in the frame creation pane, click the Use Selected Feature button.

### MATLAB Variables

It is common in a model to parameterize blocks in terms of MATLAB variables. Instead of a scalar, vector, or string, for example, a block parameter will have in its field the name of a variable. The variable is defined elsewhere, often in a subsystem mask or in the model workspace, sometimes by reference to an external M file.

This approach suits complex models in which multiple blocks must share the same parameter value—a common density, say, or color, if defined as an RGB vector. When the MATLAB variable definition then changes, so do all block parameters that depend on it. Consider using MATLAB variables here if a parameter is likely to be shared by several blocks in a large model.

(For a simple example with solid blocks parameterized in terms of workspace variables, open the `sm_compound_body` model)

### Exporting Geometry Properties

The File Solid block can generate a convex hull geometry representation of an imported CAD file in the Simscape Multibody environment. This geometric data can be used to model spatial contact forces.

As shown in the figure, the convex hull geometry is an approximation of the true geometry. Note that the block calculates the physical properties, such as mass and inertia, based on its true geometry.

Simple Part

## Ports

### Frame

expand all

Frame by which to connect the solid in a model. The frame node to which this port connects—generally another frame port or a frame junction—determines the position and orientation of the solid relative to other components. Add a Rigid Transform block between the port and the node if the frames they represent must be offset from one another.

## Parameters

expand all

### Geometry

Path of the CAD file, specified as a custom character vector. The file location can be specified as an absolute path starting from the root directory of the file system or a relative path starting from a folder on the MATLAB® path.

See Supported Software and File Formats for details of supported file formats.

Example: `'C:/Users/JDoe/Documents/myShape.STEP'` or `'Documents/myShape.STEP'`

Source of the solid geometry units. Select ```From File``` to use the units specified in the imported file. Select `Custom` to specify your own units.

Length units in which to interpret the geometry defined in a geometry file. Changing the units changes the scale of the imported geometry.

Select Convex Hull to generate a convex hull representation of the true geometry. This convex hull can be used for contacts by connecting the Spatial Contact Force block.

#### Dependencies

To enable this option, select Convex Hull under the Export.

### Inertia

Inertia parameterization to use. Select ```Point Mass``` to model a concentrated mass with negligible rotational inertia. Select `Custom` to model a distributed mass with the specified moments and products of inertia. The default setting, `Calculate from Geometry`, enables the block to automatically calculate the rotational inertia properties from the solid geometry and either density or mass.

Parameter to use in inertia calculation. The block calculates the inertia tensor from the solid geometry and the parameter selected.

Use the default setting of ```Density from File``` to base the calculations on the density obtained from the imported file. (Note that only some formats can carry density data. Of those that do, only some will actually carry it. Often this data is specified in a CAD application before saving or exporting the part model file.)

Use `Custom Density` to specify a density other than that obtained from the imported file. Use ```Custom Mass``` to instead specify the total mass of the solid.

Mass per unit volume of material. The mass density can take on a positive or negative value. Specify a negative mass density to model the effects of a void or cavity in a solid body.

Total mass to attribute to the solid element. This parameter can be positive or negative. Use a negative value to capture the effect of a void or cavity in a compound body (one comprising multiple solids and inertias), being careful to ensure that the mass of the body is on the whole positive.

[x y z] coordinates of the center of mass relative to the block reference frame. The center of mass coincides with the center of gravity in uniform gravitational fields only.

Three-element vector with the [Ixx Iyy Izz] moments of inertia specified relative to a frame with origin at the center of mass and axes parallel to the block reference frame. The moments of inertia are the diagonal elements of the inertia tensor

`$\left(\begin{array}{ccc}{I}_{xx}& & \\ & {I}_{yy}& \\ & & {I}_{zz}\end{array}\right),$`

where:

• ${I}_{xx}=\underset{m}{\int }\left({y}^{2}+{z}^{2}\right)\text{\hspace{0.17em}}dm$

• ${I}_{yy}=\underset{m}{\int }\left({x}^{2}+{z}^{2}\right)\text{\hspace{0.17em}}dm$

• ${I}_{zz}=\underset{m}{\int }\left({x}^{2}+{y}^{2}\right)\text{\hspace{0.17em}}dm$

Three-element vector with the [Iyz Izx Ixy] products of inertia specified relative to a frame with origin at the center of mass and axes parallel to the block reference frame. The products of inertia are the off-diagonal elements of the inertia tensor

`$\left(\begin{array}{ccc}& {I}_{xy}& {I}_{zx}\\ {I}_{xy}& & {I}_{yz}\\ {I}_{zx}& {I}_{yz}& \end{array}\right),$`

where:

• ${I}_{yz}=-\underset{m}{\int }yz\text{\hspace{0.17em}}dm$

• ${I}_{zx}=-\underset{m}{\int }zx\text{\hspace{0.17em}}dm$

• ${I}_{xy}=-\underset{m}{\int }xy\text{\hspace{0.17em}}dm$

Display of the calculated values of the solid mass properties—mass, center of mass, moments of inertia, and products of inertia. Click the Update button to calculate and display the mass properties of the solid. Click this button following any changes to the block parameters to ensure that the displayed values are still current.

The center of mass is resolved in the local reference frame of the solid. The moments and products of inertia are each resolved in the inertia frame of resolution—a frame whose axes are parallel to those of the reference frame but whose origin coincides with the solid center of mass.

#### Dependencies

The option to calculate and display the mass properties is active when the Inertia > Type block parameter is set to ```Calculate from Geometry```.

### Graphic

Type of the visual representation of the solid, specified as `From Geometry`, `Marker`, or `None`. Set the parameter to `From Geometry` to show the visual representation of the solid. Set the parameter to `Marker` to represent the solid as a marker. Set the parameter to `None` to hide the solid in the model visualization.

Parameterizations for specifying visual properties. Select `Simple` to specify Diffuse Color and Opacity. Select `Advanced` to specify more visual properties, such as Specular Color, Ambient Color, Emissive Color, and Shininess.

#### Dependencies

To enable this parameter, set Type to ```From Geometry``` or `Marker`.

Shape of the marker by means of which to visualize the solid. The motion of the marker reflects the motion of the solid itself.

#### Dependencies

To enable this parameter, set Type to `Marker`.

Width of the marker in pixels. This width does not scale with zoom level. Note that the apparent size of the marker depends partly on screen resolution, with higher resolutions packing more pixels per unit length, and therefore producing smaller icons.

#### Dependencies

To enable this parameter, set Type to `Marker`.

Color of the graphic under direct white light, specified as an [R G B] or [R G B A] vector on a 0–1 scale. An optional fourth element (A) specifies the color opacity on a scale of 0–1. Omitting the opacity element is equivalent to specifying a value of 1.

#### Dependencies

To enable this parameter, set:

1. Type to `From Geometry` or `Marker`

2. Visual Properties to `Simple`

Graphic opacity, specified as a scalar in the range of 0 to 1. A scalar of 0 corresponds to completely transparent, and a scalar of 1 corresponds to completely opaque.

#### Dependencies

To enable this parameter, set:

1. Type to `From Geometry` or `Marker`

2. Visual Properties to `Simple`

Color of the light due to diffuse reflection, specified as an [R,G,B] or [R,G,B,A] vector with values in the range of 0 to 1. The vector can be a row or column vector. The optional fourth element specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

The diffuse color reflects the main color of the rendered solid and provides shading that gives the rendered object a three-dimensional appearance.

#### Dependencies

To enable this parameter, set:

1. Type to `From Geometry` or `Marker`

2. Visual Properties to `Advanced`

Color of the light due to specular reflection, specified as an [R,G,B] or [R,G,B,A] vector with values in the range of 0 to 1. The vector can be a row or column vector. The optional fourth element specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1. This parameter changes the color of the specular highlight, which is the bright spot on the rendered solid due to the reflection of the light from the light source.

#### Dependencies

To enable this parameter, set:

1. Type to `From Geometry` or `Marker`

2. Visual Properties to `Advanced`

Color of the ambient light, specified as an [R,G,B] or [R,G,B,A] vector with values in the range of 0 to 1. The vector can be a row or column vector. The optional fourth element specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

Ambient light refers to a general level of illumination that does not come directly from a light source. The Ambient light consists of light that has been reflected and re-reflected so many times that it is no longer coming from any particular direction. You can adjust this parameter to change the shadow color of the rendered solid.

#### Dependencies

To enable this parameter, set:

1. Type to `From Geometry` or `Marker`

2. Visual Properties to `Advanced`

Color due to self illumination, specified as an [R,G,B] or [R,G,B,A] vector in the range of 0 to 1. The vector can be a row or column vector. The optional fourth element specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

The emission color is color that does not come from any external source, and therefore seems to be emitted by the solid itself. When a solid has a emissive color, the solid can be seen even if there is no external light source.

#### Dependencies

To enable this parameter, set:

1. Type to `From Geometry` or `Marker`

2. Visual Properties to `Advanced`

Sharpness of specular light reflections, specified as a scalar number on a 0–128 scale. Increase the shininess value for smaller but sharper highlights. Decrease the value for larger but smoother highlights.

#### Dependencies

To enable this parameter, set:

1. Type to `From Geometry` or `Marker`

2. Visual Properties to `Advanced`

### Frames

Select to expose the R port.

Click the Create button to open a pane for creating a new body-attached frame. In this pane, you can specify the name, origin, and orientation for the frame.

• To name the custom frame, click the text field of the Frame Name parameter. The name identifies the corresponding port on the solid block and in the tree view pane of the Mechanics Explorer.

• To select the Frame Origin of the custom frame, use one of the following methods:

• At Reference Frame Origin: Make the new frame origin coincident with the origin of the reference frame of the solid.

• At Center of Mass: Make the new frame origin coincident with the center of mass of the solid.

• Based on Geometric Feature: Make the new frame origin coincident with the center of the selected feature. Valid features include surfaces, lines, and points. Select a feature from the visualization pane, then click Use Selected Feature to confirm the location of the origin. The name of the origin location appears in the field below this option.

• To define the orientation of the custom frame, under the Frame Axes section, select the Primary Axis and Secondary Axis of the custom frame and then specify their directions.

Use the following methods to select a vector for specifying the directions of the primary and secondary axes. The primary axis is parallel to the selected vector and constrains the remaining two axes to its normal plane. The secondary axis is parallel to the projection of the selected vector onto the normal plane.

• Along Reference Frame Axis: Selects an axis of the reference frame of the solid.

• Along Principal Inertia Axis: Selects an axis of the principal inertia axis of the solid.

• Based on Geometric Feature: Selects the vector associated with the chosen geometry feature of the solid. Valid features include surfaces and lines. The corresponding vector is indicated by a white arrow in the visualization pane. You can select a feature from the visualization pane and then click Use Selected Feature to confirm the selection. The name of the selected feature appears in the field below this option.

Frames that you have created. `N` is a unique identifying number for each custom frame.

• Click the text field to edit the name of an existing custom frame.

• Click the Edit button to edit other aspects of the custom frame, such as origin and axes.

• Click the Delete button to delete the custom frame.

#### Dependencies

To enable this parameter, create a frame by clicking New Frame.

## Version History

Introduced in R2018b