# Usages

<img src="./media/image72.png" width="752" height="477">

## File

### New

**New** (<img src="./media/2_image19.png" width="16" height="16">) creates a new **3D SymbolDesigner** symbol project.

### Open

**3D SymbolDesigner** supports project files in the following formats: `.xlsx` and `.xls`, which are Microsoft Excel files containing symbol geometry data and variants, and `.xml`, which contains **3D SymbolDesigner** XML symbol geometry data.

### Save

**Save** (<img src="./media/image73.png" width="16" height="16">) saves the content of the active form.
If the file name is unknown, a **Save As** dialogue is displayed.

### Save As

**Save As** opens a **Save As** dialogue where you can choose the filename to save the content of the active form to.

### Export to SmartPlant 3D

**Export to SmartPlant 3D** (<img src="./media/image29.png" width="16" height="16">) displays a configuration dialogue (SmartPlant 3D Wizard) for exporting to Intergraph SmartPlant 3D.

The dialogue presents two tabs for configuring the export to SmartPlant 3D.

Under ideal conditions, the wizard creates a Visual Basic project containing the symbol geometry, compiles it, registers the DLL, creates an Excel file for the catalogue bulk load, and starts the bulk load into the catalogue.

The **Symbol** tab provides a catalogue tree so that you can select the target position in the SmartPlant 3D catalogue.

<table>
<tr><th>Discipline</th><th></th><th>Bulkload sheet</th></tr>
<tr><td>

Equipment

</td><td>

Add/select a folder below Equipment. Add/select a node below this folder.

</td><td>

<img src="./media/Approve.jpg" width="16" height="16">

</td></tr>
<tr><td>

Equipment component

</td><td>

Add/select a folder below Equipment Components. Add/select a node below this folder.

</td><td>

<img src="./media/Approve.jpg" width="16" height="16">

</td></tr>
<tr><td>

Piping spec symbol/standard instrument/standard specialty

</td><td>

Select Piping

</td><td>

-

</td></tr>
<tr><td>

Piping custom instrument (on-the-fly)

</td><td>

Add/select a node below Piping-Custom Instruments.

</td><td>

<img src="./media/Approve.jpg" width="16" height="16">

</td></tr>
<tr><td>

Piping custom specialty (on-the-fly)

</td><td>

Add/select a node below Piping-Custom Specialties.

</td><td>

<img src="./media/Approve.jpg" width="16" height="16">

</td></tr>
<tr><td>

Hangers and supports

</td><td>

Select Supports

</td><td>

-

</td></tr>
<tr><td>

HVAC component

</td><td>

Add/select a folder below Duct Add/select a node below this folder.

</td><td>

<img src="./media/Approve.jpg" width="16" height="16">

</td></tr>
</table>

When the **Piping** or **Supports** node is selected, **3D SymbolDesigner** will create a Visual Basic project/DLL for a piping symbol (but no Excel bulk load file).

> A file called `ComponentTree.xml` is parsed for this dialogue. It is generated by the **Reload** button and can also be modified manually to represent the catalogue tree of the target system. The third column shows the `PartClassType` of the symbol. If no type is selected, **3D SymbolDesigner** assumes that the type is *PipeComponentClass*.

The **Write full hierarchy** checkbox allows the user, in the case of a re-export, to export the full R-Hierarchy in the bulkload file. Otherwise, a re-export produces an empty R-Hierarchy sheet.

The **Build** tab shows the project settings from the project tree view and allows configuration of the Visual Basic code output and compilation.

- **Error logging**: the log file is written here.
- **Project target folder**: the Visual Basic code is written here.
- **Output format**: `VB6` code or `VB.NET`.
- **Make DLL binary compatible**: Recommended when the Visual Basic code is not modified manually by the user.
- **Include advanced debugging code**: Recommended to be disabled, as it produces debugging code in the Visual Basic project that may slow down your system.
- **Compile project**: Works only when Visual Basic 6.0 is installed and all Intergraph DLLs normally required for SmartPlant 3D symbol development are available on the system. Starts Visual Basic and compiles the Visual Basic project.

> To compile the Visual Basic 6 code, the SmartPlant 3D `Programming Resources` must be installed.

- **Delete Visual Basic files after compiler run**: cleans up the target directory.

The **Start** button executes the workflow defined in the **Symbol** and **Build** tabs. Before the export starts, **3D SymbolDesigner** checks whether the parameters and the variant names used are valid, see *0 Naming rules*. This helps to prevent errors during the subsequent bulk load process. Any errors are displayed in the **Error list** tab. Click an item in the list to move the cursor to the corresponding cell in the table.

### Export of a 3D PDF datasheet

For the 3D PDF datasheet export, a **PlantDocumentDesigner** template file is required (Template.pdprj). A sample file is provided in the **Samples\\3D PDF\\Template** subdirectory of the **3D SymbolDesigner** installation folder. You can either edit the template file with an XML editor or, more conveniently (WYSIWYG), with the CAXperts **PlantDocumentDesigner**. To activate the **3D PDF** export, you must specify the path to the Template.pdprj file on the **Options** tab of **3DSymbolDesigner**:

<img src="./media/image9.jpg" width="460" height="70">

If no path is selected, or if the path is incorrect, no **3D PDF** export occurs. Otherwise, a 3D PDF datasheet is created as part of the same process whenever **Export to SmartPlant 3D** is used. Therefore, you must press the **Start** button in the **Export to SmartPlant 3D** configuration dialogue, SmartPlant 3D Wizard, to begin the export. To deactivate **3D PDF** export, you can double-click the **Plant document file** text on the **Options** tab, or delete the template file at the selected path.

Optionally, it is possible to add a **company logo** (.jpg) and a **drawing** (.jpg) to the **3D PDF** datasheet and to populate the text items on the datasheet with values from an **ini** file.

1. **Company logo**: Define the path to your **company logo** (`.jpg`) in the `Template.pdprj` file by using an XML editor. Furthermore, you can use the **PlantDocumentDesigner** to add your **company logo** to the `Template.pdprj`.

2. **Drawing**: To add a **drawing** (`.jpg`) file to the **3D PDF** datasheet, you must save your **drawing** in the project target folder that you have defined on the **Build** tab of the **Export to SmartPlant 3D** configuration dialogue (SmartPlant 3D Wizard). If the drawing file has the same name as the class name defined on the **Symbol** tab in the tree under the key column, the drawing will be added to the 3D PDF file. Otherwise, if there is no file with the same name as the class, **3D SymbolDesigner** will create a screenshot, save it in the target folder and add it to the 3D PDF file.

    <img src="./media/image10.jpg" width="682" height="900">

3. **Ini file**: To populate optional fields and overwrite fields on the first page of the 3D PDF file, you can define some input values in an ini file. An ini example file is provided in the `Samples\\3D PDF\\Ini` subdirectory of your **3D SymbolDesigner** installation. You must save your ini file in the project target folder that you have defined on the **Build** tab of the **Export to SmartPlant 3D** configuration dialogue (SmartPlant 3D Wizard). If it has the same name as the class name defined on the **Symbol** tab in the tree under the key column, the input from the ini file will be added to the 3D PDF file. To define values in the ini file, use this syntax: `###FullDescription###=Full description of the symbol`. In the 3D PDF, "Full description of the symbol" will appear in the `FullDescription` item (defined by setting its text to `###FullDescription###` in the XML file). If there is no assignment in the ini file, the item will be empty or populated with automatic values by 3D SymbolDesigner. On the second page of the **3D PDF** file, interface parameter names, input parameters, output parameters, aspects and ports are listed. The items marked with "???" could not be populated by **3D SymbolDesigner** for some reason and can be edited manually (e.g. using Adobe Acrobat).

    <img src="./media/image11.jpg" width="849" height="648">

#### Distributing symbols

If the symbol being distributed is an existing symbol that has been modified, the major version number in the Visual Basic project properties must be increased by `1`. Increasing the major version number by `1` forces the recomputation of existing symbol occurrences when the **Synchronise Model With Catalogue** command is run in Project Management. If an existing symbol is modified and distributed, all new symbol occurrences use the new symbol, unless the new occurrence uses an existing entry from the symbol cache. If an existing symbol is modified and distributed, and an existing occurrence is recomputed, it uses the new symbol if the recomputation results in the creation of a new entry in the symbol cache.

##### Preferred method

1. Place the DLL for the new or modified symbol on the server's symbols share and publish the symbol with the Update Custom Symbol Configuration command in Project Management.
1. 
##### Non-preferred method

1. On a client machine, copy the DLL from the server to the local `[Product Directory]\CatalogData\Symbols\bin` folder.
2. Register the new `.DLL` by clicking **Start > Run** and typing: `regsvr32 "[Product Directory]\CatalogData\Symbols\bin\<name of DLL>"`
3. Repeat steps 2 and 3 on each client machine.

### Recent documents

The most recently used files are listed here.

### About CAXperts 3D SymbolDesigner

![](./media/image79.png)

The **About** option displays a dialogue with information about the software product and version. The **System Info** button launches Microsoft System Information, which provides useful additional information about the hardware and software configuration of your computer system.

### Exit

**Exit** closes CAXperts **3D SymbolDesigner**.

## Project

### Variants

A variant is a named group of parameter values which can be used for testing the parameterisation of a symbol. Variants are exported to SmartPlant 3D bulk load sheets.

### Insert variant

**Insert variant** (![InsertVariant](./media/image80.png)) inserts a variant into the symbol project.

### Delete variant

**Delete variant** (![](./media/image81.png)) deletes the selected variant from the symbol project.

### Parameters

#### Add parameter

A **parameter** (![Parameter](./media/image82.png)) is an element of the symbol tree that comprises a name and a value. The name is unique across the whole symbol project and can be referenced by any formula. A parameter is mapped to a SmartPlant 3D parameter name by the SmartPlant 3D mapping row in the variants grid of the symbol project. If a lookup in `Config.xls`, located in the `data` subdirectory of **3D SymbolDesigner**, shows that this parameter name is present, the parameter mapping has a green background. Otherwise, it remains red, which means that this parameter is not exported to SmartPlant 3D. You can also change the mapping by using the context menu, right-click.

#### Add text parameter

A **text parameter** (![Text](./media/image83.png)) is an element of the symbol tree that comprises a name and a text value. The name is unique across the whole symbol project and can be referenced by any formula. A text parameter is mapped to a SmartPlant 3D parameter name by the SmartPlant 3D mapping row in the variants grid of the symbol project. Text parameters can contain non-numeric values.

### Bodies

**3D SymbolDesigner** contains the full set of shapes known from Intergraph PDS.

The following rules define how geometric transformations are applied to a shape:

1. The shape is placed at the origin of the world coordinate system, that is, the local coordinate system of the shape matches the world coordinate system, marked red-green-blue.
2. The shape's geometry is scaled according to the values set in its **.Geometry** sub-tree.
3. The shape is rotated about the global X axis by the angle specified in its **.Rotation.X** item.
4. The shape is rotated about the global Y axis by the angle specified in its **.Rotation.Y** item.
5. The shape is rotated about the global Z axis by the angle specified in its **.Rotation.Z** item.
6. The shape is translated by the distances specified in its **.Translation** subtree.

The shapes included with **3D SymbolDesigner** are described below. The anchor of each shape is marked magenta-yellow-cyan.

#### Cylinder

<img src="./media/2_image29.png" width="888" height="393">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

Cylinder.

</td><td>

Right Circular Cylinder (1)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.D1

</td><td>

B

</td><td>

</td></tr>
</table>

#### Cone

<img src="./media/2_image30.png" width="888" height="328">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

Cone.

</td><td>

Right Circular Cone (2)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.D1

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.D2

</td><td>

C

</td><td>

</td></tr>
</table>

#### Eccentric circular cone

<img src="./media/2_image31.png" width="888" height="300">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

EccentricCircularCone.

</td><td>

Eccentric Circular Cone (3)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.A1

</td><td>

</td><td>

Angle of the left face

</td></tr>
<tr><td>

.Geometry.A2

</td><td>

</td><td>

Angle of the right face

</td></tr>
<tr><td>

.Geometry.AR1

</td><td>

</td><td>

Aspect ratio of the left face

</td></tr>
<tr><td>

.Geometry.AR2

</td><td>

</td><td>

Aspect ratio of the right face

</td></tr>
<tr><td>

.Geometry.D1

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.D2

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

</td><td>

Horizontal offset of the right face

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

</td><td>

Vertical offset of the right face

</td></tr>
</table>

#### Truncated rectangular prism

<img src="./media/2_image32.png" width="888" height="382">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

TruncatedRectangularPrism.

</td><td>

Truncated Rectangular Prism (12)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.L4

</td><td>

D

</td><td>

</td></tr>
<tr><td>

.Geometry.L5

</td><td>

E

</td><td>

</td></tr>
</table>

#### Eccentric rectangular prism

<img src="./media/2_image33.png" width="888" height="347">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

EccentricRectangularPrism.

</td><td>

Eccentric Rectangular Prism (13)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.A1

</td><td>

</td><td>

Angle of the left face

</td></tr>
<tr><td>

.Geometry.A2

</td><td>

</td><td>

Angle of the right face

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.L4

</td><td>

D

</td><td>

</td></tr>
<tr><td>

.Geometry.L5

</td><td>

E

</td><td>

</td></tr>
</table>

#### Octagonal solid

<img src="./media/2_image34.png" width="888" height="386">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

OctagonalSolid.

</td><td>

Octagonal Solid (8)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

Ignored

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.L4

</td><td>

D

</td><td>

</td></tr>
</table>

#### Hexagonal solid

<img src="./media/2_image35.png" width="888" height="296">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

HexagonalSolid.

</td><td>

Hexagonal Solid (7)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

Ignored

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.L4

</td><td>

D

</td><td>

</td></tr>
</table>

#### Box

<img src="./media/2_image36.png" width="888" height="460">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

Box.

</td><td>

Rectangular Solid (6)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

C

</td><td>

</td></tr>
</table>

#### Triangular solid

<img src="./media/2_image37.png" width="888" height="361">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

TriangularSolid.

</td><td>

Triangular Solid (5)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.A1

</td><td>

D

</td><td>

Ignored

</td></tr>
</table>

#### Extruded solid

<img src="./media/2_image38.png" width="888" height="260">

Additional UV points can be added by **Insert → Vertices → UV point**

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

ExtrudedSolid.

</td><td>

User Projected Shape (9)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

Projection

</td><td>

</td></tr>
<tr><td>

.Geometry.Vertices.UVVector1.U

</td><td>

1 X

</td><td>

</td></tr>
<tr><td>

.Geometry.Vertices.UVVector1.V

</td><td>

1 Y

</td><td>

</td></tr>
<tr><td>

...

</td><td>

...

</td><td>

</td></tr>
<tr><td>

.Geometry.Vertices.UVVector20.U

</td><td>

20 X

</td><td>

</td></tr>
<tr><td>

.Geometry.Vertices.UVVector20.V

</td><td>

20 Y

</td><td>

</td></tr>
</table>

#### Sphere

<img src="./media/2_image39.png" width="888" height="290">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

Sphere.

</td><td>

Sphere (17)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.D1

</td><td>

A

</td><td>

</td></tr>
</table>

#### Semisphere

<img src="./media/2_image40.png" width="888" height="292">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

Semisphere.

</td><td>

Semi-Elliptical Head (4)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.D1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.R1

</td><td>

B

</td><td>

</td></tr>
</table>

#### Rotational solid

See extruded solid. There is no similar object in PDS.

#### Transition element

<img src="./media/2_image41.png" width="888" height="423">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

TransitionElement.

</td><td>

Transition Element (15)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.D1

</td><td>

D

</td><td>

</td></tr>
</table>

#### Eccentric transition element

<img src="./media/2_image42.png" width="343" height="278">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

EccentricTransitionElement.

</td><td>

Eccentric Transition Element (16)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.

</td><td>

A1

</td><td>

Angle of the left face

</td></tr>
<tr><td>

.Geometry.

</td><td>

A2

</td><td>

Angle of the right face

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.L3

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.

</td><td>

L4

</td><td>

1st offset of the right face

</td></tr>
<tr><td>

.Geometry.

</td><td>

L5

</td><td>

2nd offset of the right face

</td></tr>
<tr><td>

.Geometry.D1

</td><td>

D

</td><td>

</td></tr>
</table>

#### Torus

<img src="./media/2_image43.png" width="888" height="466">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

Torus.

</td><td>

Circular Torus (10)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.D1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.R1

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.A1

</td><td>

C

</td><td>

</td></tr>
</table>

#### Rectangular torus

<img src="./media/2_image44.png" width="888" height="498">

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

RectangularTorus.

</td><td>

Rectangular Torus (11)

</td><td>

</td></tr>
<tr><td>

.Translation.X

</td><td>

X

</td><td>

</td></tr>
<tr><td>

.Translation.Y

</td><td>

Y

</td><td>

</td></tr>
<tr><td>

.Translation.Z

</td><td>

EL

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

A

</td><td>

</td></tr>
<tr><td>

.Geometry.L2

</td><td>

B

</td><td>

</td></tr>
<tr><td>

.Geometry.R1

</td><td>

C

</td><td>

</td></tr>
<tr><td>

.Geometry.A1

</td><td>

D

</td><td>

</td></tr>
</table>

#### Vessel end

<table>
<tr><th>3D SymbolDesigner</th><th>PDS</th><th>Comment</th></tr>
<tr><td>

.Geometry.D1

</td><td>

-

</td><td>

</td></tr>
<tr><td>

.Geometry.L1

</td><td>

-

</td><td>

</td></tr>
<tr><td>

.Geometry.EndType

</td><td>

-

</td><td>

DIN28011 or DIN28013

</td></tr>
</table>

### Ports & connectors

A parameter collection (![CablePort](./media/image84.png), ![CableTrayConnector](./media/image85.png), ![CableTrayPort](./media/image86.png), ![ConduitPort](./media/image87.png), ![FoundationPort](./media/image88.png), ![HangerPort](./media/image89.png), ![HVACPort](./media/image90.png)) contains parameters which are typically provided by SmartPlant 3D for the placement and dimensioning of nozzles. You can set values in this collection for testing purposes. The values are not exported; they will be provided at runtime by SmartPlant 3D. Each connector requires its own parameter collection. Parameter collections have mappings with a grey background colour.

##### Cable connector

A **Cable connector** (![CableConnector](./media/image91.png)) indicates the start position and direction of cables leading away from the symbol.

##### Cable tray connector

A **Cable tray connector** (![CableTrayConnector](./media/image85.png)) indicates the start position, direction and orientation of cable trays leading away from the symbol.

##### Conduit connector

A **Conduit connector** (![ConduitConnector](./media/image92.png)) indicates the start position and direction of conduits leading away from the symbol.

##### Piping connector

A **Piping connector** (![PipingConnector](./media/image51.png), formerly **Variable nozzle**) indicates the start position and direction of pipes leading away from the symbol.

##### Smart piping connector for datum point based nozzles on equipment

Smart piping connectors (![SmartPipingConnector](./media/image93.png)) use N1, N2, N3, N5 and OR1 to specify their position in relation to a datum point. Therefore, they can only be used within the Geometry subnode of a **DatumPoint** object and will work only on equipment symbols. The following PlacementType values are allowed:

-   Radial
-   Tangential
-   Axial
-   Skew
-   OffsetSkew

<img src="./media/image94.png" width="751" height="589">

<img src="./media/image95.png" width="752" height="572">

<img src="./media/image96.png" width="752" height="248">

##### Elbow piping connector

An **Elbow piping connector** (![ElbowPipingConnector](./media/image97.png)) indicates the start position and direction of pipes leading away from the symbol.

##### Foundation connector

A **Foundation connector** (![FoundationConnector](./media/image98.png)) indicates the start position and direction of foundation connections.

##### HVAC connector

An **HVAC connector** (![HVACConnector](./media/image99.png)) indicates the start position and direction of HVAC pipes leading away from the symbol. On the port, the following codelist numbers are available for the CrossSectionShape: 1 Rectangular, 3 Flat Oval, 4 Round.

##### Hanger connector

A **Hanger connector** (![HangerConnector](./media/image100.png)) indicates the start position and direction of support/hanger connections.

##### Datum Point

A new project already has one datum point (![DatumPoint](./media/image101.png)). To add additional ones, please use this button. Nozzles are always logically attached to DatumPoint1 unless they belong to the Geometry subnode of another datum point.

##### Operator

An **Operator** (![Operator](./media/image102.png)) indicates the position and direction of an external operator symbol.

> To easily import the parameters of a port, use the **Load node from file** function (see: **Load node from file**).

### Points & lines

**UV vectors** can be added to **Extruded solid**s (select the .Geometry.Vertices subnode). An **UV vector** is a coordinate double representing a corner of the extruded two-dimensional shape.

A **ControlPoint** can be added to equipment symbols.

### Control flow statements

#### Add FOR loop

**For loops** are useful when the user wants to build symbols such as ladders or stairs. The Parameters subnode specifies the from, to and step values of the loop. All primitives in the Geometry subnode will be placed into a "For ... Next" loop in the Visual Basic code and should therefore be renamed to a SmartPlant 3D variable output name (i.e. "\_"-ending).

### CSG operations

#### Add union

A **union** can contain other nodes in its Geometry subnode. This might be helpful for complex symbols with many primitives. It is possible to place a **union** within a **union**; for this purpose, use the drag & drop function after creating the **union**. Similarly, to place geometry bodies in the **union**, use the drag & drop function on the Union.Geometry node.

### Parts

**Configuration index calculator** (![Calculator](./media/image103.png)) opens a "clone" of the Intergraph Configuration Index Calculator.

## Edit

### Object

The Object menu item is used to rotate and translate an object that means to turn it around the axes X, Y or Z or to move it without rotating in X, Y or Z direction.

### Clipboard

### Cut

**Cut** (![](./media/image104.png)) cuts the selected item to the clipboard.

### Copy

**Copy** (![](./media/image105.png)) copies the selected item to the clipboard.

### Paste

**Paste** (![](./media/image106.png)) pastes the clipboard content to the selected item.

### Properties

### Show properties

**Show properties** shows the properties dialogue.

## Tree context menu

### Save node to file

**Save node to file** ( ) allows the user to save the geometry data of a tree node (e.g.: cylinder, sphere, union, etc.) to an xml file.

### Load node to file

**Load node to file** ( ) allows the user to load the geometry data from an xml file to the tree.

### Copy formula

**Copy formula** ( ) allows the user to copy the selected parameter formula to the clipboard. Used on a rotation or translation node instead of a parameter, the x-, y-, and z- value will be copied.

### Paste formula

**Paste formula** ( ) allows the user to paste the clipboard content to the selected parameter formula. When used on a rotation or translation node the x-, y-, and z- value will be pasted.

## View

The **View** menu is for configuring the visual appearance of the **3D SymbolDesigner** Graphical User Interface (GUI) and of the open symbol project.

### Camera

### Zoom in

If **Zoom in** (![ZoomIn](./media/image107.png)) is clicked, the distance between the camera and the object becomes shrunk (usually by factor 0.5).

### Zoom out

If **Zoom out** (![ZoomOut](./media/image108.png)) is clicked, the distance between the camera and the object becomes stretched (usually by factor 0.5)

### Translate view

You use the **Translate view** (![Translation](./media/image109.png)) tool to translate the canvas non-destructively; it does not transform the image. Select the **Translate view** tool and click-drag in the image to translate.

### Rotate view

You use the **Rotate view** (![Rotate](./media/image110.png)) tool to rotate the canvas non-destructively; it does not transform the image. Rotating the canvas can be useful for any number of reasons, including facilitating easier painting or drawing. Select the **Rotate view** tool and click-drag in the image to rotate.

### Fit

If **Fit** (![](./media/image111.png)) is clicked, the coordinate system gets placed in the middle. The distance/magnification between the camera and the object remains unchanged.

### Y-axis up

(![YUp](./media/image112.png)) sets the Y axis = up axis (not recommended for non-piping symbols).

### Z-axis up

(![ZUp](./media/image113.png)) sets the Z axis = up axis (recommended for all symbols).

### Program

**Status bar** toggles the display of the status bar.
**Grid** toggles the display.

### Renderer

The **Renderer** changes an image by means of computer programs.

### Solid

(![Solid](./media/image114.png)) represents an image as a solid object.

### Wireframe

(![Wireframe](./media/image115.png)) shows wire frame view.

### Transparency

(![RenderTransparency](./media/image116.png)) sharp transmission of light through solid objects.

### Raster

(![RenderRaster](./media/image117.png))

### Level of detail

Numeric value from 1 to 42.

### Window

The items in the **Window** menu are for arranging the open **3D SymbolDesigner** sub forms.

### Cascade

**Cascade** (![Cascade](./media/image118.png)) cascades all open **3D SymbolDesigner** sub windows.

### Tile Horizontal

**Tile Horizontal** (![TileHorizontal](./media/image119.png)) rearranges all open **3D SymbolDesigner** sub windows in rows.

### Tile Vertical

**Tile Vertical** (![TileVertical](./media/image120.png)) rearranges all open **3D SymbolDesigner** sub windows in columns.

## Options

### Configuration file

- **Open** (![](./media/image73.png)) the selected configuration file.
- **Reload** (![Rotate](./media/image110.png)) the selected configuration file (e.g. after changes in the configuration file).

> Don't forget to save the configuration file before **Reload**.

### Log file folder

The log file folder is the folder where the **3D SymbolDesigner**.log goes to. Use **Browse...** to select a folder.

### Database

The **Database** tab shows a dialogue for configuring the database connection.

## Licence

See *Setup*.

## Help

![](./media/image121.png) shows the **3D SymbolDesigner** online help.