Вы находитесь на странице: 1из 209

Electrical

3D Symbols Reference

Version 2016 (11.0)


November 2016
Copyright
Copyright © 2001-2016 Intergraph® Corporation. All Rights Reserved. Intergraph is part of Hexagon.
Including software, file formats, and audiovisual displays; may be used pursuant to applicable software license agreement; contains
confidential and proprietary information of Intergraph and/or third parties which is protected by copyright law, trade secret law, and
international treaty, and may not be provided or otherwise made available without proper authorization from Intergraph Corporation.
Portions of this software are owned by Spatial Corp. © 1986-2016. All Rights Reserved.
Portions of the user interface are copyright © 2012-2016 Telerik AD.

U.S. Government Restricted Rights Legend


Use, duplication, or disclosure by the government is subject to restrictions as set forth below. For civilian agencies: This was
developed at private expense and is "restricted computer software" submitted with restricted rights in accordance with
subparagraphs (a) through (d) of the Commercial Computer Software - Restricted Rights clause at 52.227-19 of the Federal
Acquisition Regulations ("FAR") and its successors, and is unpublished and all rights are reserved under the copyright laws of the
United States. For units of the Department of Defense ("DoD"): This is "commercial computer software" as defined at DFARS
252.227-7014 and the rights of the Government are as specified at DFARS 227.7202-3.
Unpublished - rights reserved under the copyright laws of the United States.
Intergraph Corporation
305 Intergraph Way
Madison, AL 35758

Documentation
Documentation shall mean, whether in electronic or printed form, User's Guides, Installation Guides, Reference Guides,
Administrator's Guides, Customization Guides, Programmer's Guides, Configuration Guides and Help Guides delivered with a
particular software product.

Other Documentation
Other Documentation shall mean, whether in electronic or printed form and delivered with software or on Intergraph Smart Support,
SharePoint, or box.net, any documentation related to work processes, workflows, and best practices that is provided by Intergraph
as guidance for using a software product.

Terms of Use
a. Use of a software product and Documentation is subject to the End User License Agreement ("EULA") delivered with the
software product unless the Licensee has a valid signed license for this software product with Intergraph Corporation. If the
Licensee has a valid signed license for this software product with Intergraph Corporation, the valid signed license shall take
precedence and govern the use of this software product and Documentation. Subject to the terms contained within the
applicable license agreement, Intergraph Corporation gives Licensee permission to print a reasonable number of copies of the
Documentation as defined in the applicable license agreement and delivered with the software product for Licensee's internal,
non-commercial use. The Documentation may not be printed for resale or redistribution.
b. For use of Documentation or Other Documentation where end user does not receive a EULA or does not have a valid license
agreement with Intergraph, Intergraph grants the Licensee a non-exclusive license to use the Documentation or Other
Documentation for Licensee’s internal non-commercial use. Intergraph Corporation gives Licensee permission to print a
reasonable number of copies of Other Documentation for Licensee’s internal, non-commercial use. The Other Documentation
may not be printed for resale or redistribution. This license contained in this subsection b) may be terminated at any time and
for any reason by Intergraph Corporation by giving written notice to Licensee.
Disclaimer of Warranties
Except for any express warranties as may be stated in the EULA or separate license or separate terms and conditions, Intergraph
Corporation disclaims any and all express or implied warranties including, but not limited to the implied warranties of merchantability
and fitness for a particular purpose and nothing stated in, or implied by, this document or its contents shall be considered or deemed
a modification or amendment of such disclaimer. Intergraph believes the information in this publication is accurate as of its
publication date.
The information and the software discussed in this document are subject to change without notice and are subject to applicable
technical product descriptions. Intergraph Corporation is not responsible for any error that may appear in this document.
The software, Documentation and Other Documentation discussed in this document are furnished under a license and may be used
or copied only in accordance with the terms of this license. THE USER OF THE SOFTWARE IS EXPECTED TO MAKE THE FINAL
EVALUATION AS TO THE USEFULNESS OF THE SOFTWARE IN HIS OWN ENVIRONMENT.

Electrical 3D Symbols Reference 2


Intergraph is not responsible for the accuracy of delivered data including, but not limited to, catalog, reference and symbol data.
Users should verify for themselves that the data is accurate and suitable for their project work.

Limitation of Damages
IN NO EVENT WILL INTERGRAPH CORPORATION BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL INCIDENTAL,
SPECIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, LOSS OF USE OR PRODUCTION, LOSS OF
REVENUE OR PROFIT, LOSS OF DATA, OR CLAIMS OF THIRD PARTIES, EVEN IF INTERGRAPH CORPORATION HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
UNDER NO CIRCUMSTANCES SHALL INTERGRAPH CORPORATION’S LIABILITY EXCEED THE AMOUNT THAT
INTERGRAPH CORPORATION HAS BEEN PAID BY LICENSEE UNDER THIS AGREEMENT AT THE TIME THE CLAIM IS
MADE. EXCEPT WHERE PROHIBITED BY APPLICABLE LAW, NO CLAIM, REGARDLESS OF FORM, ARISING OUT OF OR IN
CONNECTION WITH THE SUBJECT MATTER OF THIS DOCUMENT MAY BE BROUGHT BY LICENSEE MORE THAN TWO (2)
YEARS AFTER THE EVENT GIVING RISE TO THE CAUSE OF ACTION HAS OCCURRED.
IF UNDER THE LAW RULED APPLICABLE ANY PART OF THIS SECTION IS INVALID, THEN INTERGRAPH LIMITS ITS
LIABILITY TO THE MAXIMUM EXTENT ALLOWED BY SAID LAW.

Export Controls
Intergraph Corporation’s software products and any third-party Software Products obtained from Intergraph Corporation, its
subsidiaries, or distributors (including any Documentation, Other Documentation or technical data related to these products) are
subject to the export control laws and regulations of the United States. Diversion contrary to U.S. law is prohibited. These Software
Products, and the direct product thereof, must not be exported or re-exported, directly or indirectly (including via remote access)
under the following circumstances:
a. To Cuba, Iran, North Korea, Sudan, or Syria, or any national of these countries.
b. To any person or entity listed on any U.S. government denial list, including but not limited to, the U.S. Department of Commerce
Denied Persons, Entities, and Unverified Lists, http://www.bis.doc.gov/complianceandenforcement/liststocheck.htm, the U.S.
Department of Treasury Specially Designated Nationals List, http://www.treas.gov/offices/enforcement/ofac/, and the U.S.
Department of State Debarred List, http://www.pmddtc.state.gov/compliance/debar.html.
c. To any entity when Licensee knows, or has reason to know, the end use of the Software Product is related to the design,
development, production, or use of missiles, chemical, biological, or nuclear weapons, or other un-safeguarded or sensitive
nuclear uses.
d. To any entity when Licensee knows, or has reason to know, that an illegal reshipment will take place.
Any questions regarding export or re-export of these Software Products should be addressed to Intergraph Corporation’s Export
Compliance Department, Huntsville, Alabama 35894, USA.

Trademarks
Intergraph, the Intergraph logo, PDS, SmartPlant, FrameWorks, I-Sketch, SmartMarine, IntelliShip, ISOGEN, SmartSketch,
SPOOLGEN, SupportManager, SupportModeler, Sapphire, and Intergraph Smart are trademarks or registered trademarks of
Intergraph Corporation or its subsidiaries in the United States and other countries. Hexagon and the Hexagon logo are registered
trademarks of Hexagon AB or its subsidiaries. Microsoft and Windows are registered trademarks of Microsoft Corporation. ACIS is a
registered trademark of SPATIAL TECHNOLOGY, INC. Infragistics, Presentation Layer Framework, ActiveTreeView Ctrl,
ProtoViewCtl, ActiveThreed Ctrl, ActiveListBar Ctrl, ActiveSplitter, ActiveToolbars Ctrl, ActiveToolbars Plus Ctrl, and ProtoView are
trademarks of Infragistics, Inc. Incorporates portions of 2D DCM, 3D DCM, and HLM by Siemens Product Lifecycle Management
Software III (GB) Ltd. All rights reserved. Gigasoft is a registered trademark, and ProEssentials a trademark of Gigasoft, Inc.
VideoSoft and VXFlexGrid are either registered trademarks or trademarks of ComponentOne LLC 1991-2013, All rights reserved.
Oracle, JD Edwards, PeopleSoft, and Retek are registered trademarks of Oracle Corporation and/or its affiliates. Tribon is a
trademark of AVEVA Group plc. Alma and act/cut are trademarks of the Alma company. Other brands and product names are
trademarks of their respective owners.

Electrical 3D Symbols Reference 3


Contents
Preface .......................................................................................................................................................... 7
Documentation Comments ..................................................................................................................... 8

What's New in Electrical 3D Symbols........................................................................................................ 8

Symbols ........................................................................................................................................................ 9
2D Symbols ........................................................................................................................................... 10
3D Symbols ........................................................................................................................................... 10
Defining Ports on Symbols .................................................................................................................... 11
Providing a Graphical Preview .............................................................................................................. 12
Add a Preview Graphic to Parts using Bulkload ............................................................................. 13

Creating .NET Symbols ............................................................................................................................. 15


Understanding the Geometry ................................................................................................................ 15
Defining Ports on Symbols ............................................................................................................. 16
Writing Code for the .NET Symbol ........................................................................................................ 16
Deploying the Symbols ................................................................................................................... 17
Naming of the Symbol Definition .................................................................................................... 17
Bulkloading the Symbol ........................................................................................................................ 18
Bulkloading the Piping Symbol ....................................................................................................... 18
Placing the Symbol ............................................................................................................................... 18
Creating an Advanced Symbol ............................................................................................................. 19
Dynamic Outputs ............................................................................................................................ 20
Custom Weight and Center of Gravity (COG) ................................................................................ 20
Custom Evaluation of Origin and Orientation ................................................................................. 21
Custom Foul Check ........................................................................................................................ 22
Custom Mirror ................................................................................................................................. 23
Custom Property Management ...................................................................................................... 23
To Do Record Messages ................................................................................................................ 24
Checking the Status of Nested Symbols ........................................................................................ 26
Creating .NET Symbols using the Symbol Wizard ......................................................................... 27
Useful Tips for Symbol Definition Coding ....................................................................................... 27
Migrating an Existing Symbol to .NET .................................................................................................. 28
Migration Wizard ............................................................................................................................. 28
Workflow ......................................................................................................................................... 28
Migrated .NET Symbol Class ................................................................................................................ 28
Creating a Custom Assembly ............................................................................................................... 29
Defining a Custom Assembly ......................................................................................................... 29
Defining Assembly Outputs ............................................................................................................ 29
Creating / Evaluating Assembly Outputs ........................................................................................ 29
Creating Assembly Output ............................................................................................................. 29
Modify Assembly Outputs ............................................................................................................... 30
Optional Assembly Outputs ............................................................................................................ 30
Accessing Object Inputs ................................................................................................................. 31

Electrical 3D Symbols Reference 4


Contents

Allowing End-Users to Delete Assembly Outputs .......................................................................... 31


Dynamic Outputs ............................................................................................................................ 32
Bulkloading a Custom Assembly .................................................................................................... 33
Creating and Scheduling Custom Batch Jobs ...................................................................................... 33
Creating a Custom Batch Job ........................................................................................................ 33
Configuring the Queues for Custom Batch Jobs ............................................................................ 34
Scheduling a Custom Batch Job .................................................................................................... 34

Troubleshooting Symbols ........................................................................................................................ 37


Debugging Symbols with .NET ............................................................................................................. 37
Testing Symbols.................................................................................................................................... 39
Update Symbol ............................................................................................................................... 39
Edit Symbol Occurrence ................................................................................................................. 40
Sources of Errors .................................................................................................................................. 41
Error Investigation Methods .................................................................................................................. 42

Symbol Validation Tool ............................................................................................................................. 43


Verify a single symbol definition ............................................................................................................ 43
Compare multiple symbol definitions .................................................................................................... 45
Run comparisons from the command line ............................................................................................ 46

Cable Tray Symbols .................................................................................................................................. 47


SP3DMultiCableTransit ......................................................................................................................... 48
Connection Parts................................................................................................................................... 51
CTHorAdjSplicePlate ...................................................................................................................... 51
SP3DCTVAdjSplicePlate ................................................................................................................ 54
Cross-Type Branch Fittings .................................................................................................................. 58
SP3DCrossCableTray .................................................................................................................... 58
Direction Change Fittings ...................................................................................................................... 64
SP3D15DegHorCableTray ............................................................................................................. 65
SP3D30HCableTray ....................................................................................................................... 68
SP3D30VCTrayInside .................................................................................................................... 70
SP3D30VCTrayOutside.................................................................................................................. 72
SP3D45HCableTray ....................................................................................................................... 73
SP3D45VCTrayInside .................................................................................................................... 77
SP3D45VCTrayOutside.................................................................................................................. 80
SP3D60HCableTray ....................................................................................................................... 83
SP3D60VCTrayInside .................................................................................................................... 86
SP3D60VCTrayOutside.................................................................................................................. 87
SP3D75HCableTray ....................................................................................................................... 89
SP3D75VCTrayInside .................................................................................................................... 90
SP3D75VCTrayOutside.................................................................................................................. 91
SP3D90HCableTray ....................................................................................................................... 92
SP3D90HExpRedCableTray .......................................................................................................... 99
SP3D90VCableTrayInside ........................................................................................................... 100
SP3D90VCableTrayOutside ......................................................................................................... 103
SP3DAdjHCableTray .................................................................................................................... 108
SP3DAdjVCableTray .................................................................................................................... 108
SP3DCableRiserTray ................................................................................................................... 109

Electrical 3D Symbols Reference 5


Contents

SP3DCT15DegVerInside.............................................................................................................. 111
SP3DCT15DegVerOutside ........................................................................................................... 113
SP3DCT90ReversalBend ............................................................................................................. 115
SP3DCTLeftDownTwoWay .......................................................................................................... 116
SP3DCTLeftUpTwoWay ............................................................................................................... 118
SP3DCTRightDownTwoWay ........................................................................................................ 119
SP3DCTRightUpTwoWay ............................................................................................................ 120
End Fittings ......................................................................................................................................... 122
SP3DEndPlateCableTray ............................................................................................................. 122
Reducing Fittings ................................................................................................................................ 123
CTStepReducer ............................................................................................................................ 123
SP3DLeftReducerCableTray ........................................................................................................ 124
SP3DRightReducerCableTray ..................................................................................................... 126
SP3DSredCableTray (Straight Reducer) ..................................................................................... 127
Tee-Type Branch Fittings .................................................................................................................... 129
SP3DCTVerDownTeeSideBr ....................................................................................................... 129
SP3DCTVerUpTeeSideBr ............................................................................................................ 131
SP3DRedHBTeeCableTray .......................................................................................................... 132
SP3DTeeCableTray ..................................................................................................................... 133
SP3DVTeeDownCableTray .......................................................................................................... 140
SP3DVTeeUpCableTray .............................................................................................................. 143
Wye-Type Branch Fittings ................................................................................................................... 146
CTHorizontalTrueWye .................................................................................................................. 146
SP3DLeftWyeCableTray .............................................................................................................. 147
SP3DRightWyeCableTray ............................................................................................................ 150

Conduit Symbols ..................................................................................................................................... 153


CDTUTypeBody .................................................................................................................................. 153
CondOutletBody .................................................................................................................................. 154
SP3D90ConduitElbow ........................................................................................................................ 164
SP3DConduit45Elbow ........................................................................................................................ 173
SP3DConduitCap ................................................................................................................................ 174
SP3DConduitCoupling ........................................................................................................................ 175
SP3DConduitCross ............................................................................................................................. 177
SP3DConduitExpJoint ........................................................................................................................ 178
SP3DConduitHub ................................................................................................................................ 181
SP3DConduitPlug ............................................................................................................................... 184
SP3DConduitReducer ......................................................................................................................... 185
SP3DConduitReducingTee ................................................................................................................. 186
SP3DConduitSealEYS ........................................................................................................................ 187
SP3DConduitTanElbow ...................................................................................................................... 191
SP3DConduitTee ................................................................................................................................ 195
SP3DConduitUnion ............................................................................................................................. 198
SP3DConduitY .................................................................................................................................... 199
SP3DElecPullBox................................................................................................................................ 200

Index ......................................................................................................................................................... 208

Electrical 3D Symbols Reference 6


Preface
This document is a guide for Intergraph SmartTM 3D symbols reference data. The purpose of this
document is to describe how to create and customize the symbol reference data so that it fits
your company or project.
For information about the specific reference data for each discipline, see the reference data
guides available from the Help > Printable Guides command in the software.

Document Audience
This document is intended for advanced users who should:
 Have a good understanding of Microsoft® Office products, especially Microsoft Excel.
 Be familiar with Smart 3D database architecture and relational databases in general.
 Have a working knowledge of Solid Edge™ and Visual Basic® in order to create and modify
three-dimensional symbols. For cross-sectional symbols, you should be familiar with
Intergraph SmartSketch® or a similar product.
Using Solid Edge to create and modify three-dimensional symbols is supported
only for equipment symbols.

Related Documents
For more information about Smart 3D, please see the following documents:
Intergraph SmartTM 3D Installation Guide
Reference Data Guide

Electrical 3D Symbols Reference 7


Documentation Comments
For the latest support information for this product, comments or suggestions about this
documentation, and documentation updates for supported software versions, please visit
Intergraph Smart Support (https://smartsupport.intergraph.com).

What's New in Electrical 3D Symbols


.NET Symbols
Version 2016 (11.0)
 You can create and schedule custom batch jobs. For more information, see Creating and
Scheduling Custom Batch Jobs (on page 33). (P2 CP:249822)

Cable Tray Symbols


Version 2016 (11.0)
 No changes were made for this release.

Conduit Symbols
Version 2016 (11.0)
 No changes were made to this document for this release.

Electrical 3D Symbols Reference 8


SECTION 1

Symbols
Whether using one of the delivered symbols, or a custom symbol that you define yourself,
symbols are a key building block used to create your model. There are two basic types of
symbols that the software uses: 2-D and 3-D.
The 2-D symbols are used to represent structural member cross-sections, slots, collars and
clips, brackets, and standard openings. You can use any of the defined cross sections or define
your own custom cross-sections. For more information about 2-D symbols, refer to the 2D
Symbols User's Guide.
The 3-D symbols are used to represent equipment, hangers, HVAC components, piping
components, and so forth in your model. There are hundreds of symbols that you can use as-is
or customize to fit your needs. You can also create your own symbols. This document describes
how to create symbols, incorporate them into your reference data, and describes the parameters
of the delivered symbols.
In addition to the symbols delivered with the software, Intergraph provides symbols and symbol
fixes on the Intergraph Smart Support (https://smartsupport.intergraph.com) web site. These
symbols are available on the product page under Downloads > Smart 3D > Content.
In order to fully understand symbols, you need to learn a few terms:
 Symbol - A symbol is a custom business object that provides a symbolic representation of a
set of graphics. It is possible for this set of graphics to look completely different in the
different display aspects.
 Flavor - A flavor is the persistent cache of all the graphic objects displayed by a symbol.
Each symbol visible in a session is just a symbolic representation (geometric transformation)
of the graphics stored in a flavor.
 Symbol Definition - A symbol definition is the persistent template for all symbols in a
database. It is the definition of the inputs, outputs, and options of all symbols created using
this symbol definition.
 Flavor Manager - When many symbols use the same flavor, a flavor manager object is
created to manage the relationships between the symbols, flavor, and symbol definition.
 Custom Component - A special symbol that has no flavor. Each custom component is a
unique symbol containing its graphic objects.
 Outputs - Persistent objects that are created by the symbol when it calculates. The most
common form of output is a graphic object, but output can be parameters.
 Inputs - Optional persistent objects used by a symbol to calculate its outputs.
See Also
Troubleshooting Symbols (on page 37)

Electrical 3D Symbols Reference 9


Symbols

2D Symbols
The 2D Symbols application is used to create 2-D symbols used to represent profile cross-
sections, detailed parts, features, and end cuts in the Molded Forms and Structural Detailing
tasks, and member cross-sections in the Structure task. The main purpose of 2D Symbols is to
graphically create a flexible symbol definition so that it can be used to place different objects in a
model. Two-dimensional symbols are delivered in the [Product
Folder]\SharedContent\CrossSections folder.
You use 2D Symbols to create:
 The graphic representation or inputs of the symbol.
 Named symbol geometry, such as edge names used to orient the symbol in the 3-D
environment and to constrain different types of symbols to each other.
 Parameters, such as driving dimensions.
 Geometric constraints (relationships) that specify which reference data parameters control
which part of the symbol.
 Multiple representations, which can be selected in the model to control how the symbol is
displayed.
 Additional auxiliary graphic objects to create and constrain symbols. These auxiliary objects
do not become a part of symbol output geometry.
The utility also provides a dialog box for you to write the cross-section or profile into an Excel
workbook, which you can bulk load into the catalog.
For more information, see the 2D Symbols User's Guide available from the Help > Printable
Guides command in the software.

3D Symbols
You can customize additional three-dimensional symbols for your company using .NET coding.
The following picture shows the types of symbols and corresponding file formats .NET symbols
are in .vb or .cs format and will be delivered in .dll. The .dll symbols are registered on the
computer used to host the SharedContent share.
The tabular data for the symbols resides in the excel workbooks. For example, you list the
symbol name for the part on the part class sheet. You can use the Bulkload utility to load the
excel data into the Catalog Database.

Each .NET 3-D symbol comprises source code (.csproj and .cs or vbproj and .vb) and a
compiled file (.dll). The .dll files for the delivered 3-D symbols are located on the server
computer at [Product Folder]\SharedContent\bin. This folder is shared to allow client computers

Electrical 3D Symbols Reference 10


Symbols

to access the symbols. You specify this folder when you bulk load reference data. If necessary,
you can change the location when you bulk load a new catalog.
The 3-D symbol source code (.csproj and .cs or .vbproj or .vb) files are delivered during the
Programming Resources Installation. For more information on installing the Programming
Resources, refer to the Smart 3D Installation Guide.
To change a symbol, you must edit and then build the .NET code for the symbol. The new .dll
can be added to the Custom Symbols folder in the SharedContent share. You also must edit the
applicable bulk load workbook for the symbol, and bulk load the modified reference data into the
Catalog database.
When you add a new custom DLL to the [Reference Data
Folder]\SharedContent\Custom Symbols folder, or when you edit an existing custom DLL, you
must run the Tools > Update Custom Symbol Configuration command in Project
Management.
The overall workflow for creating a part is as follows:
 Create or modify a .NET project.
 Compile to create a .dll.
 Create or modify an Excel workbook to create the part information. As an alternative to the
workbooks, you can create part classes and part information in the Catalog task using the
Catalog > New > Class command. Refer to the Catalog User's Guide for more information.
 Bulk load the workbook. You do not need to bulk load anything if you create your part
classes in the Catalog task using the Catalog > New > Class command.
 Test the symbol in the software.
If you add new part classes after creating the Reports databases, you must re-create
the Reports databases in order to report on the new part classes.
See Also
Creating .NET Symbols (on page 15)

Defining Ports on Symbols


Most symbols have at least one port, which is a point on a part that connects to a routed item
such as pipe or cable. A port consists of an attachment point and direction, a set of application
properties, and a physical geometry depiction. A different class of port is required for each type
of routing item. For example, piping requires one type of port, while cable requires another.

Defining Ports
You define ports when you create a symbol and define the geometry of a part. You can create
three-dimensional symbols using .NET coding. In .NET, a function specifies the port type, name,
attachment point, and attachment vector.
The software places the ports based on the information in the geometry definition file for the part
and the reference data for the part. The geometry definition file defines the port type, name,
attachment point, and attachment vector. The reference data for the specific part (item of the
part class) defines the remainder of the property values for the port.

Electrical 3D Symbols Reference 11


Symbols

Modifying Ports
If you want to reposition a port on a part in the model, you must edit the geometry definition in
.NET. You should do this task only before any occurrences of the part are placed in the model.
A port is related to the part to which it is attached. When you move the part, the port also moves.
When you delete the part, the port is also deleted.

Providing a Graphical Preview


To make selecting and placing parts from the catalog easier, you can provide a preview graphic
of the part. This graphic helps you to visually identify the correct part in the catalog for
placement and should include any symbol dimensions that can be edited by you.
In the Catalog task, the Preview command on the View menu displays the preview graphic for
the item. You can see preview graphics when you place items in the design tasks by clicking
Preview on the Catalog browser from design tasks such as Equipment and Furnishings. In
addition, some Properties dialog boxes in the design tasks have a button that allows you to see
a preview of the selected item.
To add a preview graphic to the reference data, you must create a graphic file and store it in a
shared symbol folder on a networked computer. For example, you can place the graphic file in
[Product Folder]\SharedContent\Data, the default location installed during the Smart 3D Server
setup.
You can define a preview graphic for a specific part, which overrides any preview graphics
assigned to the part class. Any graphics created for individual parts must be stored in the same
location as those defined for part classes.
To link the preview graphic to the part or part class:
1. Edit the Microsoft Excel workbook that contains the part class information.
2. In the SymbolIcon cell, type the path and preview graphic name.
3. Bulk load the workbook into the Catalog Database using the bulkload utility.

Graphic Recommendations
 The graphic must be a Windows Bitmap (.bmp) or a CompuServe Graphics Interchange
(.gif) file. We recommend the .gif format because of the smaller file size.
 The graphic resolution should be 37 pixels per centimeter (94 pixels per inch).
 Use the lowest color depth possible without loss of image quality. Generally, this is 256
Colors (8 bit). However, some graphics can be dropped to 16 Colors (4 bit) or 2 Colors (1
bit) without loss of image quality.
 Use Verdana font with a font point size of 10 or 12 to place text in the graphic. We
recommend the Verdana font because 1 (one), I (capital i), and l (lower case L) can be
distinguished from one another in that font.
 Graphic dimensions should be as small as possible to allow you to have the graphic open
while working with the software. The maximum graphic dimension that you should create is
974 X 718 (50 pixels less than the default screen resolution of 1024 X 768). The software
does not limit the size of the graphic, so larger graphics can be used if your default screen
resolution is higher.

Electrical 3D Symbols Reference 12


Symbols

Add a Preview Graphic to Parts using Bulkload


1. Create a graphic file (.bmp or .gif) in a graphics package.

 The purpose of this graphic is to help you identify the correct part in the catalog. The
graphic also can assist in identifying dimensions on a part.
 You can create the graphic from a snapshot of a two-dimensional drawing or of the
three-dimensional model. You also can draw the graphic freehand in a graphics
package.
 The graphic pixel limitation is about the size of your screen because the preview box in
the Catalog task will automatically re-size around the graphic.
2. Save the graphic file in a shared symbol folder on the server. For example, you can place
the graphic file in [Product Folder]\SharedContent\Data, the default location installed during
the Smart 3D server setup.
3. Open the Excel workbook with the part class or part to which you want to add the preview
graphic.
4. Select a part class sheet.
For example, if you want to add a preview graphic to the Pump class in the
Equipment workbook, open Equipment.xls and select the Pump sheet.
5. In the Definition section on the sheet, add a column.
6. Type SymbolIcon at the top of the new column.
7. Below the SymbolIcon heading, type the name of the graphic file for the part class, such as
Pump.bmp.
8. In the Head/Start/End section, type SymbolIcon for the column heading in the new column.
9. Type the name of a graphic file beneath the SymbolIcon heading in the Head/Start/End
section.
This graphic file defines the preview for the specific PART. The part graphic overrides the
preview graphic for the PART CLASS.

 If you want a part to have the same symbol file as the parent part class, type NULL
beneath the SymbolIcon heading in the Head/Start/End section. Or, you can leave the
cell blank.

Electrical 3D Symbols Reference 13


Symbols

 The following picture shows an Excel sheet that lists a symbol icon.

10. Mark all of the rows that you modified with the letter M.
11. Bulkload the workbook in the Add/Modify/Delete mode. For more information about
bulkloading, see Bulk Load Database with Data in the Reference Data Guide.

 If you do not want to specify a preview graphic for a part class or part, do not add the
SymbolIcon heading to the Definition or Head/Start/End sections. You do not have to
specify a preview graphic for a part class or part.
 You can check the preview by starting the Catalog task, selecting the part or part class, and
clicking View > Preview. You also can see the preview by selecting an item in the model
and displaying the Properties dialog box for the item. Some Properties dialog boxes have a
button that allows you to see a preview of the selected item.
 The software delivery includes preview symbols for several items. The delivery location for
many of the preview symbols is [Product Folder]\SharedContent\Data on the server
computer. If you want to add symbols, you must create the graphic and bulkload as
described above.
See Also
Providing a Graphical Preview (on page 12)

Electrical 3D Symbols Reference 14


SECTION 2

Creating .NET Symbols


Creating Smart 3D symbol content using the .NET 3D API provides the following benefits:
1. Access to the new and improved 3D API application objects and services.
2. Use of the 3D API from within the latest .NET framework.
3. Built-in support for running in future 64-bit applications.
To place a symbol in the 3D environment, you need graphical data (.NET symbol) and non-
graphical data (Excel workbook containing specifications, rules, dimensional data, and so forth).
To create a symbol in the software, do the following:
1. Understand the geometry and use of the symbol.
2. Write .NET code for the geometry outputs to be created.
3. Sign the assembly with a strong name.
4. Bulkload the symbol data into the catalog database.
You do not need to manually grant the computer access to the .NET assemblies. The
software automatically handles the procedure.

Understanding the Geometry


Before preparing a symbol, study the symbol in terms of the dimensional parameters required to
uniquely define the symbol, the ports or connect points required for the symbol, how the
geometry of the symbol will be represented graphically, the origin of the symbol, the orientation
of the symbol, and so forth.
Determine the various aspects of the symbol to be drawn such as Physical, Insulation,
Maintenance, and so forth. This means that you should decide whether to simply draw the
symbol’s physical representation only or whether to add the insulation graphics, maintenance
space required, and so forth.
Referring to the example of a ball valve, Physical and Insulation aspects of the valve will be
drawn.

Geometric Representation
The valve is drawn with a circular flange on the left hand side as a cylinder; next a cylinder, a
sphere, a cylinder at the center, and another circular flange at the right hand side. This means
three outputs are drawn to represent the Physical Aspect of the valve (Port1, ValveBody, and
Port2). Please note that even though this example appears to represent a flanged ball valve, the
code is generic enough to accommodate different end preparations such as welded, flanged,

Electrical 3D Symbols Reference 15


Creating .NET Symbols

threaded, and so forth. You can define a more complex geometric representation of the symbol
as needed.

Dimensions
As a symmetrical valve, the face to face dimension is required to draw the valve. The
dimensions required to draw the flange are obtained from the standard geometric data
bulkloaded in the Smart 3D project’s catalog database. This data is available in the
AllCommon.xls for the various end preparations (Bolted, Male, or Female). The radius of the
sphere is assumed to be a factor of the known dimensions. Hence the input parameters required
those for representing the Physical Aspect (Face to Face dimension).

Orientation
The symbol is drawn with the origin (0, 0, 0) at the center of the valve. The left-hand side port is
drawn along –X direction and the right-hand side port is drawn along +X direction.

Defining Ports on Symbols


Most symbols have at least one port, which is a point on a part that connects to a routed item,
such as pipe or cableway. A port consists of an attachment point and direction, set of application
properties, and physical geometry depiction. A different class of port is required for each type of
routing item. For example, piping requires one type of port, while cableway requires another.
You define ports when you create a symbol and define the geometry of a part. In .NET, a
function specifies the port type, name, attachment point, and attachment vector. The software
places the ports based on the information in the geometry definition file for the part and the
reference data for the part. The geometry definition file defines the port type, name, attachment
point, and attachment vector. The reference data for the specific part (item of the part class)
defines the remainder of the property values for the port.

Writing Code for the .NET Symbol


The Smart 3D software has the following geometry APIs, through which the outputs need to be
generated.
 Line3D

Electrical 3D Symbols Reference 16


Creating .NET Symbols

 Circle3D
 Arc3D
 ComplexString3D
 Projection3D
 Revolution3D
 Torus3D
 BsplineCurve3D
 Cone3D
 Nozzle
The SymbolGeometryHelper contains primitive shapes such as CreateCylinder, CreateCone,
CreateCircularTorus, CreateSphere, and so forth, which are used for creating different
outputs.
You build the assembly to %OLE_SERVER%\Custom Symbols. You can build the assembly in
any sub-folder under the Custom Symbols folder.

Deploying the Symbols


In the Project Management task, select the Catalog and then select Tools > Update Custom
Symbol Configuration. This updates "CustomSymbolConfig.xml" with the ProgID of the new
assembly and its location relative to the "%OLE_SERVER%" path.

Naming of the Symbol Definition


The definition name of a symbol should be unique in the database. It is recommended that the
namespace of symbol definition class should be specified as follows:
<CompanyName>.SP3D.Content.<Specialization>.
For example, Ingr.SP3D.Content.Support
We also recommended that if a delivered symbol definition must be changed to meet a specific
requirement, its namespace/symbol definition class name be changed so that the identity of the
modified symbol is different (unique) from the one delivered in the software.

Electrical 3D Symbols Reference 17


Creating .NET Symbols

Bulkloading the Symbol


You should find an existing symbol similar in geometry to your custom symbol, nozzle location,
and orientation, and so forth, and use its bulkload datasheet as a base in which to prepare a
datasheet to bulkload the new symbol.
For example, to bulkload inline valves with two nozzles use the ‘BALR’ worksheet in the
Piping.xls sheet. To bulkload an inline symbol when there is a change in diameter ‘REDC’, use
the Piping.xls worksheet. You can have as many attributes as occurrence attributes (property
values which can be changed at runtime), but this should be specified in the same row where
the SymbolDefinition is mentioned.
A new symbol’s non-graphic data should be added in a specified Microsoft Excel workbook. For
example, Piping.xls should be edited for a new Piping symbol. Equipment.xls should be edited
for a new Equipment symbol. Each of these Excel books defines the classes, parts,
specifications, rules, and so forth. Some common workbooks, such as, AllCommon.xls and
AllCodeLists.xls might need to be edited.
For each unique symbol, a separate worksheet should be added to the Microsoft Excel
workbook with appropriate detail. You can use the Microsoft Excel workbook generated by the
Part Definition Symbol Wizard. Provide nozzle information in the part class Excel sheet
depending on the number of nozzles in the newly created symbol. Use ‘A’ to append, ‘M’ to
modify, and ‘D’ to delete data into the Catalog database when bulkloading in Append mode.

Bulkloading the Piping Symbol


See the spreadsheets that are created for the ball valve delivered on your system as follows:
{Product Path}\CatalogData\BulkLoad\DotNetSampleDataFiles\Piping-DotNet.xls
{Product Path}\CatalogData\BulkLoad\DotNetSampleDataFiles\PipingSpecification-DotNet.xls
For more information not covered in this programming guide, including guidelines on bulkloading
symbols, see Loading Reference Data into the Catalog in the Reference Data Guide.

Placing the Symbol


Complete the following steps for placing a piping symbol:
1. Open Smart 3D and navigate to the Piping task.

2. Click Route Pipe on the vertical toolbar.


3. Select the run starting point.
If you select a feature located at the end of an existing run, the software continues the run of
the selected feature. If you select an equipment nozzle, a point in space, or a point along a
straight feature, the software prompts you to create a new pipe run.
4. On the New Pipe Run dialog box, type a name for the pipe run. If you do not type a name,
the software automatically generates a name. Select the Piping System (Specification
IC0031, IC0032, N0, N1) and NPD to be used for placing the pipeline. The NPD and
Specification should be the same you used in the bulkload data for the symbol.
5. Click OK to close the New Pipe Run dialog box.
6. Select point to end routing of your pipe run.

Electrical 3D Symbols Reference 18


Creating .NET Symbols

7. Click Insert Component on the vertical toolbar to insert a component.


The Insert Component command adds valves, strainers, laterals, and other components to a
pipe run. You can add components either during the routing of a pipe run or after the pipe
has been routed.
The system uses the pipe specification, nominal diameter of the selected pipe run, and the
geometry of the insertion point to filter the available components. For example, if the
insertion point is not at the end of a pipe run or at an equipment nozzle, turn components
are not included in the list of available components. When you insert a component, the
software generates any mating and connection parts required to connect the inserted part to
the adjacent objects.
When inserting components, you can use the Tools > Pinpoint and Tools > Point Along
commands to position components precisely in a pipe run.
8. Select the component type and option in the Type and Option boxes.
9. Click to define the position of the component if you are placing it in a straight feature.
If needed, change the position of the component using Flip, Reference Position, and
Angle options.
10. Click Finish.
11. You can check the properties (input parameter values) by selecting the component and
selecting Edit > Properties.

Creating an Advanced Symbol


Some symbols often use more advanced techniques in order to meet the different set of
requirements posed on them. The following section provides details on these techniques.

Topics
Dynamic Outputs ........................................................................... 20
Custom Weight and Center of Gravity (COG) ............................... 20
Custom Evaluation of Origin and Orientation ................................ 21
Custom Foul Check ....................................................................... 22
Custom Mirror ................................................................................ 23
Custom Property Management ...................................................... 23
To Do Record Messages ............................................................... 24
Checking the Status of Nested Symbols ....................................... 26
Creating .NET Symbols using the Symbol Wizard ........................ 27
Useful Tips for Symbol Definition Coding ...................................... 27

Electrical 3D Symbols Reference 19


Creating .NET Symbols

Dynamic Outputs
Often the symbol outputs are not known before-hand and are determined dynamically during the
computation of the symbol. For example, concerning a symbol to create the geometry of a stair,
the number of outputs is dependent on the span of the stair and pitch.
The 3D API framework allows addition of such outputs dynamically. Adding dynamic outputs to
the symbol by:
1. Informing symbol machinery that you’ll be creating variable outputs.
If you derive your symbol definition class from a business object specific base class (that is,
StairSymbolDefinition), this step is not needed and you can jump directly to step 2.
Add VariableOutputs attribute on your class.
<VariableOutputs()>
2. Constructing the output object; a symbol output must be persistent; that is, it must be
created with a valid database connection.
3. An output object is added to the symbol outputs with a unique name.
'Add an output object myOutputObject named “MyOutputName”
'to the aspect m_oSimplePhysicalAspect.
m_oSimplePhysicalAspect.Outputs.Add("MyOutputName ",
myOutputObject)

Custom Weight and Center of Gravity (COG)


If a symbol is responsible for computing weight and center of gravity (COG), the symbol should
compute the volume and COG of the geometric outputs in the ConstructOutputs module. This
results in better performance rather than getting the outputs later and performing calculation.
Catalog parts can have single or multiple materials. For example, a pipe part has single
material, but a ladder can have a variety of materials for the frame, cage, safety gate, support
legs, bolts, and so forth. Weight and COG evaluation for the parts need to consider all the
individual materials.
The 3D API framework supports custom weight COG calculation for both kinds of parts.
Evaluating weight COG in the symbol consists of:
1. Get the net volume and COG for the geometric outputs of the symbol for each material.
2. Construct a VolumeCOG named output object for each material and add it as output to the
symbol.
'Create a VolumeCOG object for a HandRail symbol.
oHandRailVolCOG = New VolumeCG(oConnection, dTotalVolume, dCOGX,
dCOGY, dCOGZ)
m_oSimplePhysicalAspect.Outputs[“VolumeCOG”] = oHandRailVolCOG
3. Symbols which handle parts with single material only need to complete previous steps 1 and
2. Weight COG will be calculated by the business object from this named output.
4. Symbols which handle parts with multiple materials need to realize ICustomWeightCG. This
interface provides methods to evaluate weight COG or the part by the symbol. In this case,
the symbol gets the outputs from the output collection and the materials from the part to
calculate the net weight COG.

Electrical 3D Symbols Reference 20


Creating .NET Symbols

EvaluateWeightCG(ByVal oBO As BusinessObject) Implements


ICustomWeightCG.EvaluateWeightCG
'Get VolumeCOG output.
'Get the output from the symbol output collection using the
'helper method provided on SymbolHelper.
oObject = SymbolHelper.GetSymbolOutput(oBO, "SimplePhysical", _
"VolumeCOG")
If Not oObject Is Nothing Then
oHandRailVolCOG = DirectCast(oObject, VolumeCG)
dVolume = oHandRailVolCOG.Volume
dCOGX = oHandRailVolCOG.COGX
dCOGY = oHandRailVolCOG.COGY
dCOGZ = oHandRailVolCOG.COGZ

'Evaluate weight from output volume and the material


'properties on the given user interface.
dWeight = EvaluateWeightFromVolume(oBO, dVolume, _
sIJUAHandRailTypeAProps)

'Set the net weight and COG on the Business Object using
'helper method provided on StructureSymbolDefinition.
SymbolHelper.SetWeightAndCOG(oBO, dWeight, dCOGX, dCOGY,
dCOGZ)

End If

Custom Evaluation of Origin and Orientation


Often parts need to be positioned and oriented correctly based on the given inputs. For
example, a stair needs to be positioned and oriented based on the TopSupport, SideReference,
and BottomSupport inputs selected by you.
The 3D API framework provides an interface ICustomEvaluate which should be realized by the
symbol to support evaluation of origin and orientation for parts.
Evaluating origin and orientation of a part involves the following steps:
1. Realize ICustomEvaluate on the symbol.
2. Construct the transformation matrix based on the given inputs.
The following code example demonstrates how to construct the transformation matrix from the
vectors based on the geometric inputs and the position value given for a stair:
EvaluateGeometry(ByVal oBO As BusinessObject, bPartChanged As bool,
bGeomInputChanged As bool, bPropertyValueChanged As bool)


'Initialize the matrix to identity.
oMatrix = New Matrix4X4()
'Construct a double array and set the actual double values for the
local
'x, y, z vectors in the transformation matrix.
'Also set the translation component.
Dim dArrMatrix As Double() = New Double(15) {}

Electrical 3D Symbols Reference 21


Creating .NET Symbols

'Set the double array on the matrix.


oMatrix.Set(dArrMatrix)
3. Set the transformation matrix on the Business Object.
The following code example shows how to set the transformation matrix
on the Ladder object.

'Set the orientation matrix on the ladder or stair.


Dim ladderStairObject As StairLadderBase = DirectCast(oBO,
StairLadderBase)
ladderStairObject.Matrix = oMatrixOrientation

Custom Foul Check


Some business objects delegate foul check to the symbol which allows the symbol writer to
override the default implementation. For example, a footing assembly symbol may need to
return all the supported member parts as connected parts to suppress interference between
them and the footing. A footing component symbol might need to return non-participant for
interference check to avoid duplicate interference reporting by the components.
The 3D API framework provides an interface ICustomFoulCheck which should be realized by
the symbol to support custom behavior of foul check for parts.
Supporting custom behavior for foul check on a symbol involves the following steps:
1. Realize ICustomFoulCheck on the symbol.
2. GetConnectedParts should return the collection of connected parts or return null.
3. GetInterferenceType should return the interference type.
The following code example shows how to implement GetConnectedParts and
GetInterferenceType for the footing assembly symbol:
GetConnectedParts(ByVal oBO As BusinessObject) As ReadOnlyCollection(Of
BusinessObject)

'Get all the supported objects from the footing.
Dim oConnectedPartsList As New List(Of BusinessObject)()

'Get all the supported objects from the footing.
'For each supported object, if it is a MemberSystem, get its parts
and add them to the list.

Return New ReadOnlyCollection(Of


BusinessObject)(oConnectedPartsList)
End Function

GetFoulInterfaceType(ByVal oBO As BusinessObject) As FoulInterfaceType


'Footing assembly is participant in interference.
Return FoulInterfaceType.Participant
End Function

Electrical 3D Symbols Reference 22


Creating .NET Symbols

Custom Mirror
Some business objects delegate the mirror implementation for the symbol code which allows the
symbol writer to override the mirror behavior of a specific part; for example, a stair might need to
be flipped around the top support on mirror.
The 3D API framework provides an interface ICustomMirror which should be realized by the
symbol to support custom mirror behavior for mirroring parts.
Supporting custom behavior for mirror on a symbol involves the following steps:
1. Realize ICustomMirror on the symbol.
2. Set properties which effect mirror behavior inside the Mirror method.
The following code example shows how to implement mirror for a ladder:
Mirror(ByVal oBusinessObject As BusinessObject, ByVal
oBusinessObjectOrig As BusinessObject, ByVal oMirrorPlane As IPlane,
ByVal oTransformMatrix As Matrix4X4, ByVal bIsCopy As Boolean)

'Add custom behavior for mirror here based on mirror behavior.

Dim iMirrorBevahior As Integer =


CInt(SymbolHelper.GetLongProperty(DirectCast(oPart, BusinessObject),
SPSSymbolConstants.IPART, SPSSymbolConstants.MIRRORBEHAVIOROPTION))
If iMirrorBevahior = SPSSymbolConstants.REPLACEMENTPARTVALUE Then

Custom Property Management


Client tier code for some business objects can use the symbol code to verify the validity of
values given for properties on placement and during edit through the property pages. For
example, a stair can only support angle values within a certain range. Also, a ladder symbol
which only supports a vertical ladder might need to have the angle field read-only only in the
client tier.
The 3D API framework provides an interface ICustomPropertyManagement which should be
realized by the symbol to support validation and management of the properties on the part.
Implementation of custom property management involves the following steps:
1. Realize ICustomPropertyManagement on the symbol.
2. OnPreLoad is called immediately before the properties are loaded in the property page
control. Any change to the display status of properties can be done here.
Following code example demonstrates how to set the display status of a property to read-
only:
OnPreLoad(ByVal oBusinessObject As BusinessObject, ByVal
CollAllDisplayedValues As ReadOnlyCollection(Of PropertyDescriptor))

'Validate each property value.

For i As Integer = 0 To CollAllDisplayedValues.Count - 1


Dim oPropDescr As PropertyDescriptor =
CollAllDisplayedValues(i)

Electrical 3D Symbols Reference 23


Creating .NET Symbols

Dim oPropValue As PropertyValue = oPropDescr.[Property]


Dim sPropName As String = oPropValue.PropertyInfo.Name

'Make all these properties read-only.


Select Case sPropName
Case "MyReadOnlyPropertyName"
oPropDescr.[ReadOnly] = True
Exit Select
End Select

Next

3. OnPropertyChange is called each time a property is modified. Any custom validation can
be done here.
Following code example shows how to validate the value of a property on change in the property
value.
OnPropertyChange(ByVal oBusinessObject As BusinessObject, ByVal
CollAllDisplayedValues As ReadOnlyCollection(Of PropertyDescriptor),
ByVal oPropToChange As PropertyDescriptor, ByVal oNewPropValue As
PropertyValue, ByRef sErrorMessage As String) As Boolean

sInterfaceName =
oPropToChange.[Property].PropertyInfo.InterfaceInfo.Name
sPropertyName = oPropToChange.[Property].PropertyInfo.Name

'Check the property value.
If sErrorMessage.Length > 0 Then
bOnPreLoad = False
Exit For
End If

To Do Record Messages
A content writer developing a symbol must write the code to create the output objects. In some
cases, the given set of input values might be invalid or semi-valid. In such a case, the content
writer can create a To Do Record (TDR) associated with the symbol occurrence. The TDR
causes the symbol to be added to the To Do List with a message. An error message would be
displayed for an invalid set of inputs. A warning message would be displayed for a semi-valid set
of inputs.
Prior to Version 2011 R1 (9.1), a TDR for a symbol requires the message to be defined in a
codelist table. The codelist table name and codelist index must be passed into the function by
raising an exception that creates the TDR. The existing exception classes are:
SymbolErrorException and SymbolWarningException. The exception contains the data that is
needed to create a TDR. This method of creating a TDR is still supported, but is deprecated and
should no longer be used when writing new .NET symbols.

Electrical 3D Symbols Reference 24


Creating .NET Symbols

Posting errors from .NET symbols using exceptions has an important drawback in that after the
exception is raised, the remaining code within the .NET symbol is not executed. This does not
work well for warnings which need to continue execution after the warning is posted.
Beginning in Version 2011 R1 (9.1), a TDR with a string message can be created by setting the
new ToDoListMessage property on the base class of the symbol. The new messages are
uniquely identified by the combination of the message module name and the message number.
A message module is a logical collection of messages. The names of modules must be unique
across the entire product. Every message is identified with a message number. Message
numbers must be unique within a module.
The recommended conventions are:
 Each component defines one or more message modules. Each message module
corresponds to a resource file containing localized messages.
 Customers who add error messages for their custom content should use message module
names that identify the company name (for example, AcmeErrorMsgs).
 Use the resource ID as the message number.
A new property has been added to the CustomSymbolDefinition base class. To create a TDR,
the symbol code must set this new property and should not raise an exception.
public abstract class CustomSymbolDefinition
{
public ToDoListMessage ToDoListMessage
{
get { return m_oTDLMessage; }
set { m_ oTDLMessage = value; }
}

The data type of the new property is a class as shown below.


public class ToDoListMessage
{
// Constructors
// Construct a very simple ToDoListMessage specifying only type and message text.
// This constructor is intended for custom content writers that do not localize
// their messages. A default module name and message number are supplied by this
// constructor.
// ArgumentException is raised if an empty string is passed for text.
public ToDoListMessage(ToDoMessageTypes type, string text)
// Construct a simple ToDoListMessage when the objectToUpdate is not needed.
// This constructor is intended for most application developers and content writers
// who localize their messages and provide a help topic.
// ArgumentException is raised if an empty string is passed for moduleName or text.
public ToDoListMessage(ToDoMessageTypes type, string moduleName, int number, string text)
// Construct a ToDoListMessage including an objectToUpdate.
// This constructor is intended for the rare case where an object to update that is
// different from the symbol must be specified.
// ArgumentException is raised if an empty string is passed for moduleName or text.
// ArgumentNullException is raised if objectToUpdate is Null.
public ToDoListMessage(ToDoMessageTypes type, string moduleName, int number, string text,
BusinessObject objectToUpdate)
// Properties
// The Type property identifies the message as an error or a warning.
public property ToDoMessageTypes Type { get; }
// The ModuleName property identifies a logical grouping of messages.
// Each component/customer defines their own module name.
// Module names must be unique across the product.
public property string ModuleName { get; }
// The Number property identifies a specific message within a module.
// The combination of module name and message number uniquely identifies the message.
public property int Number { get; }
// The Text property holds the localized message text including any contextual data.
public property string Text { get; }
// The ObjectToUpdate property holds a reference to the object to be updated when
// the user clicks on the Update command in the To Do List dialog.
// If the object to update is not specified, the symbol occurrence itself is updated.
public property BusinessObject ObjectToUpdate { get; }
}

// Describes the possible types of to do messages.


public enum ToDoMessageTypes
{
// The symbol failed to compute the output objects.
ToDoMessageError = 1,

Electrical 3D Symbols Reference 25


Creating .NET Symbols
// The symbol encountered problems while computing the output objects.
ToDoMessageWarning = 4,
}

Sample Usage
To create an error To Do Record:
string strMessageModule = “EquipProcessMsgs”;
int nMessageNumber = 5;
string strMessageText = ”Unable to construct tank geometry due to conflicting parameter values”;
oSymbol.ToDoListMessage = new ToDoListMessage(ToDoMessageTypes.ToDoMessageError, strMessageModule, nMessageNumber,
strMessageText);

To create a warning To Do Record:


string strMessageModule = “StructStairMsgs”;
int nMessageNumber = 43;
string strMessageText = ”Warning: stair pitch is too steep”;
oSymbol.ToDoListMessage = new ToDoListMessage(ToDoMessageTypes. ToDoMessageWarning, strMessageModule, nMessageNumber,
strMessageText);

Checking the Status of Nested Symbols


There are 3D APIs to place and update a nested symbol from an outer symbol. You must check
the status of the nested symbol after an update to see if the update resulted in success, failure,
or warning.
A read-only property called ToDoListMessage is available in SymbolOccurrence. After calling
update() on the nested symbol, this property needs to be checked to know the status of the
update. When the symbol updates successfully, this property is null. When the Update() results
in a warning or error, the ToDoListMessage property is not null. The following example shows
how to check the status of Update().
Dim oBox As SymbolOccurrence
oBox = New SymbolOccurrence(oConnection,
"SP3DBallValve,Ingr.SP3D.Piping.NetBox", "", True)

oBox.SetInputDouble("Xmax", 0.6)
oBox.SetInputDouble("Ymax", 0.6)
oBox.SetInputDouble("Zmax", 1.1)

oBox.Update()
'Check the status of update
Dim oBoxTDLMsg As ToDoListMessage
oBoxTDLMsg = oBox.ToDoListMessage
If Not oBoxTDLMsg Is Nothing Then
'Create a ToDoList Message on outer symbol
ToDoListMessage = New ToDoListMessage(oBoxTDLMsg.Type,
oBoxTDLMsg.Text)
End If
If the outer symbol does not check the status of Update() for the nested symbol, and therefore
does not create a ToDoListMessage on itself, no To Do record is created. No To Do record is
created on the inner symbol because the Update() method on the inner symbol does not create
a To Do record.
Any symbol occurrence (outer or inner) created using 3DAPI has the property
‘ToDoListMessage’ which can be used in 3DAPI.

Electrical 3D Symbols Reference 26


Creating .NET Symbols

If there are any existing .NET symbols that use nested symbols, they need to be modified to
check the status of nested symbols after Update(). In case there is an error, appropriate action
(such as creating a ToDoListMessage on outer symbol as shown in the example above) needs
to be taken.

Creating .NET Symbols using the Symbol Wizard


Deployment
To help you create new symbols, the Symbol Wizard is delivered with the software. The wizard
is an executable, runs as a stand-alone application, and is delivered as follows:
{Product Path}\Core\Container\Bin\Assemblies\Release\SymbolWizard.exe
For more information see its integrated context sensitive (F1) help.
The wizard implementation is language neutral. It uses style sheet templates and XML
transformation to generate a .NET symbol definition for any programming language (VB.NET,
C#.) needed by the symbol author. The style sheet templates are delivered as follows:
{Product Path}\CommonApp\SOM\Client\Services\SymbolWizard\Templates
One VB.NET style sheet for each Solution, Project, AssemblyInfo, and the Symbol class is
delivered, but these can be replaced with other programming language templates.

Workflow
The workflow for using the wizard to create a new symbol consists of the following steps:
1. Identify the .NET symbol project and location.
2. Specify either a new or existing project in which to add the .NET symbol.
3. Provide a Namespace and the symbol class name. Define inputs to the symbol in the inputs
grid. See the section on Naming of the Symbol Definition for naming guidelines.
4. Select aspects defined by the symbol.
5. Define outputs for each aspect.
On finish, the new .NET Symbol class is created in the target project.

Useful Tips for Symbol Definition Coding


Application-specific Symbol Definition Base Classes
By default, the symbol class created by the wizard inherits from CustomSymbolDefinition.
Smart 3D provides application and business object-specific symbol definition base classes
which provide some useful functionality; for example, StructureSymbolDefinition,
LadderSymbolDefinition, and so forth. A symbol should inherit from one of these base classes
to help implement all the necessary behavior on the symbol.

SymbolGeometryHelper
As previously mentioned, the SymbolGeometryHelper provides a useful API to create
geometry primitives for symbol output. Some of these functions include: CreateCylinder(),
CreateCone(), CreateCircularTorus(), and so forth.

Electrical 3D Symbols Reference 27


Creating .NET Symbols

Migrating an Existing Symbol to .NET


You should consider the following questions when making decisions for migrating existing COM
content to .NET:
1. Do I have access to VB6, VC++, or Visual Studio in which to develop?
2. Does the symbol need to run in a 64 bit version of the application yet?
3. Are there features of .NET or the new 3D API in which I need to take advantage?
If some or all of the above are requirements, then you should consider migrating the symbol to
.NET.
This following section provides guidelines on how to migrate an existing symbol to .NET.

Migration Wizard
The Symbol Wizard allows symbol authors to create new symbols or migrate selected symbol
definitions to .NET.

Workflow
Workflow for using the Symbol Wizard for migrating existing Symbols is:
1. Identify the .NET Symbol Project and location.
a. Specify either a new project in which for the .NET Symbol to be created or add the
Symbol to an existing project.
2. Provide a Namespace and the new Symbol class name. See the section on Naming of the
Symbol Definition for naming guidelines.
3. Identify the existing symbol(s) to be migrated
a. Select a .dll which contains existing symbols.
b. Select one or more required existing symbols from the list of available symbols.
On finish, the new .NET Symbol class will be added to the new or existing project.

Migrated .NET Symbol Class


The migrated .NET Symbol class inherits the following information from the old symbol:
 Inputs
 Aspects
 Outputs
 A new Symbol Definition format of the ConstructOutputs() method stub will be provided
where the logic needs to be added to create the necessary outputs for each aspect.

Electrical 3D Symbols Reference 28


Creating .NET Symbols

Creating a Custom Assembly


Custom Assembly represents an extension of a 3D symbol where more than geometry can be
produced as outputs. You can include other first class business objects, such as nozzles on
equipment or structural members in an equipment foundation. The Custom Assembly inherits
from the base symbol definition class so the same deployment and advanced extensions exist
for the Custom Assembly.

Defining a Custom Assembly


Defining a Custom Assembly implies inheriting from an application provided by the Smart 3D
Custom Assembly base class such as EquipmentAssemblyDefinition,
FootingCustomAssemblyDefinition, or EquipmentFoundationCustomAssemblyDefinition.
These base classes provide a basis for working with the business object and existing Smart 3D
user interface.

Defining Assembly Outputs


Assembly outputs are declared as fields of your Custom Assembly:
' Declare assembly outputs
<AssemblyOutput(1, "Pier")> _
Public m_Pier As AssemblyOutput
<AssemblyOutput(2, "Grout")> _
Public m_Grout As AssemblyOutput
The field variable must be declared Public and have a defining attribute providing it with a
unique index and name. Omitting the defining attribute from the output simply ignores the
declared output.

Creating / Evaluating Assembly Outputs


Construction and modification of assembly outputs occurs in the EvaluateAssembly method.
This method is invoked immediately following the symbol’s ConstructOutputs method. All
parameter inputs and symbol outputs are available for you to access when manipulating the
assembly outputs.

Creating Assembly Output


You create assembly outputs by setting the declared field assembly output’s field variable
Output property to a persistent business object. EvaluateAssembly is invoked when the
outputs are to be created and anytime the assembly needs to be evaluated. Therefore, it is the
responsibility of the developer to determine whether the output is already generated. A typical
pattern for creating an assembly output might appear as:
If (m_NozzleSuction.Output Is Nothing) Then
m_NozzleSuction.Output = ConstructNozzleSuction(oSP3DConnection)
End If
The code always checks whether the output already exists and only constructs the output when
it is Nothing. Failure to make this check results in an exception indicating that the output
already exists.

Electrical 3D Symbols Reference 29


Creating .NET Symbols

Modify Assembly Outputs


As noted earlier, output will already exist with subsequent invocations of the EvaluateAssembly
method. To modify the output, cast the output to the constructed business object class and
manipulate the object:
<AssemblyOutput(2, SPSSymbolConstants.Pier)> _
Public m_oPierAssemblyOutput As AssemblyOutput
.
.

Public Overrides Sub EvaluateAssembly()


Dim oPierComponent As FoundationComponent = Nothing

' construct the pier (if not generated yet)


If m_oPierAssemblyOutput.Output Is Nothing Then
oPierComponent = CreateComponent(SPSSymbolConstants.Pier)
m_oPierAssemblyOutput.Output = oPierComponent
Else
oPierComponent = DirectCast(m_oPierAssemblyOutput.Output,
FoundationComponent)
End If

oPierComponent.Origin = New Position(1, 2, 3)


.
.

Optional Assembly Outputs


Even though an assembly output has been declared, it does not imply that you must create an
output. Not constructing an output indicates the output is not required. Additionally, if an output
already exists you can remove the output:
If m_oPierAssemblyOutput.Output Is Nothing Then
m_oPierAssemblyOutput.Delete()
End If
Now using this code, the output no longer exists. When the evaluation method is invoked again,
you can decide whether to construct the output again.

Electrical 3D Symbols Reference 30


Creating .NET Symbols

Accessing Object Inputs


While constructing and evaluating the assembly outputs, access to the object inputs may be
required; such as the structural member where the footing is to be placed. These inputs must
be retrieved from the business object using the Occurrence property on the Custom Assembly:
'accessing the footing business object
Dim oFooting As Footing = DirectCast(Occurrence, Footing)
Direct casting of the occurrence to the specific business object provides access to the object-
specific properties which would include the inputs (supported members and supporting
members in the example above).

Allowing End-Users to Delete Assembly Outputs


By default an end-user will not be able to remove the assembly outputs of a Custom Assembly
without removing the parent business object. To allow independent removal of an output, you
must set the property CanDeleteIndependently to True. By setting this property to True,
within your EvaluateAssembly method, an end-user will be able to delete your assembly output
independently of the parent business object. By allowing this behavior, the object construction is
slightly complicated because a check now will be necessary to determine whether the user has
deleted your output. The object construction checks would now appear as:
' Construct the pier (if not generated yet).
Dim oPierComponent As FoundationComponent = Nothing
If m_oPierAssemblyOutput.Output Is Nothing Then
If Not m_oPierAssemblyOutput.HasBeenDeletedByUser Then
m_oPierAssemblyOutput.CanDeleteIndependently = True
oPierComponent = CreateComponent("Pier")
m_oPierAssemblyOutput.Output = oPierComponent
End If
Else
oPierComponent = DirectCast(m_oPierAssemblyOutput.Output,
FoundationComponent)
End If
Notice the additional check as to whether the output was deleted by the user with the
HasBeenDeletedByUser property. This property will be true when the output existed at one
time and was explicitly removed by the user. Also, notice the line of code that set the
CanDeleteIndependently property to True, which allowed the end-user to delete the assembly
output in the first place.

Electrical 3D Symbols Reference 31


Creating .NET Symbols

Dynamic Outputs
Similar to a symbol, Custom Assembly provides for dynamic outputs (that is, outputs whose
count may vary dynamically at runtime). An example of this might be the structural member legs
of an equipment foundation. Declaring a dynamic output can appear similar to the following:
'Declaring a dynamic structural member leg output.
<AssemblyOutput(1, "FoundationMemberlegs”)> _
Public m_objFoundationLegs As AssemblyOutputs
The definition of a field variable of type AssemblyOutputs with same AssemblyOutput defining
attribute as present for singularly declared assembly outputs. AssemblyOutputs inherits from
List<BusinessObject>; hence, AssemblyOutptus is a collection (i.e., list) of BusinessObjects.
The code within the EvaluateAssembly method would add and subtract business objects from
this list based on the needed count:
<InputString(2, "FoundationShape", "Foundation Shape", "Rectangle")> _
Public m_sFoundationShape As InputString

<AssemblyOutput(1, "FoundationLegs")> _
Public m_objFoundationLegs As AssemblyOutputs

'Evaluate assembly outputs.


Public Overrides Sub EvaluateAssembly()
Dim iLegCount As Integer
iLegCount = 0

If m_sFoundationShape.Value = "Rectangle" Then


iLegCount = 4
ElseIf m_sFoundationShape.Value = "Hexagon" Then
iLegCount = 6
End If

' Current leg count.


Dim iCurrentLegCount As Integer
iCurrentLegCount = m_objFoundationLegs.Count

Dim iCnt As Integer


If iCurrentLegCount = iLegCount Then ' No change.
ElseIf iCurrentLegCount < iLegCount Then ' Need to add some legs.
For iCnt = iCurrentLegCount + 1 To iLegCount
m_objFoundationLegs.Add(New Member(...
Next
Else ' remove some legs
For iCnt = iCurrentLegCount To iLegCount + 1 Step -1
m_objFoundationLegs.RemoveAt(iCnt)
Next
End If
.
.

Electrical 3D Symbols Reference 32


Creating .NET Symbols

Bulkloading a Custom Assembly


Bulkloading a Custom Assembly varies slightly from bulkloading a symbol definition:

The Custom Assembly ProgID (in this case, assembly .dll name with custom assembly class
name and its namespace), defined in the Definition field of a bulkloaded spreadsheet, indicates
a Custom Assembly.
When this field is present in the spreadsheet for items such as equipment, footings, equipment
foundations, etc., it is expected that the Definition field should be completed with the name of a
Custom Assembly. The SymbolDefinition is left blank (that is, this field is ignored).

Creating and Scheduling Custom Batch Jobs


To use custom batch jobs in Smart 3D, you must follow these steps:
1. Create a custom batch job that you can schedule, and run it through the Smart 3D batch
framework.
2. Register the custom batch job so that the administrator can configure queues for the job.
3. Submit the custom batch job through a custom command.

Creating a Custom Batch Job


Create a custom batch job by creating a new class in the job that implements IBatchCommand.
IBatchCommand Interface:
In the new class that implements IBatchCommand interface, define two methods:
 Initialize - Initializes all the arguments that are submitted to Intergraph Batch Server. It also
initializes all the variables using the .xml file that is generated after submitting the job to IBS.
 Execute - Executes the custom batch job process. You must implement the custom batch
job in this method.
For more information on defining the Initialize and Execute methods, see the Visual
Studio integrated reference documentation on BatchCommand.cs.

Electrical 3D Symbols Reference 33


Creating .NET Symbols

Configuring the Queues for Custom Batch Jobs


To configure a queue for a custom batch job, you must retrieve the command ProgID, job name,
and job ProgID and copy them into the CustomBatchJobsDetails.xml file, located in [Product
Directory]\SharedContent\Xml.
Below is the sample format of the CustomBatchJobsDetails.xml. If this file does not exist, then
create a new file in the below format.
<JOB>
<JobType>Check Database Integrity</JobType>
<JobDescription>To check the S3D database integrity and
consistency</JobDescription>
<JobProgId>BatchSvcCmds,Ingr.SP3D.ProjectMgmt.Client.Commands.BatchR3DM
ultipleUpdate </JobProgId>
<IsModelSpecific>True</IsModelSpecific>
</JOB>
 JobType - Defines the name of the job. The name should be unique.
 JobDescription - Defines the job description.
 JobProgId - Defines the ProgID created for the custom batch job.
 IsModelSpecific - Defines the type of job. Set IsModelSpecific to True to specify the job as
a model-specific job, and set IsModelSpecific to False to specify the job as a site-specific
job.
Custom batch jobs can only be created for models, so set IsModelSpecific to
True.
Register this custom batch job so that the administrator can configure queues for the job in
Project Management.

Scheduling a Custom Batch Job


You can schedule the custom batch job using the Schedule Data Consistency check dialog
box.
When you submit a job for any custom batch commands in .NET, you must first define a
JobCreator class, which allows the API to display the Schedule Data Consistency check
dialog box. The JobCreator class also allows you to submit the batch job to the Intergraph
Batch Server.
The Schedule Data Consistency check dialog box provides information to the Intergraph
Batch Server, such as the queue on which the batch job is submitted, scheduling properties, and
mail notification options.
1. Create a JobCreator class to use the following APIs to submit a custom batch job:
 Initialize - Initializes the job.
 ShowSchedule - Opens the Schedule Data Consistency Check Dialog Box (on page
36).
After the above APIs are defined, the Schedule Data Consistency Check dialog box

Electrical 3D Symbols Reference 34


Creating .NET Symbols

displays:

2. After selecting all the inputs, click OK.


The Ok_Clicked event handler displays, allowing you to create the required inputs to
execute the batch job in .xml format.
3. In the OK_Clicked handler, call the AddBatchRequest method, which takes command line
arguments in .xml format.
4. Create an .xml file with all the required inputs for the job and save your changes.

Electrical 3D Symbols Reference 35


Creating .NET Symbols

Schedule Data Consistency Check Dialog Box


Queues
Specifies the queue on which the job is run.
Run job
Specifies how often the job is run.
Run on (time)
Specifies the time to run the job.
Options
Defines further options for scheduling the job.
Run on (date)
Specifies the date on which to run the job. Use this option if you want the job to be run once.
Notify the Job Status when
Select Job Start to receive the job status at the job start, Job Completion to receive the job
status once it is complete, or Job Abort to receive the job status when it is aborted.
Address
Specifies the email addresses to which the Job Status notifications are sent.

Electrical 3D Symbols Reference 36


SECTION 3

Troubleshooting Symbols
While unlikely, symbols placed in a model can become corrupted or have problems. This section
describes how to test symbols, what can cause symbols to become corrupt, and what you can
do to fix corrupt symbols.
In addition to the symbols delivered with the software, Intergraph provides symbols and symbol
fixes on the Intergraph Smart Support (https://smartsupport.intergraph.com) web site. These
symbols are available on the product page under Downloads > Smart 3D > Content.

In This Section
Debugging Symbols with .NET ...................................................... 37
Testing Symbols ............................................................................ 39
Sources of Errors ........................................................................... 41
Error Investigation Methods ........................................................... 42

Debugging Symbols with .NET


Use Microsoft Visual Studio debugging tools to debug symbols. You must have the latest
Programming Resources software and Microsoft Visual Studio installed on the computer. For
information on how to install the Programming Resources, please refer to the Smart 3D
Installation Guide.

Setup
Add the following folders to your PATH environment variable:
 C:\Program Files\Smart3D\Core\Runtime
 C:\Program Files\Smart3D\GeometryTopology\Runtime

Preparing to Debug a Symbol


Before you can debug a symbol, you must ensure that there is entry for that symbol in the
CustomSymbolConfig.xml or SystemSymbolConfig.xml file.
The Update Custom Symbol Configuration (UCSC) command looks at the symbols in the
SharedContent folder and makes entries in the SymbolConfig.xml files. Entries for symbols that
you have created in the SharedContent\Custom Symbols folder are added to the
SharedContent\Xml\CustomSymbolConfig.xml file. Entries for symbols supplied by
Intergraph are added to the SharedContent\Xml\SystemSymbolConfig.xml file.

Debugging a Symbol .NET Project


1. In .NET, open the project to debug.

Electrical 3D Symbols Reference 37


Troubleshooting Symbols

2. Click Project and select the project you want to debug. For example, in the following image
select HSSmartPart Properties (Alt+7).

3. Click Debug and select Start external program.


4. Click Browse and navigate to S3DHost.exe.
5. Open the code page for the symbol and add break points.

6. Press F5 to run the project.


Smart 3D opens. Create a new session file or open an existing session file and place the
symbol. The control is passed to .NET at the break point and the normal .NET debug commands
such as Step Into and Step Over can be used.
When symbols are placed for the first time in the model, a cache is created in
the Model database and the actual symbol code will not run a second time or beyond. Please

Electrical 3D Symbols Reference 38


Troubleshooting Symbols

refer to Edit Symbol Occurrence (on page 40) for information on how to force the execution of
symbol code for debugging purposes.
See Also
Testing Symbols (on page 39)

Testing Symbols
Two custom commands are delivered with the software to help symbol designers:
 Locate an existing symbol and change the inputs. During the design phase of symbol
creation, it can be very time consuming trying to use the full application to test a symbol,
especially if it requires multiple bulkloading to the catalog. For more information, see Edit
Symbol Occurrence (on page 40).
 Update a symbol definition from a list of symbol definitions in the active connection, or
update an object given an Object ID (Database ID) and an Interface ID. This issue can arise
when the symbol is cached and you want to test a change in the code. If there already is an
existing symbol available for the set of input parameters, then the changed symbol code will
not run. For more information, see Update Symbol (on page 39).
See Also
Troubleshooting Symbols (on page 37)

Update Symbol
This utility calls the update mechanism on a symbol definition or other object so that the
software will recalculate any symbols connected to the object.

 You must understand the consequences of trying to recalculate an object. Errors can occur
when the context is incomplete in allowing one or more related objects to recalculate. This
error can occur when one object is read-only or missing.
 A symbol definition may have thousands of symbols connected to it. Each symbol will
recalculate if an update is called on the definition. This utility is not designed to handle it and
should be used in small models.

Symbols Tab
Key in
Select this option to key in the symbol definition name to update in the Symbol Definition
Name. Use this option if you have more than 10 to 15 symbols in the model.
Select from Combo Box
Select this option to select the symbol to update in the Symbol Definition Name. Use this
option only if your model is very small, 10 to 15 symbols.
Symbol Definition Name
Displays all the symbol definitions available in the model from which you can select one to
update. You can also type the symbol definition name to update, for example:
SP3DOP3.COP3.
Apply or OK

Electrical 3D Symbols Reference 39


Troubleshooting Symbols

Click to update the selected symbol definition and cause each symbol of that definition to
recalculate.

Object Tab
ObjectID
Select the object to update.
InterfaceID
Select which interface on the selected object to update.
Apply or OK
Click to recalculate the selected object interface.

Workflow
1. Click Tools > Custom Commands.
2. Click Add.
3. In the Command ProgID box, type SymbolTestCmds.CUpdateSymbolDefinition
4. In the Command name box, type a name for the utility. We recommend you type Update
Symbol or Object Test Command for the command name.
5. Click OK.
6. Select Update Symbol or Object Test Command from the list of command names, and then
click Run.
7. Select the symbol or key in the symbol to update.
8. Click Apply.
See Also
Testing Symbols (on page 39)

Edit Symbol Occurrence


This utility edits an existing symbol occurrence in the model.
This command assumes the person using it is the symbol designer who knows
what the valid inputs for the symbol are. This command does not check input parameter values
that you type as it cannot determine valid inputs for the symbol.

Options
Parameters
Displays all the input parameter of the selected symbol.
 Index - Displays the index number of the input parameter.
 Name - Displays the name of the input parameter.
 ByRef - Indicates if the parameter is passed by a reference.
 Value - Type a value for the parameter.
Graphics

Electrical 3D Symbols Reference 40


Troubleshooting Symbols

Displays the graphic elements that are inputs for the selected symbol.
Representation
Displays the display aspects that the symbol supports.

Workflow
1. Click Tools > Custom Commands.
2. Click Add.
3. In the Command ProgID box, type SymbolTestCmds.CEditSymbolOccurence.
4. In the Command name box, type a name for the utility. We recommend you type Edit
Symbol Occurrence for the command name.
5. Click OK.
6. Select Edit Symbol Occurrence from the list of command names, and then click Run.
7. Select the symbol in the model.
8. Test the input parameters as needed.
See Also
Testing Symbols (on page 39)

Sources of Errors
Bulkloading
Symbols can be broken in the model because of an incorrect bulk load operation. The most
common bulkloading mistakes are:
 Deleting the symbol definition, flavor manager, or flavor in the catalog when the symbol still
exists in the model.
 Setting incorrect parameter values in the catalog. For example, setting a pipe diameter to be
zero.

Synchronize Model with Catalog


After bulkloading is complete or if symbol definitions have been changed and the major version
number of the definition increased, you must run the Tools > Synchronize Model with Catalog
command in the Project Management task for all models that use the catalog or changed
definitions.

Symbols Folder
The software expects to find the symbol DLL files in a single folder, usually located under the
SharedContent folder. This symbols folder is specified when the catalog database is created.
Doing any of the following can cause symbol problems:
 An incorrect symbols folder is specified when the catalog database is created.
 The symbols folder is moved after the catalog database is created.
 The catalog database is backed up and then restored to a different server, but the symbols
folder is not copied to the new server.

Electrical 3D Symbols Reference 41


Troubleshooting Symbols

 Using different custom symbol folders for the different clients of the server.

Usage of Cached/Non-cached Symbols


The default method is to cache symbols whenever possible. A symbol definition that has a non-
parametric input (for example, a part) will not be cached even if all the other inputs are
parameters. However, if a custom method (CMcache) is written to convert the part into a
parameter, then the symbol will be cached.
To make this change from a non-cached to cached for the case where non-cached symbols
have already been placed in the model, the major version number of the symbol definition must
be increased and the Tools > Synchronize Model with Catalog command in the Project
Management task run. If this is not done, then the change in the way the part input is treated
results in an error as the symbols already placed in the model are expecting a part, and not a
parameter, and will fail to compute.

Multiple Outputs with Same Name


A .NET symbol with duplicate output names is not allowed. When such a symbol is placed in the
model, the transaction will be aborted. Check the Core error log file for errors. If there are
existing .NET symbol occurrences that have duplicate output names, they cannot be
recomputed. For information on how to resolve the error, please refer to the Symbol has outputs
with duplicate names topic in Smart 3D Database Integrity Guide.

Software Updates
Errors can occur if the server and the client software are not the same software version. All the
symbols must be the same version to guarantee compatibility. The best method for ensuring that
the symbols are the same on the clients and the server is to use the symbol definition download
feature by placing the symbols in CAB files. For more information, see Distributing Symbols
Automatically.
See Also
Troubleshooting Symbols (on page 37)

Error Investigation Methods


For errors received on the definition:
 Check for incomplete or wrong definition.
 Check for wrong versions of a symbol definition.
 Check for input mismatches.
 Check for output mismatches.
 Check for properties mismatches.
For errors received on symbols:
 Check for unsynchronized data.
 Use the database integrity check in the Project Management task.
See Also
Troubleshooting Symbols (on page 37)

Electrical 3D Symbols Reference 42


SECTION 4

Symbol Validation Tool


The Symbol Validation Tool verifies that symbols are defined in a valid manner. The tool
identifies an invalid definition such as defining two outputs with the same name. You should also
run the Symbol Validation Tool after you modify a symbol to verify that the new symbol is
compatible with the old symbol.
The Symbol Validation Tool is delivered in [Product Folder]\ProjectMgmt\Tools\Bin. You can
run the Symbol Validation Tool with or without Smart 3D, but if you want to validate symbol
definitions in a model database, you must have Smart 3D.

What do you want to do?


 Verify a single symbol definition (on page 43)
 Compare multiple symbol definitions (on page 45)
 Run comparisons from the command line (on page 46)

Verify a single symbol definition


1. Double-click [Product Folder]\ProjectMgmt\Tools\Bin\SymbolValidationTool.exe.
2. Click Open Symbol .
3. Select Symbol definition in DB if the symbol to check is in the database.
-OR-
Select Dll or XML if you have the symbol source files.
4. Define the database connection information, or select the DLL or XML file to open.
5. Select the ProgID to open, and then click OK.

Electrical 3D Symbols Reference 43


Symbol Validation Tool

The symbol definition displays.

Any errors in the symbol display in the bottom list view.


6. Click Compare with Symbol .
7. Select Symbol definition in DB if the symbol to compare against is in the database.
-OR-
Select Dll or XML if you have the symbol source files.
8. Define the database connection information, or select the DLL or XML file to open.
9. Select the ProgID to open, and then click OK.
The symbol definition displays.

Electrical 3D Symbols Reference 44


Symbol Validation Tool

The tool highlights differences between the two symbol definitions. The left pane is the basis
of the comparison. The right pane is the symbol that the tool is validating. The bottom list
view displays all the differences that were found.

Compare multiple symbol definitions


1. Click Open multiple symbols .
2. Select Symbols from model database if the symbols to check are in the database.
-OR-
Select Open symbol directory if you have the symbol source files.
The tool pulls and validates all symbol definitions from the model database or from the
defined folder, including sub folders.

3. Select one or more symbols from the list, and then click View Details

4. Click Compare with Multiple Symbols to compare multiple symbols.


The tool displays all the matching ProgIDs in the basis list and new list. If you have changed
ProgIDs, use the ProgID Mapping File box to enter the XML file name that contains the
mapped names.
5. Select from the displayed list of symbol definitions that were compared to view the details of
the comparison results.

Electrical 3D Symbols Reference 45


Symbol Validation Tool

Run comparisons from the command line


You can also run the Symbol Validation Tool from the command line using a parameter file as
an input argument. However, the command line option only compares list to list and generates a
report. You cannot show the details of each symbol definition or define a ProgID mapping file.

Example 1: Compare files to files


Basis Symbols:
Directory:D:\SymbolComp\eCustomerDLLs
New Symbols:
Directory:D:\SymbolComp\NewDLLs
Report File:D:\test\sample.xlsx

Example 2: Compare database to files


Basis Symbols:
DBType:SQL
Server:122sqlserver
Site:Test_SDB
Model:Test_MDB
New Symbols:
Directory:D:\test
Report File:D:\test\sample.xlsx

Electrical 3D Symbols Reference 46


SECTION 5

Cable Tray Symbols


The software uses symbols to represent the different cable tray commodity items in the model.
The items are defined on the cable tray parts catalog sheets. When defining the parts in the
sheets, look at the symbol that represents the item to verify the dimension that you are defining
is correct.
In addition to the symbols delivered with the software, you can create your own symbols that
you can use in your model. For more information about creating symbols, refer to Creating Part
Occurrence Symbols in Visual Basic.
Cable tray symbols can be defined in terms of different dimensions. In some cases, a
manufacturer specifies the geometry based on face-to-face dimensions, while in other cases, a
manufacturer specifies the geometry based on face- to-center dimensions.
When defining cable tray parts, remember that there are three sets of dimensions: nominal,
actual, and load. The nominal width and nominal depth dimensions are what the cable tray part
is commonly called or referred to. The actual width and actual depth dimensions are the real
world dimensions of the cable tray part if you used a measuring tape to measure the part. The
load width and load depth dimensions are the "inside" dimensions available in the cable tray part
for the placement of cables. The software uses the load width and load depth dimensions when
calculating allowable fill area. In the delivered parts, the load width and load depth are set equal
to the nominal width and nominal depth. However, you can edit the load width and load depth
dimensions if needed.

Cable tray reference data contains the required catalog parts and rules for the route solver to
place correct parts in the model.
The Cable tray reference data allows you to create various design check rules for the cable tray
and its associated cables and conduit. The following examples show needed rules:
 Cable Type - The design check rule for cable type warns users when a high voltage cable
and a communications cable exist within the same cable tray.

Electrical 3D Symbols Reference 47


Cable Tray Symbols

 Fill Efficiency - The design check rule for fill efficiency checks the fill efficiency number set
for the cableway against the actual fill of the combined cables and conduit. If the amount of
cable exceeds the fill efficiency, the software generates a warning. You have the option to
change the cableway fill efficiency, remove cables, or select a larger cableway cross section.
Any change in the cableway cross section causes the software to re-compute of the default
component type.
 Divider - The divider design check rule checks to see if low voltage and high voltage cables
exist within the same cable tray. In this situation the software prompts you to insert a tray
divider. These rules are in accordance with National Electric Code (NEC) rules and
regulations for cable trays.

SP3DMultiCableTransit
Description: multicable transit
Symbol Name: SP3DMultiCableTransit.MCableTransit
Workbook: Sample Data for MultiCableTransit.xls
Workbook Sheet: MultiCableTransit
User Class Name: Cable Tray Multi Cable Transit
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DMultiCableTransit.MCableTransit
Inputs = 19
Input = "Width" Description = "MCT Width"
Input = "Depth" Description = "MCT Depth"
Input = "Length" Description = "MCT Length"
Input = "PortOffset" Description = "Port Offset"
Input = "Thickness" Description = "Thickness"
Input = "PartitionsAlongWidth" Description = "Partitions Along Width"
Input = "PartitionsAlongDepth" Description = "Partitions Along Depth"
Input = "VerticalPortOffset" Description = "Vertical Port Offset"
Input = "HorizontalPortOffset" Description = "Horizontal Port Offset"
Input = "Port2Offset" Description = "Port 2 Offset"
Input = "CollarWidth" Description = "Collar Width"
Input = "CollarDepth" Description = "Collar Depth"
Input = "CollarLength" Description = "Collar Length"
Input = "CollarThickness" Description = "Collar Thickness"
Input = "CornerRad" Description = "Corner Radius"
Input = "DoublerWidht" Description = "Doubler Width"
Input = "DoublerHeight" Description = "Doubler Height"
Input = "DoublerThickness" Description = "Doubler Thickness"
Input = "FacetoFace" Description = "Face to Face"
Outputs = 11
Output = "UpperBody" Description = "Upper Part of Body"
Output = "BottomBody" Description = "Bottom Part of Body"
Output = "LeftBody" Description = "Left Part of Body"
Output = "RightBody" Description = "Right Part of Body"
Output = "PartitionsAlongWidth_" Description = "Partitions Along Width"
Output = "PartitionsAlongDepth_" Description = "Partitions Along Depth"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 48


Cable Tray Symbols

Output = "MaintBox1" Description = "Maintenance Box1"


Output = "MaintBox2" Description = "Maintenance Box2"
Output = "Hole" Description = "Hole"
Aspects = 3
Aspect = SimplePhysical
Aspect = Maintenance
Aspect = EquipmentHole

Electrical 3D Symbols Reference 49


Cable Tray Symbols

Part Design Basis 172

Part Design Basis 173

Electrical 3D Symbols Reference 50


Cable Tray Symbols

Connection Parts
The following cable tray connection parts are available.

Topics
CTHorAdjSplicePlate ..................................................................... 51
SP3DCTVAdjSplicePlate ............................................................... 54

CTHorAdjSplicePlate
Description: adjustable splice plate - horizontal
If the splice plate belongs to a specification that has a default bend radius, then you
must define Bend Radius on the CTHorAdjSplicePlate part class sheet.
Symbol Name: CTHorAdjSplicePlate.CTHorAdjSplPlt
Workbook: Cable tray Horizontal Adjustable Splice Plate.xls
Workbook Sheet: HAdjSplicePlatePDB140
User Class Name: Horizontal Adjustable Splice Plate (Part Data Basis-140)
Part Number:
Inputs, Outputs, and Aspects:
ProgID: CTHorAdjSplicePlate.CTHorAdjSplPlt
Inputs = 10
Input = "OuterSplicePLength" Description = "Length of the Outer Splice Plate"
Input = "InnerSplicePLength" Description = "Length of the Inner Splice Plate"
Input = "PorttoCenter" Description = "Port to Center"
Input = "Height" Description = "Height"
Input = "Angle" Description = "Angle"
Input = "BendAngle" Description = "Bend Angle"
Input = "OSplicePHalfLength" Description = "Length of the Outer Splice Plate"
Input = "ISplicePHalfLength" Description = "Length of the Outer Splice Plate"
Input = "Width" Description = "Width"
Input = "PorttoHinge" Description = "Port to Hinge"
Outputs = 8
Output = "Output1" Description = "Output 1"
Output = "Output2" Description = "Output 2"
Output = "Output3" Description = "Output 3"
Output = "Output4" Description = "Output 4"
Output = "Output5" Description = "Output 5"
Output = "Output6" Description = "Output 6"
Output = "Output7" Description = "Output 7"
Output = "Output8" Description = "Output 8"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 51


Cable Tray Symbols

Part Design Basis 140

Part Design Basis 190

Electrical 3D Symbols Reference 52


Cable Tray Symbols

Part Design Basis 191

Electrical 3D Symbols Reference 53


Cable Tray Symbols

Part Design Basis 192

SP3DCTVAdjSplicePlate
Description: Vertical adjustable splice plate
If the splice plate belongs to a specification that has a default bend radius, then you
must define Bend Radius on the SP3DCTVAdjSplicePlate part class sheet.
Symbol Name: SP3DCTVAdjSplicePlate.CTVerAdjSplPlt
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: VAdjSplicePlateDnPDB134, VAdjSplicePlateDnPDB135,
VAdjSplicePlateDnPDB136, VAdjSplicePlateUpPDB134, VAdjSplicePlateUpPDB135,
VAdjSplicePlateUpPDB136
User Class Name: Vertical Adjustable Splice Plate Downwards (Part data basis - 134), Vertical
Adjustable Splice Plate Downwards (Part data basis - 135), Vertical Adjustable Splice Plate
Downwards (Part data basis - 136), Vertical Adjustable Splice Plate Upwards (Part data basis -
134), Vertical Adjustable Splice Plate Upwards (Part data basis - 135), Vertical Adjustable Splice
Plate Upwards (Part data basis - 136)
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCTVAdjSplicePlate.CTVerAdjSplPlt
Inputs = 6
Input = "ArmLength" Description = "Length of one arm of the splice plate"
Input = "PorttoHinge" Description = "Port to Hinge"
Input = "Width" Description = "Width"

Electrical 3D Symbols Reference 54


Cable Tray Symbols

Input = "Depth" Description = "Depth"


Input = "Angle" Description = "Angle"
Input = "BendAngle" Description = "Bend Angle"
Outputs = 4
Output = "Plate1" Description = "Plate 1"
Output = "Plate2" Description = "Plate 2"
Output = "Port1" Description = "Port 1"
Output = "Port2" Description = "Port 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 134

Electrical 3D Symbols Reference 55


Cable Tray Symbols

Part Design Basis 135

Part Design Basis 136

Electrical 3D Symbols Reference 56


Cable Tray Symbols

Part Design Basis 184

Electrical 3D Symbols Reference 57


Cable Tray Symbols

Part Design Basis 185

Cross-Type Branch Fittings


The following cable tray cross-type branch fittings are available.

Topics
SP3DCrossCableTray ................................................................... 58

SP3DCrossCableTray
Description: Horizontal Cross, Series 2, <type of steel> Steel, Ladder, <radius size and units>
Rad, <width and units> W x <depth and units> D
Symbol Name: SP3DCrossCableTray.CCrossCableTray
Workbook: CableTray.xls
Workbook Sheet: CTCross
User Class Name: Cable Tray Cross
Part Number: 4<type of steel>-<width>-HX<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3DCrossCableTray.CCrossCableTray
Inputs = 7
Input = "CTDimension" Description = "Cable Tray Dimension"
Input = "HeaderLength" Description = "Header Length"
Input = "TangentLength1" Description = "Tangent Length 1"

Electrical 3D Symbols Reference 58


Cable Tray Symbols

Input = "TangentLength2" Description = "Tangent Length 2"


Input = "TangentLength3" Description = "Tangent Length 3"
Input = "TangentLength4" Description = "Tangent Length 4"
Input = "BranchLength" Description = "Branch Length"
Outputs = 9
Output = "TrayBottom" Description = "Tee Tray bottom surface"
Output = "TopBranchPort1Side" Description = "Top Branch curved side at port 1"
Output = "TopBranchPort2Side" Description = "Top Branch curved side at port 2"
Output = "BottomBranchPort2Side" Description = "Bottom Branch curved side at port 2"
Output = "BottomBranchPort1Side" Description = "Bottom Branch curved side at port 1"
Output = "CTCrossPort1" Description = "CT Cross Port 1"
Output = "CTCrossPort2" Description = "CT Cross Port 2"
Output = "CTCrossPort3" Description = "CT Cross Port 3"
Output = "CTCrossPort4" Description = "CT Cross Port 4"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 5

Part Design Basis 21

Electrical 3D Symbols Reference 59


Cable Tray Symbols

Part Design Basis 23

Part Design Basis 25

Part Design Basis 27

Electrical 3D Symbols Reference 60


Cable Tray Symbols

Part Design Basis 29

Part Design Basis 113

Part Design Basis 142

Electrical 3D Symbols Reference 61


Cable Tray Symbols

Part Design Basis 166

Part Design Basis 169

Electrical 3D Symbols Reference 62


Cable Tray Symbols

Part Design Basis 194

Part Design Basis 195

Electrical 3D Symbols Reference 63


Cable Tray Symbols

Part Design Basis 196

Direction Change Fittings


The following cable tray change of direction fittings are available.

Electrical 3D Symbols Reference 64


Cable Tray Symbols

Topics
SP3D15DegHorCableTray ............................................................ 65
SP3D30HCableTray ...................................................................... 68
SP3D30VCTrayInside.................................................................... 70
SP3D30VCTrayOutside ................................................................. 72
SP3D45HCableTray ...................................................................... 73
SP3D45VCTrayInside.................................................................... 77
SP3D45VCTrayOutside ................................................................. 80
SP3D60HCableTray ...................................................................... 83
SP3D60VCTrayInside.................................................................... 86
SP3D60VCTrayOutside ................................................................. 87
SP3D75HCableTray ...................................................................... 89
SP3D75VCTrayInside.................................................................... 90
SP3D75VCTrayOutside ................................................................. 91
SP3D90HCableTray ...................................................................... 92
SP3D90HExpRedCableTray ......................................................... 99
SP3D90VCableTrayInside ............................................................. 100
SP3D90VCableTrayOutside .......................................................... 103
SP3DAdjHCableTray ..................................................................... 108
SP3DAdjVCableTray ..................................................................... 108
SP3DCableRiserTray .................................................................... 109
SP3DCT15DegVerInside ............................................................... 111
SP3DCT15DegVerOutside ............................................................ 113
SP3DCT90ReversalBend .............................................................. 115
SP3DCTLeftDownTwoWay ........................................................... 116
SP3DCTLeftUpTwoWay ................................................................ 118
SP3DCTRightDownTwoWay ......................................................... 119
SP3DCTRightUpTwoWay ............................................................. 120

SP3D15DegHorCableTray
Description: This symbol implements the following part data bases:
1. 15° Horizontal Curved Bend, Symmetrical, specified by Bend Radius and Tangent Length
(Default implementation).
2. 15° Horizontal Curved Bend, Asymmetrical, specified by Bend Radius, Tangent Length 1
and Tangent Length 2.
3. 15° Horizontal Segmented Bend, specified by Bend Radius and Tangent Length
You should specify the parameters required for a specific case even though they are
defined as Optional.
Symbol Name: SP3D15DegHorCableTray.CT15Horizontal
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: CT15SymHorBendPDB123, CT15AsmHorBendPDB125
User Class Name: Cable Tray 15 Degrees Symmetrical Horizontal Bend (Part data basis -
123), Cable Tray 15 Degrees Asymmetrical Horizontal Bend (Part data basis - 125)
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3D15DegHorCableTray.CT15Horizontal

Electrical 3D Symbols Reference 65


Cable Tray Symbols

Inputs = 2
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 5
Output = "HorizontalTangent" Description = "U Shape Horizontal Tangent"
Output = "Elbow" Description = "U Shape Elbow"
Output = "InclTangent" Description = "U Shape Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 66


Cable Tray Symbols

Part Design Basis 125

Part Design Basis 145

Electrical 3D Symbols Reference 67


Cable Tray Symbols

SP3D30HCableTray
Description: 30 Deg Horizontal Bend, Series 2, <type of steel> Steel, Ladder, <radius size and
units> Rad, <width and units> W x <depth and units> D
1. PDB 1 - default
2. PDB 5 - Bend Radius Dimension Exclusion basis
3. PDB 148 - 30° Horizontal Segmented Bend, specified by Bend Radius and Tangent Length
Symbol Name: SP3D30HCableTray.C30HCableTray
Workbook: CableTray.xls
Workbook Sheet: CT30HBend
User Class Name: Cable Tray 30 Horizontal Bend
Part Number: 4<type of steel>-<width>-30HB<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3D30HCableTray.C30HCableTray
Inputs = 3
Input = "BendAngle" Description = "BendAngle"
Input = "ActualDepth" Description = "Depth of Duct"
Input = "BendRadius" Description = "Radius to to the inner wall"
Outputs = 4
Output = "HoriTangent" Description = "U Shape Horizontal Tangent"
Output = "InclTangent" Description = "U Shape Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 68


Cable Tray Symbols

Part Design Basis 148

Part Design Basis 202

Electrical 3D Symbols Reference 69


Cable Tray Symbols

Part Design Basis 203

SP3D30VCTrayInside
Description: 30 degree inside bend cable tray
1. PDB 1: 30° Vertical Curved Upward Bend, Symmetrical, specified by Bend Radius and
Tangent Length (Default implementation).
2. PDB 149: 30° Vertical Segmented Upward Bend, Symmetrical, specified by Bend Radius
and Tangent Length
Symbol Name: SP3D30VCTrayInside.C30VCableTray
Workbook: CableTray.xls
Workbook Sheet: CT30VIBend
User Class Name: Cable Tray 30 Vertical Inside Bend
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3D30VCTrayInside.C30VCableTray
Inputs = 2
Input = "NominalWidth" Description = "Width"
Input = "NominalDepth" Description = "Depth"
Outputs = 5
Output = "HoriProj" Description = "Horizontal Tangent Lenth Projection"
Output = "CurvedProj" Description = "Vertical Bend Revolution"
Output = "VertProj" Description = "Vertical Tangent Lenth Projection"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 70


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 149

Electrical 3D Symbols Reference 71


Cable Tray Symbols

SP3D30VCTrayOutside
Description: 30 degree outside bend cabletray
Symbol Name: SP3D30VCTrayOutside.V30CTrayOutside
Workbook: CableTray.xls
Workbook Sheet: CT30VOBend
User Class Name: Cable Tray 30 Vertical Outside Bend
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3D30VCTrayOutside.V30CTrayOutside
Inputs = 2
Input = "Nominal Width" Description = "Width"
Input = "Nominal Depth" Description = "Depth"
Outputs = 5
Output = "VeriProj" Description = "Vertical Bend Outside"
Output = "CurvedProj" Description = "Vertical Bend Outside"
Output = "HoriProj" Description = "Vertical Bend Outside"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 72


Cable Tray Symbols

Part Design Basis 150

SP3D45HCableTray
Description: 45 Deg Horizontal Bend, Series 2, <type of steel> Steel, Ladder, <radius size and
units> Rad, <width and units> W x <depth and units> D
1. PDB 1 - default
2. PDB 5 - Bend Radius Dimension Exclusion basis
3. PDB 151 - 45° Horizontal Segmented Bend, specified by Bend Radius and Tangent Length
Symbol Name: SP3D45HCableTray.C45HCableTray
Workbook: CableTray.xls
Workbook Sheet: CT45HBend
User Class Name: Cable Tray 45 Horizontal Bend
Part Number: 4<type of steel>-<width>-45HB<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3D45HCableTray.C45HCableTray
Inputs = 1
Input = "CTDimension" Description = "Cable Tray Dimension"
Outputs = 5
Output = "HoriTangent" Description = "U Shape Horizontal Tangent"

Electrical 3D Symbols Reference 73


Cable Tray Symbols

Output = "Elbow" Description = "U Shape Elbow"


Output = "InclTangent" Description = "U Shape Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 5

Electrical 3D Symbols Reference 74


Cable Tray Symbols

Part Design Basis 151

Part Design Basis 204

Electrical 3D Symbols Reference 75


Cable Tray Symbols

Part Design Basis 205

Part Design Basis 206

Electrical 3D Symbols Reference 76


Cable Tray Symbols

SP3D45VCTrayInside
Description: 45 degree inside bend cable tray
1. PDB 1, 47: 45° Vertical Curved Upward Bend, Symmetrical, specified by Bend Radius and
Tangent Length (Default implementation).
2. PDB 49: 45° Vertical Curved Upward Bend, Asymmetrical, specified by Bend Radius,
Tangent Length 1 and Tangent Length 2.
3. PDB 51: 45° Vertical Segmented Upward Bend, Symmetrical, specified by Tangent Length.
4. PDB 53: 45° Vertical Segmented Upward Bend, Asymmetrical, specified by Tangent Length
1 and Tangent Length 2.
5. PDB 152: 45° Vertical Segmented Upward Bend, Symmetrical, specified by Bend Radius
and Tangent Length
Symbol Name: SP3D45VCTrayInside.C45VCableTray
Workbook: CableTray.xls
Workbook Sheet: CT45VIBend
User Class Name: Cable Tray 45 Vertical Inside Bend
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3D45VCTrayInside.C45VCableTray
Inputs = 2
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 5
Output = "HoriProj" Description = "Horizontal Tangent Length Projection"
Output = "CurvedProj" Description = "Vertical Bend Revolution"
Output = "VertProj" Description = "Vertical Tangent Length Projection"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 77


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 49

Electrical 3D Symbols Reference 78


Cable Tray Symbols

Part Design Basis 51

Part Design Basis 53

Electrical 3D Symbols Reference 79


Cable Tray Symbols

Part Design Basis 152

SP3D45VCTrayOutside
Description: 45 degree outside bend cable tray
1. PDB 1, 55: 45° Vertical Curved Downward Bend, Symmetrical, specified by Bend Radius
and Tangent Length (Default)
2. PDB 57: 45° Vertical Curved Downward Bend, Asymmetrical, specified by Bend Radius,
Tangent Length 1 and Tangent Length 2
3. PDB 59: 45° Vertical Segmented Downward Bend, Symmetrical, specified by Tangent
Length
4. PDB 61: 45° Vertical Segmented Downward Bend, Asymmetrical, specified by Tangent
Length 1 and Tangent Length 2
5. PDB 153: 45° Vertical Segmented Downward Bend, Symmetrical, specified by Bend Radius
and Tangent Length
Symbol Name: SP3D45VCTrayOutside.V45CTrayOutside
Workbook: CableTray.xls

Electrical 3D Symbols Reference 80


Cable Tray Symbols

Workbook Sheet: CT45VOBend


User Class Name: Cable Tray 45 Vertical Outside Bend
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3D45VCTrayOutside.V45CTrayOutside
Inputs = 2
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 5
Output = "VeriProj" Description = "Vertical Bend Outside"
Output = "CurvedProj" Description = "Vertical Bend Outside"
Output = "HoriProj" Description = "Vertical Bend Outside"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 57

Electrical 3D Symbols Reference 81


Cable Tray Symbols

Part Design Basis 59

Part Design Basis 61

Electrical 3D Symbols Reference 82


Cable Tray Symbols

Part Design Basis 153

SP3D60HCableTray
Description: 60 Deg Horizontal Bend, Series 2, <type of steel> Steel, Ladder, <radius size and
units> Rad, <width and units> W x <depth and units> D
1. PDB 1 - default
2. PDB 154 - 60° Horizontal Segmented Bend, specified by Bend Radius and Tangent Length
Symbol Name: SP3D60HCableTray.C60HCableTray
Workbook: CableTray.xls
Workbook Sheet: CT60HBend
User Class Name: Cable Tray 60 Horizontal Bend
Part Number: 4<type of steel>-<width>-60HB<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3D60HCableTray.C60HCableTray
Inputs = 2
Input = "Nominal Width" Description = "Width"
Input = "Nominal Depth" Description = "Depth"
Outputs = 5
Output = "HoriTangent" Description = "U Shape Horizontal Tangent"

Electrical 3D Symbols Reference 83


Cable Tray Symbols

Output = "HoriBend" Description = "U Shape Bend"


Output = "InclTangent" Description = "U Shape Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 154

Electrical 3D Symbols Reference 84


Cable Tray Symbols

Part Design Basis 200

Part Design Basis 201

Electrical 3D Symbols Reference 85


Cable Tray Symbols

SP3D60VCTrayInside
Description: 60 degree inside bend cable tray
1. PDB 1: 60° Vertical Curved Upward Bend, Symmetrical, specified by Bend Radius and
Tangent Length (Default implementation).
2. PDB 155: 60° Vertical Segmented Upward Bend, Symmetrical, specified by Bend Radius
and Tangent Length
Symbol Name: SP3D60VCTrayInside.C60VCableTray
Workbook: CableTray.xls
Workbook Sheet: CT60VIBend
User Class Name: Cable Tray 60 Vertical Inside Bend
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3D60VCTrayInside.C60VCableTray
Inputs = 2
Input = "Nominal Width" Description = "Width"
Input = "Nominal Depth" Description = "Depth"
Outputs = 5
Output = "HoriProj" Description = "Horizontal Tangent Length Projection"
Output = "CurvedProj" Description = "Vertical Bend Revolution"
Output = "VertProj" Description = "Vertical Tangent Length Projection"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 86


Cable Tray Symbols

Part Design Basis 155

SP3D60VCTrayOutside
Description: 60 degree outside bend cable tray
1. PDB 1: 60° Vertical Curved Downward Bend, Symmetrical, specified by Bend Radius and
Tangent Length (Default implementation).
2. PDB 156: 60° Vertical Segmented Downward Bend, Symmetrical, specified by Bend Radius
and Tangent Length
Symbol Name: SP3D60VCTrayOutside.V60CTrayOutside
Workbook: CableTray.xls
Workbook Sheet: CT60VOBend
User Class Name: Cable Tray 60 Vertical Outside Bend
Part Number:
Inputs, Outputs, and Aspects:

Electrical 3D Symbols Reference 87


Cable Tray Symbols

ProgID: SP3D60VCTrayOutside.V60CTrayOutside
Inputs = 0
Outputs = 5
Output = "VeriProj" Description = "Vertical Bend Outside"
Output = "CurvedProj" Description = "Vertical Bend Outside"
Output = "HoriProj" Description = "Vertical Bend Outside"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 88


Cable Tray Symbols

Part Design Basis 156

SP3D75HCableTray
Description: 75-degree horizontal cable tray elbow
Symbol Name: SP3D75HCableTray.C75HCableTray
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: CT75HorBend
User Class Name: Cable Tray 75 Horizontal Bend
Part Number: SAMPLE-75H-<width>
Inputs, Outputs, and Aspects:
ProgID: SP3D75HCableTray.C75HCableTray
Inputs = 2
Input = NominalWidth Description = Width
Input = NominalDepth Description = Depth
Outputs = 7
Output = "HoriTangent" Description = "U Shape Horizontal Tangent"

Electrical 3D Symbols Reference 89


Cable Tray Symbols

Output = "Projection1" Description = "Projection 1"


Output = "Projection2" Description = "Projection 2"
Output = "TrayBottom" Description = "Tray Bottom"
Output = "InclTangent" Description = "U Shape Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

SP3D75VCTrayInside
Description: 75-degree inside turn cable tray elbow
Symbol Name: SP3D75VCTrayInside.C75VCableTray
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: CT75SegmtVerInside
User Class Name: Cable Tray 75 Degrees Segmented Vertical Inside Bend
Part Number: SAMPLE-75VI-<width>
Inputs, Outputs, and Aspects:
ProgID: SP3D75VCTrayInside.C75VCableTray
Inputs = 2
Input = NominalWidth Description = Width
Input = NominalDepth Description = Depth
Outputs = 7
Output = "HoriProj" Description = "Horizontal Tangent Lenth Projection"
Output = "BendBottom" Description = "Bend Bottom"
Output = "BendFrontSurface" Description = "Bend Front Surface"
Output = "BendRearSurface" Description = "Bend Rear Surface"
Output = "VertProj" Description = "Vertical Tangent Lenth Projection"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 90


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

SP3D75VCTrayOutside
Description: 75-degree outside bend cable tray elbow
Symbol Name: SP3D75VCTrayOutside.V75CTrayOutside
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: CT75SegmtVerOutside
User Class Name: Cable Tray 75 Degrees Segmented Vertical Outside Bend
Part Number: SAMPLE-75VO-<width>
Inputs, Outputs, and Aspects:
ProgID: SP3D75VCTrayOutside.V75CTrayOutside
Inputs = 2
Input = NominalWidth Description = NominalWidth
Input = NominalDepth Description = NominalDepth
Outputs = 6
Output = "VeriProj" Description = "Vertical Bend Outside"
Output = "BendRearSurface" Description = "Bend Rear Surface"
Output = "BendFrontSurface" Description = "Bend Front Surface"
Output = "HoriProj" Description = "Vertical Bend Outside"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 91


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

SP3D90HCableTray
Description: 90 Deg Horizontal Bend, Series 2, <type of steel> Steel, Ladder, <radius size and
units> Rad, <width and units> W x <depth and units> D
1. 90° Horizontal Curved Bend, Symmetrical, specified by Bend Radius and Tangent Length
(Default implementation).
2. Bend Radius Dimension Exclusion basis.
3. 90° Horizontal Curved Bend, Asymmetrical, specified by Bend Radius, Tangent Length 1
and Tangent Length 2.
4. 90° Horizontal Segmented Bend, Symmetrical, specified by Bend Radius and Tangent
Length.
5. 90° Horizontal Segmented Bend, Asymmetrical, specified by Bend Radius, Tangent Length
1 and Tangent Length 2.
6. 90° Horizontal Curved Bend, Symmetrical, specified by End-1 to End-2 outer edge and
Bend Radius.
7. 90° Horizontal Curved Bend, Asymmetrical, specified by End-1 to End-2 outer edge, End-2
to End-1 outer edge and Bend Radius.
8. 90° Horizontal Segmented Bend, Symmetrical, specified by End to End outer edge(143)
9. 90° Horizontal Curved Bend, Symmetrical, specified by End-1 to End-2 outer edge and
Tangent Length (181)
10. 90° Horizontal Segmented Bend, Type 2, Symmetrical, specified by Bend Radius and
Tangent Length (182)

Electrical 3D Symbols Reference 92


Cable Tray Symbols

11. 90° Horizontal Segmented Bend, Type 3, Symmetrical, specified by Tangent Length (183)
Symbol Name: SP3D90HCableTray.C90HCableTray
Workbook: CableTray.xls
Workbook Sheet: CT90HBend
User Class Name: Cable Tray 90 Horizontal Bend
Part Number: 4<type of steel>-<width>-90HB<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3D90HCableTray.C90HCableTray
Inputs = 5
Input = "CTDimension" Description = "Cable Tray Dimension"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Input = "End1toEnd2OuterEdge" Description = "End-1 to End-2 Outer Edge"
Input = "End2toEnd1OuterEdge" Description = "End-2 to End-1 Outer Edge"
Outputs = 5
Output = "HoriTangent" Description = "U Shape Horizontal Tangent"
Output = "Elbow" Description = "U Shape Elbow"
Output = "InclTangent" Description = "U Shape Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 93


Cable Tray Symbols

Part Design Basis 5

Part Design Basis 105

Electrical 3D Symbols Reference 94


Cable Tray Symbols

Part Design Basis 107

Part Design Basis 109

Electrical 3D Symbols Reference 95


Cable Tray Symbols

Part Design Basis 119

Part Design Basis 121

Electrical 3D Symbols Reference 96


Cable Tray Symbols

Part Design Basis 143

Part Design Basis 181

Electrical 3D Symbols Reference 97


Cable Tray Symbols

Part Design Basis 182

Part Design Basis 183

Electrical 3D Symbols Reference 98


Cable Tray Symbols

SP3D90HExpRedCableTray
Description:
Symbol Name: SP3D90HExpRedCableTray.C90HExpRedCTray
Workbook: Cable Tray 90 Degree Expanding Reducing Elbow Sample Data.xls
Workbook Sheet: CT90HExpRedBend
User Class Name: Cable Tray 90 Degree Expanding/Reducing Bend
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3D90HExpRedCableTray.C90HExpRedCTray
Inputs = 2
Input = "CTBendThroatRadius" Description = "Cable Tray Bend Throat Radius"
Input = "CTBendOuterRadius" Description = "Cable Tray Bend Outer Radius"
Outputs = 7
Output = "HoriTangent" Description = "U Shape Horizontal Tangent"
Output = "BendInnerSide" Description = "Bend Inner Side"
Output = "BendOuterSide" Description = "Bend Outer Side"
Output = "BendBottom" Description = "Bend Bottom"
Output = "InclTangent" Description = "U Shape Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 99


Cable Tray Symbols

SP3D90VCableTrayInside
Description: 90 Deg Vertical Inside Bend, Series 2, <type of steel> Steel, Ladder, <radius size
and units> Rad, <width and units> W x <depth and units> D
1. PDB 1, 31: 90° Vertical Curved Upward Bend, Symmetrical, specified by Bend Radius and
Tangent Length (Default implementation).
2. PDB 33: 90° Vertical Curved Upward Bend, Asymmetrical, specified by Bend Radius,
Tangent Length 1 and Tangent Length 2.
3. PDB 35: 90° Vertical Segmented Upward Bend, Symmetrical, specified by Bend Radius and
Tangent Length.
4. PDB 37: 90° Vertical Segmented Upward Bend, Asymmetrical, specified by Bend Radius,
Tangent Length 1 and Tangent Length 2.
5. PDB 158: 90° Vertical Upward Bend with Straight Passage, Symmetrical, specified by Bend
Radius and Tangent Length
Symbol Name: SP3D90VCableTrayInside.C90VCableTray
Workbook: CableTray.xls
Workbook Sheet: CT90VIBend
User Class Name: Cable Tray 90 Vertical Inside Bend
Part Number: 4<type of steel>-<width>-90VI<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3D90VCableTrayInside.C90VCableTray
Inputs = 2
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 5
Output = "VeriProj" Description = "Vertical Bend Outside"
Output = "CurvedProj" Description = "Vertical Bend Outside"
Output = "HoriProj" Description = "Vertical Bend Outside"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 100


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 33

Electrical 3D Symbols Reference 101


Cable Tray Symbols

Part Design Basis 35

Part Design Basis 37

Electrical 3D Symbols Reference 102


Cable Tray Symbols

Part Design Basis 158

SP3D90VCableTrayOutside
Description: 90 Deg Vertical Outside Bend, Series 2, <type of steel> Steel, Ladder, <radius
size and units> Rad, <width and units> W x <depth and units> D
1. PDB 1, 39: 90° Vertical Curved Downward Bend, Symmetrical, specified by Bend Radius
and Tangent Length (Default implementation).
2. PDB 43: 90° Vertical Segmented Downward Bend, Symmetrical, specified by Bend Radius
and Tangent Length.
3. PDB 41: 90° Vertical Curved Downward Bend, Asymmetrical, specified by Bend Radius,
Tangent Length 1 and Tangent Length 2.
4. PDB 45: 90° Vertical Segmented Downward Bend, Asymmetrical, specified by Bend Radius,
Tangent Length 1 and Tangent Length 2.
5. PDB 115: 90° Vertical Curved Downward Bend, Symmetrical, specified by End-1 to End-2
outer edge and Bend Radius.
6. PDB 117: 90° Vertical Curved Downward Bend, Asymmetrical, specified by End-1 to End-2
outer edge, End-2 to End-1 outer edge and Bend Radius.
7. PDB 159: 90° Vertical Downward Bend with Straight Passage, Symmetrical, specified by
Bend Radius and Tangent Length
Symbol Name: SP3D90VCableTrayOutside.C90VCableTray
Workbook: CableTray.xls
Workbook Sheet: CT90VOBend
User Class Name: Cable Tray 90 Vertical Outside Bend
Part Number: 4<type of steel>-<width>-90VO<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3D90VCableTrayOutside.C90VCableTray

Electrical 3D Symbols Reference 103


Cable Tray Symbols

Inputs = 4
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Input = "End1toEnd2OuterEdge" Description = "End-1 to End-2 Outer Edge"
Input = "End2toEnd1OuterEdge" Description = "End-2 to End-1 Outer Edge"
Outputs = 5
Output = "VeriProj" Description = "Vertical Bend Outside"
Output = "CurvedProj" Description = "Vertical Bend Outside"
Output = "HoriProj" Description = "Horizontal Bend Outside"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 104


Cable Tray Symbols

Part Design Basis 41

Part Design Basis 43

Electrical 3D Symbols Reference 105


Cable Tray Symbols

Part Design Basis 45

Part Design Basis 115

Electrical 3D Symbols Reference 106


Cable Tray Symbols

Part Design Basis 117

Part Design Basis 159

Electrical 3D Symbols Reference 107


Cable Tray Symbols

SP3DAdjHCableTray
Description: adjustable-angle horizontal elbow for cable tray
Symbol Name: SP3DAdjHCableTray.CAdjHCableTray
Workbook: Cable Tray Sample Data for Variable Angle Bends.xls
Workbook Sheet: CT0to25ADJHBend
User Class Name: Cable Tray 0 to 25 Adjustable Horizontal Bend, Cable Tray Adjustable
Horizontal Bend
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DAdjHCableTray.CAdjHCableTray
Inputs = 1
Input = "Angle" Description = "Bend Angle of the Elbow"
Outputs = 5
Output = "HoriTangent" Description = "U Shape Horizontal Tangent"
Output = "Elbow" Description = "U Shape Elbow"
Output = "InclTangent" Description = "U Shape Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

SP3DAdjVCableTray
Description: adjustable vertical-angle cable tray elbow
Symbol Name: SP3DAdjVCableTray.CVAdjCableTray
Workbook: Cable Tray Sample Data for Variable Angle Bends.xls
Workbook Sheet: CT90ADJVBend
User Class Name: Cable Tray Adjustable Vertical Bend
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DAdjVCableTray.CVAdjCableTray
Inputs = 1
Input = "Angle" Description = "Bend Angle of the Elbow"

Electrical 3D Symbols Reference 108


Cable Tray Symbols

Outputs = 5
Output = "VeriProj" Description = "Vertical Bend Outside"
Output = "CurvedProj" Description = "Vertical Bend Outside"
Output = "HoriProj" Description = "Vertical Bend Outside"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

SP3DCableRiserTray
Description: Cable riser tray for top mounted multi conduit transit.
Symbol Name: SP3DCableRiserTray.RiserTray
Workbook: Sample data for Cable tray Riser Box.xls
Workbook Sheet: TopRiserBox, SideRiserBox
User Class Name: Cable Tray Top Riser Box, Cable Tray Side Riser Box
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCableRiserTray.RiserTray
Inputs = 7
Input = "Width" Description = "Riser Box Width"
Input = "Depth" Description = "Riser Box Depth"
Input = "Height" Description = "Riser Box Height"
Input = "PortOffset" Description = "Port Offset"
Input = "Thickness" Description = "Thickness"

Electrical 3D Symbols Reference 109


Cable Tray Symbols

Input = "HorizontalOffset" Description = "Horizontal Port Offset"


Input = "VerticalOffset" Description = "Vertical Port Offset"

Outputs = 5
Output = "RiserBox"
Description = "Riser Box"
Output = "Nozzle1"
Description = "Nozzle 1"
Output = "Nozzle2"
Description = "Nozzle 2"
Output = "MaintenanceBox"
Description = "Maintenance Box"
Output = "RiserHole"
Description = "Hole in Deck by Riser"
Aspects = 3
Aspect = SimplePhysical
Aspect = Maintenance
Aspect = EquipmentHole

Part Design Basis 138

Electrical 3D Symbols Reference 110


Cable Tray Symbols

Part Design Basis 139

SP3DCT15DegVerInside
Description: This symbol implements the following part data bases:
1. PDB 1, 127: 15° Vertical Curved Upward Bend, Symmetrical, specified by Bend Radius and
Tangent Length (Default implementation).
2. PDB 129: 15° Vertical Curved Upward Bend, Asymmetrical, specified by Bend Radius,
Tangent Length 1 and Tangent Length 2.
3. PDB 146: 15° Vertical Segmented Upward Bend, Symmetrical, specified by Bend Radius
and Tangent Length
You should specify the parameters required for a specific case even though they are
defined as Optional.
Symbol Name: SP3DCT15DegVerInside.CT15VerticalIn
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: CT15AsmVInBendPDB129, CT15SymVInBendPDB127
User Class Name: Cable Tray 15 Degrees Asymmetrical Vertical Inside Bend (Part data basis -
129), Cable Tray 15 Degrees Symmetrical Vertical Inside Bend (Part data basis - 127)

Electrical 3D Symbols Reference 111


Cable Tray Symbols

Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCT15DegVerInside.CT15VerticalIn
Inputs = 2
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 5
Output = "HoriTangent" Description = "Horizontal Tangent"
Output = "VertiCurve" Description = "Vertical Bend"
Output = "InclinedTangent" Description = "Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 129

Electrical 3D Symbols Reference 112


Cable Tray Symbols

Part Design Basis 146

SP3DCT15DegVerOutside
Description: This symbol implements the following part data bases:
1. PDB 1, 131: 15° Vertical Curved Downward Bend, Symmetrical, specified by Bend Radius
and Tangent Length (Default implementation).
2. PDB 133: 15° Vertical Curved Downward Bend, Asymmetrical, specified by Bend Radius,
Tangent Length 1 and Tangent Length 2.
3. PDB 147: 15° Vertical Segmented Downward Bend, Symmetrical, specified by Bend Radius
and Tangent Length
You should specify the parameters required for a specific case even though they are
defined as Optional.
Symbol Name: SP3DCT15DegVerOutside.CT15VerticalOut
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: CT15AsmVOutBendPDB133, CT15SymVOutBendPDB131
User Class Name: Cable Tray 15 Degrees Asymmetrical Vertical Outside Bend (Part data basis
- 133), Cable Tray 15 Degrees Symmetrical Vertical Outside Bend (Part data basis - 131)

Electrical 3D Symbols Reference 113


Cable Tray Symbols

Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCT15DegVerOutside.CT15VerticalOut
Inputs = 2
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 5
Output = "HorizontalTangent" Description = "Horizontal Tangent"
Output = "Bend" Description = "15 degree Bend"
Output = "InclinedTangent" Description = "Inclined Tangent"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 133

Electrical 3D Symbols Reference 114


Cable Tray Symbols

Part Design Basis 147

SP3DCT90ReversalBend
Description: Vertical Segmented Downward Reversal Bend, Symmetrical, specified by Bend
Radius and Tangent Length (Default).
Symbol Name: SP3DCT90ReversalBend.CT90ReversalBend
Workbook:
Workbook Sheet:
User Class Name:
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCT90ReversalBend.CT90ReversalBend
Inputs = 2
Input = "NominalWidth" Description = "Nominal Width"
Input = "NominalDepth" Description = "Nominal Depth"
Outputs = 2
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 115


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

SP3DCTLeftDownTwoWay
Description:
Symbol Name: SP3DCTLeftDownTwoWay.CTLeftDownTwoWay
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: CTLeftDownwardTwoWay
User Class Name: Cable Tray Left Downward Two Way
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCTLeftDownTwoWay.CTLeftDownTwoWay
Inputs = 4
Input = "HeaderLength" Description = "Length of the header"
Input = "BranchLength" Description = "Branch Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 9
Output = "TangentPort1" Description = "Tangent at Port 1"
Output = "RearHeaderSurface" Description = "Rear Header Surface"
Output = "BranchSurfaceRear" Description = "Branch Surface at the Rear"
Output = "BranchSurfaceRight" Description = "Branch Surface Right Side"
Output = "BranchSurfFrontSide" Description = "Branch Surface Front Side"
Output = "LeftInclinedSurface" Description = "Left Inclined Surface"
Output = "TangentPort2" Description = "Tangent Port 2"

Electrical 3D Symbols Reference 116


Cable Tray Symbols

Output = "CTPort1" Description = "Cable Tray Port 1"


Output = "CTPort2" Description = "Cable Tray Port 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 97

Electrical 3D Symbols Reference 117


Cable Tray Symbols

SP3DCTLeftUpTwoWay
Description:
Symbol Name: SP3DCTLeftUpTwoWay.CTLeftUpTwoWay
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: AsymLeftUpwardTwoWay, CTLeftUpwardTwoWay
User Class Name: Cable Tray Asymmetrical Left Upward Two Way, Cable Tray Left Upward
Two Way
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCTLeftUpTwoWay.CTLeftUpTwoWay
Inputs = 4
Input = "HeaderLength" Description = "Length of the header"
Input = "BranchLength" Description = "Branch Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 6
Output = "TrayBottom" Description = "Tee Tray bottom surface"
Output = "InclinedSurface" Description = "Inclined Surface"
Output = "BranchBase" Description = "Branch Base"
Output = "BranchEndSurface" Description = "Branch End Surface"
Output = "CTTeePort1" Description = "CT Tee Port 1"
Output = "CTTeePort2" Description = "CT Tee Port 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 118


Cable Tray Symbols

Part Design Basis 89

SP3DCTRightDownTwoWay
Description:
Symbol Name: SP3DCTRightDownTwoWay.CTRightDownTwoWay
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: AsmRightDownwardTwoWay, CTRightDownwardTwoWay
User Class Name: Cable Tray Asymmetrical Right Downward Two Way, Cable Tray Right
Downward Two Way
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCTRightDownTwoWay.CTRightDownTwoWay
Inputs = 4
Input = "HeaderLength" Description = "Length of the header"
Input = "BranchLength" Description = "Branch Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 9
Output = "TangentPort1" Description = "Tangent at Port 1"
Output = "FrontHeaderSurface" Description = "Front Header Surface"
Output = "BranchSurfFrontSide" Description = "Branch Surface Front Side"
Output = "BranchSurfaceRight" Description = "Branch Surface Right Side"
Output = "BranchSurfaceRear" Description = "Branch Surface at the Rear"
Output = "LeftInclinedSurface" Description = "Left Inclined Surface"
Output = "TangentPort2" Description = "Tangent Port 2"
Output = "CTPort1" Description = "Cable Tray Port 1"
Output = "CTPort2" Description = "Cable Tray Port 2"

Electrical 3D Symbols Reference 119


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 101

SP3DCTRightUpTwoWay
Description:
Symbol Name: SP3DCTRightUpTwoWay.CTRightUpTwoWay
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: AsymRightUpwardTwoWay, CTRightUpwardTwoWay
User Class Name: Cable Tray Asymmetrical Right Upward Two Way, Cable Tray Right Upward
Two Way
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCTRightUpTwoWay.CTRightUpTwoWay

Electrical 3D Symbols Reference 120


Cable Tray Symbols

Inputs = 4
Input = "HeaderLength" Description = "Length of the header"
Input = "BranchLength" Description = "Branch Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Outputs = 6
Output = "TrayBottom" Description = "Tee Tray bottom surface"
Output = "InclinedSurface" Description = "Inclined Surface"
Output = "BranchBase" Description = "Branch Base"
Output = "BranchEndSurface" Description = "Branch End Surface"
Output = "CTTeePort1" Description = "CT Tee Port 1"
Output = "CTTeePort2" Description = "CT Tee Port 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 121


Cable Tray Symbols

Part Design Basis 93

End Fittings
The following cable tray end fittings are available.

Topics
SP3DEndPlateCableTray .............................................................. 122

SP3DEndPlateCableTray
Description: Blind End Plate, <width and units> W x <depth and units> D
Symbol Name: SP3DEndPlateCableTray.CEndPlateCTray
Workbook: CableTray.xls
Workbook Sheet: BlindEndPlate
User Class Name: Blind End Plate
Part Number: 9<type of steel>-8084-<width>
Inputs, Outputs, and Aspects:
ProgID: SP3DEndPlateCableTray.CEndPlateCTray
Inputs = 0
Outputs = 2
Output = "EndPlate" Description = "Tray End Plate"
Output = "PNoz1" Description = "Nozzle 1"

Electrical 3D Symbols Reference 122


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

Reducing Fittings
The following cable tray reducing fittings are available.

Topics
CTStepReducer ............................................................................. 123
SP3DLeftReducerCableTray ......................................................... 124
SP3DRightReducerCableTray ....................................................... 126
SP3DSredCableTray (Straight Reducer)....................................... 127

CTStepReducer
Description: Step Reducer
Symbol Name: CTStepReducer.CTStpReducer
Workbook:
Workbook Sheet:
User Class Name:
Part Number:
Inputs, Outputs, and Aspects:
ProgID: CTStepReducer.CTStpReducer
Inputs = 1
Input = "Length1" Description = "Length 1"
Outputs = 4
Output = "Output1" Description = "Output 1"
Output = "Output2" Description = "Output 2"
Output = "Output3" Description = "Output 3"
Output = "Output4" Description = "Output 4"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 123


Cable Tray Symbols

Part Design Basis 179

Part Design Basis 180

SP3DLeftReducerCableTray
Description: Left Reducer, Series 2, <type of steel> Steel, Ladder, <widths 1 and 2 and units>
W x <depth and units> D
Symbol Name: SP3DLeftReducerCableTray.CLeftRCTray
Workbook: CableTray.xls
Workbook Sheet: CTLeftReducer
User Class Name: Cable Tray Left Reducer
Part Number: 4<type of steel>-<width 1>-LR<width 2>
Inputs, Outputs, and Aspects:
ProgID: SP3DLeftReducerCableTray.CLeftRCTray
Inputs = 0

Electrical 3D Symbols Reference 124


Cable Tray Symbols

Outputs = 5
Output = "TrayBottom" Description = "Bottom Portion of Tray"
Output = "VerticalStraight" Description = "Straight Vertical Portion"
Output = "VerticalTaper" Description = "Taper Vertical Portion"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 178

Electrical 3D Symbols Reference 125


Cable Tray Symbols

SP3DRightReducerCableTray
Description: Right Reducer, Series 2, <type of steel> Steel, Ladder, <widths 1 and 2 and units>
W x <depth and units> D
Symbol Name: SP3DRightReducerCableTray.CRightRCTray
Workbook: CableTray.xls
Workbook Sheet: CTRightReducer
User Class Name: Cable Tray Right Reducer
Part Number: 4<type of steel>-<width 1>-RR<width 2>
Inputs, Outputs, and Aspects:
ProgID: SP3DRightReducerCableTray.CRightRCTray
Inputs = 0
Outputs = 5
Output = "ReducerBottom" Description = "Reducer Bottom"
Output = "RightPlane" Description = "Reducer Right side Plane"
Output = "LeftProjection" Description = "Reducer Left side Projection"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 126


Cable Tray Symbols

Part Design Basis 174

SP3DSredCableTray (Straight Reducer)


Description: Straight Reducer, Series 2, <type of steel> Steel, Ladder, <widths 1 and 2 and
units> W x <depth and units> D
Symbol Name: SP3DSredCableTray.CSredCableTray
Workbook: CableTray.xls
Workbook Sheet: CTStraightReducer
User Class Name: Cable Tray Straight Reducer
Part Number: 4<type of steel>-<width 1>-SR<width 2>
Inputs, Outputs, and Aspects:
ProgID: SP3DSredCableTray.CSredCableTray
Outputs = 5
Output = "TangentPlate1" Description = "Tangent Plate at Port 1"
Output = "Reducer" Description = "Reducer"
Output = "TangentPlate2" Description = "Tangent Plate at Port 2"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 127


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

For straight reducers, D is smaller than A. For the straight cable tray, A and D are the
same.

Part Design Basis 171

Electrical 3D Symbols Reference 128


Cable Tray Symbols

Part Design Basis 175

Tee-Type Branch Fittings


The following cable tray tee-type branch fittings are available.

Topics
SP3DCTVerDownTeeSideBr ......................................................... 129
SP3DCTVerUpTeeSideBr ............................................................. 131
SP3DRedHBTeeCableTray ........................................................... 132
SP3DTeeCableTray....................................................................... 133
SP3DVTeeDownCableTray ........................................................... 140
SP3DVTeeUpCableTray ............................................................... 143

SP3DCTVerDownTeeSideBr
Description:
1. Vertical Segmented Downward Three Way, Side branch, Symmetrical, specified by Header
Length, Branch Length and Tangent Length (Default Implementation).
2. Vertical Segmented Downward Three Way, Side branch, Asymmetrical, specified by Header
Length, Tee Branch Length, Tangent Length 1, Tangent Length 2 and Tangent Length.
3. Vertical Segmented Downward Three Way, Side branch, Symmetrical, specified by Bend
Radius and Tangent Length
Symbol Name: SP3DCTVerDownTeeSideBr.CTVDownTSideBr
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: AsymVerDownTeeSideBr, CTVerDownTeeSideBr
User Class Name: Cable Tray Asymmetrical Vertical Downward Tee Side Branch, Cable Tray

Electrical 3D Symbols Reference 129


Cable Tray Symbols

Vertical Downward Tee Side Branch


Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCTVerDownTeeSideBr.CTVDownTSideBr
Inputs = 5
Input = "HeaderLength" Description = "Length of the header"
Input = "TeeBranchLength" Description = "Tee Branch Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Input = "TangentLength3" Description = "Tangent Length 3"
Outputs = 11
Output = "HeaderSideSurface" Description = "Header Side Surface"
Output = "BottomSurfacePort1" Description = "Bottom Surface Port 1"
Output = "BottomSurfacePort2" Description = "Bottom Surface Port 2"
Output = "BranchBase" Description = "Branch Base surface at the back"
Output = "LeftInclinedSurface" Description = "Left Inclined Surface"
Output = "RightInclinedSurface" Description = "Right Inclined Surface"
Output = "FrontInclinedSurface" Description = "Front Inclined Surface"
Output = "TangentPort3" Description = "Tangent Port 3"
Output = "CTPort1" Description = "Cable Tray Port 1"
Output = "CTPort2" Description = "Cable Tray Port 2"
Output = "CTPort3" Description = "Cable Tray Port 3"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 130


Cable Tray Symbols

Part Design Basis 85

Part Design Basis 164

SP3DCTVerUpTeeSideBr
Description:
Symbol Name: SP3DCTVerUpTeeSideBr.CTVerUpTeeSideBr
Workbook: Sample Data for Cable Tray Parts.xls
Workbook Sheet: AsymVerUpTeeSideBr, CTVerUpTeeSideBr
User Class Name: Cable Tray Asymmetrical Vertical Upward Tee Side Branch, Cable Tray
Vertical Upward Tee Side Branch
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DCTVerUpTeeSideBr.CTVerUpTeeSideBr
Inputs = 5
Input = "HeaderLength" Description = "Length of the header"
Input = "TeeBranchLength" Description = "Tee Branch Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Input = "TangentLength3" Description = "Tangent Length 3"
Outputs = 7
Output = "TrayBottom" Description = "Tee Tray bottom surface"
Output = "HeaderSide" Description = "Header Side Plane"
Output = "BranchPort1Side" Description = "Branch curved side at port 1"

Electrical 3D Symbols Reference 131


Cable Tray Symbols

Output = "BranchPort2Side" Description = "Branch curved side at port 2"


Output = "CTTeePort1" Description = "CT Tee Port 1"
Output = "CTTeePort2" Description = "CT Tee Port 2"
Output = "CTTeePort3" Description = "CT Tee Port 3"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 81

SP3DRedHBTeeCableTray
Description: reducing branch cable tray tee
Symbol Name: SP3DRedHBTeeCableTray.RedHeaderBranchT
Workbook: Cable Tray Reducing Tee Sample Data.xls
Workbook Sheet: YITReducingTee
User Class Name: YIT Cable Tray Reducing Tee
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DRedHBTeeCableTray.RedHeaderBranchT

Electrical 3D Symbols Reference 132


Cable Tray Symbols

Inputs = 3
Input = "TeeBranchLength" Description = "Tee Branch Length"
Input = "ActualDepth" Description = "Depth of Duct"
Input = "BendRadius" Description = "Radius to the inner wall"
Outputs = 7
Output = "TrayBottom" Description = "Tee Tray bottom surface"
Output = "HeaderSide" Description = "Header Side Plane"
Output = "BranchPort1Side" Description = "Branch curved side at port 1"
Output = "BranchPort2Side" Description = "Branch curved side at port 2"
Output = "CTTeePort1" Description = "CT Tee Port 1"
Output = "CTTeePort2" Description = "CT Tee Port 2"
Output = "CTTeePort3" Description = "CT Tee Port 3"
Aspects = 1
Aspect = SimplePhysical

SP3DTeeCableTray
Description: Horizontal Tee, Series 2, <type of steel> Steel, Ladder, <radius size and units>
Rad, <width and units> W x <depth and units> D
1. Curved Horizontal Three Way, Symmetrical, specified by Bend Radius and Tangent Length
(Default implementation).
2. Bend Radius Dimension Exclusion basis.
3. Curved Horizontal Three Way, Asymmetrical, specified by Bend Radius, Tangent Length 1,
Tangent Length 2 and Tangent Length 3.
4. Curved Horizontal Three Way, Symmetrical, specified by Header Length, Bend Radius and
Tangent Length.
5. Curved Horizontal Three Way, Asymmetrical, specified by Header Length, Bend Radius,
Tangent Length 1, Tangent Length 2 and Tangent Length 3.
6. Segmented Horizontal Three Way, Symmetrical, specified by Header Length, Bend Radius
and Tangent Length.

Electrical 3D Symbols Reference 133


Cable Tray Symbols

7. Segmented Horizontal Three Way, Asymmetrical, specified by Header Length, Bend


Radius, Tangent Length 1, Tangent Length 2 and Tangent Length 3.
8. Curved Horizontal Three Way, specified by Header Length, Tee Branch Length and Bend
Radius
9. Segmented Horizontal Three Way with Right Hand Junction, specified by Header Length,
Offset, Bend Radius and Tangent Length (160).
10. Segmented Horizontal Three Way with Left Hand Junction, specified by Header Length,
Offset, Bend Radius and Tangent Length (161).
11. Segmented Horizontal Three Way, Symmetrical, specified by Header Length and Brach
Length(141)
12. Segmented Horizontal Three Way, Symmetrical, specified by Bend Radius - PDB 186
13. Curved Horizontal Three Way, specified by Header Length and Tangent Length - PDB 187
14. Curved Horizontal Three Way, specified by Tee Branch Length and Tangent Length - PDB
188
15. Segmented Horizontal Three Way, Type 2, Symmetrical, specified by Tangent Length - PDB
189
Symbol Name: SP3DTeeCableTray.CTeeCableTray
Workbook: CableTray.xls
Workbook Sheet: CTTee
User Class Name: Cable Tray Tee
Part Number: 4<type of steel>-<width>-HT<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3DTeeCableTray.CTeeCableTray
Inputs = 6
Input = "CTDimension" Description = "Cable Tray Dimension"
Input = "HeaderLength" Description = "Header Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Input = "TangentLength3" Description = "Tangent Length 3"
Input = "TeeBranchLength" Description = "Tee Branch Length"
Input = "Offset" Description = "Offset"
Outputs = 7
Output = "TrayBottom" Description = "Tee Tray bottom surface"
Output = "HeaderSide" Description = "Header Side Plane"
Output = "BranchPort1Side" Description = "Branch curved side at port 1"
Output = "BranchPort2Side" Description = "Branch curved side at port 2"
Output = "CTTeePort1" Description = "CT Tee Port 1"
Output = "CTTeePort2" Description = "CT Tee Port 2"
Output = "CTTeePort3" Description = "CT Tee Port 3"

Electrical 3D Symbols Reference 134


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 5

Part Design Basis 9

Electrical 3D Symbols Reference 135


Cable Tray Symbols

Part Design Basis 11

Part Design Basis 13

Part Design Basis 15

Electrical 3D Symbols Reference 136


Cable Tray Symbols

Part Design Basis 17

Part Design Basis 111

Part Design Basis 141

Electrical 3D Symbols Reference 137


Cable Tray Symbols

Part Design Basis 160

Part Design Basis 161

Electrical 3D Symbols Reference 138


Cable Tray Symbols

Part Design Basis 186

Part Design Basis 187

Electrical 3D Symbols Reference 139


Cable Tray Symbols

Part Design Basis 188

Part Design Basis 189

SP3DVTeeDownCableTray
Description: Vertical Tee Down, Series 2, <type of steel> Steel, Ladder, <radius size and
units> Rad, <width and units> W x <depth and units> D
1. Case A (Part data Basis value -71):Vertical Curved Downward Three Way, Symmetrical,
specified by Bend Radius and Tangent Length
2. Case B (Part data Basis value -73):Vertical Curved Downward Three Way, Asymmetrical,
specified by Bend Radius, Tangent Length 1, Tangent Length 2 and Tangent Length 3
3. Case C (Part data Basis value -75):Vertical Segmented Downward Three Way,
Symmetrical, specified by Header Length, Branch Length and Tangent Length
4. Case D (Part data Basis value -77):Vertical Segmented Downward Three Way,
Asymmetrical, specified by Header Length, Branch Length, Tangent Length 1, Tangent
Length 2 and Tangent Length 3
5. Case E (Part data Basis value -163):Vertical Segmented Downward Three Way,
Symmetrical, specified by Bend Radius and Tangent Length

Electrical 3D Symbols Reference 140


Cable Tray Symbols

Symbol Name: SP3DVTeeDownCableTray.CVTDownCableTray


Workbook: CableTray.xls
Workbook Sheet: CTTeeVD
User Class Name: Cable Tray Tee Vertical Down
Part Number: 4<type of steel>-<width>-VT<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3DVTeeDownCableTray.CVTDownCableTray
Inputs = 5
Input = "HeaderLength" Description = "Header Length"
Input = "TeeBranchLength" Description = "Tee Branch Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Input = "TangentLength3" Description = "Tangent Length 3"
Outputs = 6
Output = "FrontTeeSection" Description = "Front Tee- Section"
Output = "RearTeeSection" Description = "Rear Tee- Section"
Output = "CurvedSection" Description = "Curved Section"
Output = "CTTeePort1" Description = "CT Tee Port 1"
Output = "CTTeePort2" Description = "CT Tee Port 2"
Output = "CTTeePort3" Description = "CT Tee Port 3"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 141


Cable Tray Symbols

Part Design Basis 73

Part Design Basis 75

Part Design Basis 77

Electrical 3D Symbols Reference 142


Cable Tray Symbols

Part Design Basis 163

Part Design Basis 199

SP3DVTeeUpCableTray
Description: Vertical Tee Up, Series 2, <type of steel> Steel, Ladder, <radius size and units>
Rad, <width and units> W x <depth and units> D
1. Case A (Part data Basis value -63):Vertical Curved Upward Three Way, Symmetrical,
specified by Bend Radius and Tangent Length
2. Case B (Part data Basis value -65):Vertical Curved Upward Three Way, Asymmetrical,
specified by Bend Radius, Tangent Length 1, Tangent Length 2 and Tangent Length 3
3. Case C (Part data Basis value -67):Vertical Segmented Upward Three Way, Symmetrical,
specified by Header Length, Branch Length and Tangent Length
4. Case D (Part data Basis value -69):Vertical Segmented Upward Three Way, Asymmetrical,
specified by Header Length, Branch Length, Tangent Length 1, Tangent Length 2 and
Tangent Length 3

Electrical 3D Symbols Reference 143


Cable Tray Symbols

5. Case E (Part data Basis value -162):Vertical Segmented Upward Three Way, Symmetrical,
specified by Bend Radius and Tangent Length
Symbol Name: SP3DVTeeUpCableTray.CVTUpCableTray
Workbook: CableTray.xls
Workbook Sheet: CTTeeVU
User Class Name: Cable Tray Tee Vertical Up
Part Number: 4<type of steel>-<width>-VTU<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3DVTeeUpCableTray.CVTUpCableTray
Inputs = 5
Input = "HeaderLength" Description = "Header Length"
Input = "TeeBranchLength" Description = "Tee Branch Length"
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Input = "TangentLength3" Description = "Tangent Length 3"
Outputs = 6
Output = "TrayBottom" Description = "Tray Bottom"
Output = "FrontTeeSection" Description = "Front Tee- Section"
Output = "RearTeeSection" Description = "Rear Tee- Section"
Output = "CTTeePort1" Description = "CT Tee Port 1"
Output = "CTTeePort2" Description = "CT Tee Port 2"
Output = "CTTeePort3" Description = "CT Tee Port 3"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 144


Cable Tray Symbols

Part Design Basis 65

Part Design Basis 67

Part Design Basis 69

Electrical 3D Symbols Reference 145


Cable Tray Symbols

Part Design Basis 162

Wye-Type Branch Fittings


The following cable tray wye-type branch fittings are available.

Topics
CTHorizontalTrueWye ................................................................... 146
SP3DLeftWyeCableTray ............................................................... 147
SP3DRightWyeCableTray ............................................................. 150

CTHorizontalTrueWye
Description:
Symbol Name: CTHorizontalTrueWye.CTHorTrueWye
Workbook:
Workbook Sheet:
User Class Name:
Part Number:
Inputs, Outputs, and Aspects:
ProgID: CTHorizontalTrueWye.CTHorTrueWye
Inputs = 5
Input = "TangentLength1" Description = "Tangent Length 1"
Input = "TangentLength2" Description = "Tangent Length 2"
Input = "Radius" Description = "Radius"
Input = "Length1" Description = "Length 1"
Input = "Length2" Description = "Length 2"
Outputs = 2
Output = "Output1" Description = "Output 1"
Output = "Output2" Description = "Output 2"

Electrical 3D Symbols Reference 146


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

SP3DLeftWyeCableTray
Description: Horizontal Wye Left, Series 2, <type of steel> Steel, Ladder, <radius size and
units> Rad, <width and units> W x <depth and units> D Segmented Horizontal Three Way with
450 Left Hand Junction, Symmetrical, specified by Bend Radius and Tangent Length (167)
Symbol Name: SP3DLeftWyeCableTray.CLeftWyeCTray
Workbook: CableTray.xls
Workbook Sheet: CTHWyeLeft
User Class Name: Cable Tray Horizontal Wye Left
Part Number: 4<type of steel>-<width>-HYL<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3DLeftWyeCableTray.CLeftWyeCTray
Inputs = 3
Input = "FacetoTangent" Description = "Face to Tangent straight at port 3 C dimension"
Input = "HeadEndtoBranEnd" Description = "Length 1"
Input = "BranchOffset" Description = "Length 2"
Outputs = 7
Output = "WyeBottom" Description = "Wye Bottom Portion"
Output = "CurvedBranch" Description = "Branch Curved Portion"
Output = "VShapeBranch" Description = "V Shape Branch between2&3"
Output = "StraightVerti" Description = "Straight Vertical Bet 1&2"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Output = "PNoz3" Description = "Nozzle 3"

Electrical 3D Symbols Reference 147


Cable Tray Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 167

Electrical 3D Symbols Reference 148


Cable Tray Symbols

Part Design Basis 197

Electrical 3D Symbols Reference 149


Cable Tray Symbols

SP3DRightWyeCableTray
Description: Horizontal Wye Right, Series 2, <type of steel> Steel, Ladder, <radius size and
units> Rad, <width and units> W x <depth and units> D Segmented Horizontal Three Way with
450 Right Hand Junction, Symmetrical, specified by Bend Radius and Tangent Length (168)
Symbol Name: SP3DRightWyeCableTray.CRightWyeCTray
Workbook: CableTray.xls
Workbook Sheet: CTHWyeRight
User Class Name: Cable Tray Horizontal Wye Right
Part Number: 4<type of steel>-<width>-HYR<radius>
Inputs, Outputs, and Aspects:
ProgID: SP3DRightWyeCableTray.CRightWyeCTray
Inputs = 3
Input = "FacetoTangent" Description = "Face to Tangent straight at port 3 C dimension"
Input = "HeadEndtoBranEnd" Description = "Length 1"
Input = "BranchOffset" Description = "Length 2"
Outputs = 7
Output = "TrayBottom" Description = "Wye Tray bottom surface"
Output = "P1P3Branch" Description = "Wye Port1 to Port3 Branch"
Output = "P2P3Junction" Description = "Wye Port2 and Port3 Junction"
Output = "LeftPlane" Description = "Wye Left side Plane"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Output = "PNoz3" Description = "Nozzle 3"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 150


Cable Tray Symbols

Part Design Basis 168

Part Design Basis 198

Electrical 3D Symbols Reference 151


Cable Tray Symbols

Part Design Basis TJC

Electrical 3D Symbols Reference 152


SECTION 6

Conduit Symbols
The software uses symbols to represent the different conduit commodity items in the model. The
items are defined on the conduit parts catalog sheets. When defining the parts in the sheets,
look at the symbol that represents the item to verify the dimension that you are defining is
correct. The conduit parts are the same as small bore piping parts and can share the piping
parts listed in the piping catalog.
In addition to the symbols delivered with the software, you can create your own symbols that
you can use in your model. For more information about creating symbols, refer to Creating Part
Occurrence Symbols in Visual Basic.

CDTUTypeBody
Description:
Symbol Name: CDTUTypeBody.UTypeBody
Workbook:
Workbook Sheet:
User Class Name:
Part Number:
Inputs, Outputs, and Aspects:
ProgID: CDTUTypeBody.UTypeBody
Inputs = 3
Input = "FacetoFace" Description = "Face to Center"
Input = "Height" Description = "Conduit Body Height"
Input = "Width" Description = "Conduit Body Width"
Outputs = 5
Output = "Output1" Description = "Output 1"
Output = "Output2" Description = "Output 2"
Output = "Output3" Description = "Output 3"
Output = "ConduitPort1" Description = "Conduit Port 1"
Output = "ConduitPort2" Description = "Conduit Port 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 153


Conduit Symbols

Part Design Basis 9088

CondOutletBody
Description: conduit outlet box
1. Conduit outlet body, single outlet(9035)
2. Conduit outlet body, two outlets, type 1(9036)
3. Conduit outlet body, two outlets, type 2(9037)
4. Conduit outlet body, two outlets, type 3(9038)
5. Conduit outlet body, two outlets, type 4(9039)
6. Conduit outlet body, three outlets, type 1(9040)
7. Conduit outlet body, three outlets, type 2(9041)
8. Conduit outlet body, three outlets, type 3(9042)
9. Conduit outlet body, four outlets, type 1(9043)
10. Conduit outlet body, four outlets, type 2(9044)
Source for PDBs from 9103 to 9111:
11. Crouse-Hinds catalog, http://www.crouse-hinds.com/catalog/PDFS/Section4F.pdf
12. Conduit Outlet body, two outlets, type 5(9103)
13. Conduit Outlet body, two outlets, type 6(9104)
14. Conduit Outlet body, two outlets, type 7(9105)
15. Conduit Outlet body, three outlets, type 4(9106)
16. Conduit outlet body, three outlets, type 5(9107)
17. Conduit outlet body, four outlets, type 3(9108)
18. Conduit outlet body, five outlets, type 1(9109)
19. Conduit outlet body, five outlets, type 2(9110)
20. Conduit outlet body, four outlets, type 4(9111)
Symbol Name: CondOutletBody.OutletBody
Workbook: Conduit SampleData.xls
Workbook Sheet:

Electrical 3D Symbols Reference 154


Conduit Symbols

User Class Name:


Part Number:
Inputs, Outputs, and Aspects:
ProgID: CondOutletBody.OutletBody
Inputs = 6
Input = "BodyOutsideDiameter" Description = "Body Outside Diameter"
Input = "Height" Description = "Height"
Input = "PortOffset" Description = "Port Offset"
Input = "HubLength" Description = "Hub Length"
Input = "Length" Description = "Length"
Input = "CoverThickness" Description = "Cover Thickness"
Outputs = 3
Output = "OutletBody" Description = "Outlet Body"
Output = "HubBody" Description = "Hub Body"
Output = "PNoz1" Description = "Nozzle 1"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 9035

Electrical 3D Symbols Reference 155


Conduit Symbols

Part Design Basis 9036

Part Design Basis 9037

Electrical 3D Symbols Reference 156


Conduit Symbols

Part Design Basis 9038

Part Design Basis 9039

Electrical 3D Symbols Reference 157


Conduit Symbols

Part Design Basis 9040

Part Design Basis 9041

Part Design Basis 9042

Electrical 3D Symbols Reference 158


Conduit Symbols

Part Design Basis 9043

Part Design Basis 9044

Electrical 3D Symbols Reference 159


Conduit Symbols

Part Design Basis 103

Part Design Basis 104

Electrical 3D Symbols Reference 160


Conduit Symbols

Part Design Basis 105

Part Design Basis 106

Electrical 3D Symbols Reference 161


Conduit Symbols

Part Design Basis 107

Part Design Basis 108

Electrical 3D Symbols Reference 162


Conduit Symbols

Part Design Basis 109

Part Design Basis 110

Part Design Basis 111

Electrical 3D Symbols Reference 163


Conduit Symbols

SP3D90ConduitElbow
Description: 90 Degree elbow, female threaded ends 3000#
1. Inspection elbow, specified by face-to-center - 960
2. Conduit elbow, type LB, specified by length, height, width, cover width and cover length -
9000 (Source: Thomas and Betts Fittings Catalog
(http://www.tnb.com/contractor/docs/tc_gm101_xx.pdf), Page 41).
3. Conduit Elbow, type LL, specified by length, height, width, cover width and cover length -
9001 (Source: Thomas and Betts Fittings Catalog
(http://www.tnb.com/contractor/docs/tc_gm101_xx.pdf), Page 44).
4. Conduit Elbow, type LR, specified by length, height, width, cover width and cover length -
9002 (Source: Thomas and Betts Fittings Catalog
(http://www.tnb.com/contractor/docs/tc_gm101_xx.pdf), Page 45).
5. Conduit elbow, LB, type 2 (9045)
6. Conduit elbow, LB, type 3 (9046)
7. Conduit elbow, LB, type 4 (9047)
8. Conduit elbow, LB, type 5 (9048)
9. Conduit elbow, LB, type 6 (9049)
10. Conduit elbow, LB, type 7 (9050)
11. Conduit elbow, LB, type 8 (9051)
12. Conduit elbow, LL, type 2 (9052)
13. Conduit elbow, LL, type 3 (9053)
14. Conduit elbow, LR, type 2 (9054)
15. Conduit elbow, LR, type 3 (9055)
16. Conduit elbow, type BB (9056)
17. Conduit elbow, with union (9057)
18. Conduit elbow, asymmetrical, specified by face-to-center 1 and face-to-center 2 (9058)
Symbol Name: SP3D90ConduitElbow.C90ConduitElbow
Workbook: Conduit.xls
Workbook Sheet: ConduitE90
User Class Name: Conduit 90 Degree Elbow
Part Number: COND000003
Inputs, Outputs, and Aspects:
ProgID: SP3D90ConduitElbow.C90ConduitElbow
Inputs = 13
Input = "FacetoCenter" Description = "Face to Center"
Input = "Length" Description = "Conduit Body Length"
Input = "Height" Description = "Conduit Body Height"
Input = "Width" Description = "Conduit Body Width"
Input = "CoverLength" Description = "Cover Length"

Electrical 3D Symbols Reference 164


Conduit Symbols

Input = "CoverWidth" Description = "Cover Width"


Input = "CoverDiameter" Description = "Cover Diameter"
Input = "Face1toCenter" Description = "Face 1 to Center"
Input = "Face2toCenter" Description = "Face 2 to Center"
Input = "HubLength" Description = "Hub Length"
Input = "Hub2Length" Description = "Hub 2 Length"
Input = "PortOffset" Description = "Port Offset"
Input = "DiagonalLength" Description = "Diagonal Length"
Outputs = 3
Output = "ConduitElbow" Description = "ConduitElbow"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 960

Electrical 3D Symbols Reference 165


Conduit Symbols

Part Design Basis 9000

Part Design Basis 9001

Part Design Basis 9002

Electrical 3D Symbols Reference 166


Conduit Symbols

Part Design Basis 9045

Part Design Basis 9046

Electrical 3D Symbols Reference 167


Conduit Symbols

Part Design Basis 9047

Part Design Basis 9048

Electrical 3D Symbols Reference 168


Conduit Symbols

Part Design Basis 9049

Part Design Basis 9050

Electrical 3D Symbols Reference 169


Conduit Symbols

Part Design Basis 9051

Part Design Basis 9052

Part Design Basis 9053

Electrical 3D Symbols Reference 170


Conduit Symbols

Part Design Basis 9054

Part Design Basis 9055

Electrical 3D Symbols Reference 171


Conduit Symbols

Part Design Basis 9056

Part Design Basis 9057

Electrical 3D Symbols Reference 172


Conduit Symbols

Part Design Basis 9058

SP3DConduit45Elbow
Description: Conduit 45 Degree Elbow
Symbol Name: SP3DConduit45Elbow.C45Elbow
Workbook: Conduit.xls
Workbook Sheet: ConduitE45
User Class Name: Conduit 45 Degree Elbow
Part Number: COND000002
Inputs, Outputs, and Aspects:
ProgID: SP3DConduit45Elbow.C45Elbow
Inputs = 1
Input = "FacetoCenter" Description = "Face to Center"
Outputs = 3
Output = "ConduitElbow" Description = "ConduitElbow"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 173


Conduit Symbols

SP3DConduitCap
Description: conduit cap
Symbol Name: SP3DConduitCap.ConduitCap
Workbook: Conduit SampleData.xls
Workbook Sheet: ConduitCap
User Class Name: Conduit End Cap
Part Number: COND000006
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitCap.ConduitCap
Inputs = 6
Input = "FacetoEnd" Description = "Face to End"
Input = "Length" Description = "Conduit Body Length"
Input = "Height" Description = "Conduit Body Height"
Input = "Width" Description = "Conduit Body Width"
Input = "CoverLength" Description = "Cover Length"
Input = "CoverWidth" Description = "Cover Width"
Outputs = 3
Output = "CapBody" Description = "Cap Body"
Output = "CapEllipse" Description = "Cap Ellipse"
Output = "ConduitPort1" Description = "Conduit Port 1"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 174


Conduit Symbols

Part Design Basis 9031

SP3DConduitCoupling
Description: Conduit Coupling
1. Conduit coupling, type 1 (9114)
2. Conduit coupling, type 2 (9115)
3. Conduit coupling, type 3 (9116)
Symbol Name: SP3DConduitCoupling.CCoupling
Workbook: Conduit.xls
Workbook Sheet: ConduitCPL
User Class Name: Conduit Coupling
Part Number: COND000005
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitCoupling.CCoupling
Inputs = 6
Input = "FacetoFace" Description = "Face to Face"
Input = "Length" Description = "Conduit Body Length"
Input = "Height" Description = "Conduit Body Height"
Input = "Width" Description = "Conduit Body Width"
Input = "PortOffset" Description = "Port Offset"
Input = "HubLength" Description = "Hub Length"
Outputs = 3
Output = "CylinderBody" Description = "Cylinder Body"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 175


Conduit Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 115

Electrical 3D Symbols Reference 176


Conduit Symbols

Part Design Basis 116

SP3DConduitCross
Description: Conduit Cross
Symbol Name: SP3DConduitCross.ConduitCross
Workbook: Conduit SampleData.xls
Workbook Sheet: Conduit Cross
User Class Name: Conduit cross
Part Number: COND000043
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitCross.ConduitCross
Inputs = 6
Input = "FacetoCenter" Description = "Face to Center"
Input = "Length" Description = "Conduit Body Length"
Input = "Height" Description = "Conduit Body Height"
Input = "Width" Description = "Conduit Body Width"
Input = "Width1" Description = "Width 1"
Input = "AccessPanelWidth" Description = "Access Panel Width"
Outputs = 6
Output = "Header1" Description = "Header Cylinder"
Output = "Header2" Description = "Branch Cylinder"
Output = "ConduitPort1" Description = "Conduit Port 1"
Output = "ConduitPort2" Description = "Conduit Port 2"
Output = "ConduitPort3" Description = "Conduit Port 3"
Output = "ConduitPort4" Description = "Conduit Port 4"

Electrical 3D Symbols Reference 177


Conduit Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 9068

SP3DConduitExpJoint
Description: Conduit Expansion Joint
1. Conduit expansion joint, type 1 (9080)
2. Conduit expansion joint, type 2 (9081)
3. Conduit expansion joint, type 3 (9082)
4. Conduit expansion joint, type 4 (9083)

Electrical 3D Symbols Reference 178


Conduit Symbols

Symbol Name: SP3DConduitExpJoint.ConduitExpJoint


Workbook: Conduit SampleData.xls
Workbook Sheet: ConduitExpJoint
User Class Name: Conduit Expansion joint
Part Number: COND000044
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitExpJoint.ConduitExpJoint
Inputs = 6
Input = "Face1toExpJoint" Description = "Face 1 to Expansion Joint"
Input = "ExpJointLength1" Description = "Expansion Joint Length 1"
Input = "ExpJointDiameter" Description = "Expansion Joint Diameter"
Input = "ExpJointLength2" Description = "Expansion Joint Length 2"
Input = "ExpJointLength3" Description = "Expansion Joint Length 3"
Input = "ExpJointLength4" Description = "Expansion Joint Length 4"
Outputs = 5
Output = "Cylinder1" Description = "Cylinder Body 1"
Output = "Cylinder2" Description = "Cylinder Body 2"
Output = "Cylinder3" Description = "Cylinder Body 3"
Output = "ConduitPort1" Description = "Conduit Port 1"
Output = "ConduitPort2" Description = "Conduit Port 2"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 9081

Electrical 3D Symbols Reference 179


Conduit Symbols

Part Design Basis 9082

Part Design Basis 9083

Electrical 3D Symbols Reference 180


Conduit Symbols

SP3DConduitHub
Description: Conduit Hub
1. Conduit hub, type 1 (9072)
2. Conduit hub, type 2 (9073)
3. Conduit hub, type 3 (9074)
4. Conduit hub, type 4 (9075)
5. Conduit hub, type 5 (9076)
6. Conduit hub, type 6 (9077)
Symbol Name: SP3DConduitHub.ConduitHub
Workbook: Conduit SampleData.xls
Workbook Sheet: ConduitHub
User Class Name: Conduit Hub
Part Number: COND000045
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitHub.ConduitHub
Inputs = 6
Input = "FacetoFace" Description = "Face to Face"
Input = "Diameter" Description = "Diameter"
Input = "Length" Description = "Length"
Input = "Length1" Description = "Length 1"
Input = "Length2" Description = "Length 2"
Input = "Length3" Description = "Length 3"
Outputs = 4
Output = "Cylinder" Description = "Header Cylinder"
Output = "EndCone" Description = "Truncated End Cone"
Output = "ConduitPort1" Description = "Conduit Port 1"
Output = "ConduitPort2" Description = "Conduit Port 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 181


Conduit Symbols

Part Design Basis 9073

Part Design Basis 9074

Electrical 3D Symbols Reference 182


Conduit Symbols

Part Design Basis 9075

Part Design Basis 9076

Electrical 3D Symbols Reference 183


Conduit Symbols

Part Design Basis 9077

SP3DConduitPlug
Description: Conduit Plug
Symbol Name: SP3DConduitPlug.CPlug
Workbook: Conduit.xls
Workbook Sheet: ConduitPlug
User Class Name: Conduit Plug
Part Number: COND000006
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitPlug.CPlug
Inputs = 1
Input = "FacetoEnd" Description = "Face to End"
Outputs = 2
Output = "Body" Description = "Plug Body"
Output = "PNoz1" Description = "Nozzle 1"

Electrical 3D Symbols Reference 184


Conduit Symbols

Aspects = 1
Aspect = SimplePhysical

SP3DConduitReducer
Description: Conduit Reducer
Symbol Name: SP3DConduitReducer.CConcentric
Workbook: Conduit.xls
Workbook Sheet: ConduitREDC
User Class Name: Conduit Reducer
Part Number: COND000004
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitReducer.CConcentric
Inputs = 1
Input = "FacetoFace" Description = "Face to Face"
Outputs = 5
Output = "Hubport1" Description = "Hub port 1"
Output = "ReducingCone" Description = "Cone"
Output = "Hubport2" Description = "Hub port 2"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 185


Conduit Symbols

Aspects = 1
Aspect = SimplePhysical

SP3DConduitReducingTee
Description: Conduit Reducing Tee
Symbol Name: SP3DConduitReducingTee.CCTRB
Workbook: Conduit.xls
Workbook Sheet: ConduitTRB
User Class Name: Conduit Reducing Tee
Part Number:
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitTee.CCTRB
Inputs = 2
Input = "Face1toCenter" Description = "Face of header ends to Center"
Input = "Face2toCenter" Description = "Face of branch end to Center"
Outputs = 5
Output = "Header" Description = "Header Body"
Output = "Branch" Description = "Branch Body"
Output = "ConduitPort1" Description = "Conduit Port 1"
Output = "ConduitPort2" Description = "Conduit Port 2"
Output = "ConduitPort3" Description = "Conduit Port 3"

Electrical 3D Symbols Reference 186


Conduit Symbols

Aspects = 1
Aspect = SimplePhysical

SP3DConduitSealEYS
Description: Conduit Seal EYS
Symbol Name: SP3DConduitSealEYS.ConduitSealEYS
Workbook: Conduit SampleData.xls
Workbook Sheet: ConduitSealEYS
User Class Name: Conduit Seal EYS
Part Number: COND000046
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitSealEYS.ConduitSealEYS
Inputs = 8
Input = "FacetoFace" Description = "Face to Face"
Input = "SealExtLength" Description = "Seal Extension Length"
Input = "SealExtDiameter" Description = "Seal Extension Diameter"
Input = "SealSmallExtDiameter" Description = "Small Seal Extension Diameter"
Input = "Height" Description = "Height"
Input = "Length1" Description = "Length 1"
Input = "Length 2" Description = "Length 2"
Input = "Diameter" Description = "Diameter"
Outputs = 4
Output = "CylinderBody1" Description = "Main Cylinder Body"
Output = "CylinderBody2" Description = "Seal Cylinder Body"
Output = "ConduitPort1" Description = "Conduit Port 1"
Output = "ConduitPort2" Description = "Conduit Port 2"

Electrical 3D Symbols Reference 187


Conduit Symbols

Aspects = 1
Aspect = SimplePhysical

Part Design Basis 9060

Part Design Basis 9061

Electrical 3D Symbols Reference 188


Conduit Symbols

Part Design Basis 9062

Part Design Basis 9063

Electrical 3D Symbols Reference 189


Conduit Symbols

Part Design Basis 9064

Part Design Basis 9065

Part Design Basis 9066

Electrical 3D Symbols Reference 190


Conduit Symbols

SP3DConduitTanElbow
Description: SP3DConduitTanElbow
Symbol Name: SP3DConduitTanElbow.ConduitTanElbow
Workbook: Conduit SampleData.xls
Workbook Sheet: ConduitTangtElbow
User Class Name: Conduit tangent elbow
Part Number: COND000029, COND000030, COND000031, COND000033, COND000032,
COND000034, COND000038
Inputs, Outputs, and Aspects:
SP3DConduitTanElbow.ConduitTanElbow
Inputs = 11
Input = "FacetoCenter" Description = "Face to Center"
Input = "TangentLength" Description = "Tangent Length"
Input = "Face1toCenter" Description = "Face 1 to Center"
Input = "TangentLength1" Description = "TangentLength 1"
Input = "Face2toCenter" Description = "Face 2 to Center"
Input = "TangentLength2" Description = "TangentLength 2"
Input = "SeattoCenter" Description = "Seat to Center"
Input = "Seat1toCenter" Description = "Seat 1 to Center"
Input = "Seat2toCenter" Description = "Seat 2 to Center"
Input = "FacetoFacealongPort1" Description = "Face to Face along Port 1"
Input = "BendAngle" Description = "Bend Angle"
Outputs = 5
Output = "Elbow" Description = "Elbow"
Output = "TangentPortion1" Description = "Tangent Portion 1"
Output = "PNoz1" Description = "Nozzle 1"
Output = "TangentPortion2" Description = "Tangent Portion 2"
Output = "PNoz2" Description = "Nozzle 2"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 191


Conduit Symbols

Part Design Basis 9006

Part Design Basis 9007

Part Design Basis 9008

Electrical 3D Symbols Reference 192


Conduit Symbols

Part Design Basis 9011

Part Design Basis 9012

Part Design Basis 9013

Electrical 3D Symbols Reference 193


Conduit Symbols

Part Design Basis 9016

Part Design Basis 9017

Part Design Basis 9019

Electrical 3D Symbols Reference 194


Conduit Symbols

Part Design Basis 9021

Part Design Basis 9022

SP3DConduitTee
Description: Conduit Tee
1. Conduit Tee, with cover at side, specified by face-to-face, height, width, cover width and
cover length
2. Conduit Tee, with cover at the bottom, specified by face-to-face, height, width, cover width
and cover length
3. Conduit Tee, with cover at side, type 2 (9085)
4. Conduit Tee, with cover at the bottom, type 2 (9086)
Symbol Name: SP3DConduitTee.CCETee
Workbook: Conduit.xls
Workbook Sheet: ConduitTee
User Class Name: Conduit Tee
Part Number: COND000008
Inputs, Outputs, and Aspects:

Electrical 3D Symbols Reference 195


Conduit Symbols

ProgID: SP3DConduitTee.CCETee
Inputs = 11
Input = "FacetoCenter" Description = "Face to Center"
Input = "FacetoFace" Description = "Face to Face"
Input = "Height" Description = "Conduit Body Height"
Input = "Width" Description = "Conduit Body Width"
Input = "CoverLength" Description = "Cover Length"
Input = "CoverWidth" Description = "Cover Width"
Input = "Height1" Description = "Height 1"
Input = "Length1" Description = "Length 1"
Input = "Length2" Description = "Length 2"
Input = "Width1" Description = "Width 1"
Input = "Width2" Description = "Width 2"
Outputs = 5
Output = "Header" Description = "Header Body"
Output = "Branch" Description = "Branch Body"
Output = "ConduitPort1" Description = "Conduit Port 1"
Output = "ConduitPort2" Description = "Conduit Port 2"
Output = "ConduitPort3" Description = "Conduit Port 3"
Aspects = 1
Aspect = SimplePhysical

Electrical 3D Symbols Reference 196


Conduit Symbols

Part Design Basis 9032

Part Design Basis 9033

Part Design Basis 9085

Electrical 3D Symbols Reference 197


Conduit Symbols

Part Design Basis 9086

SP3DConduitUnion
Description: Conduit Union
Symbol Name: SP3DConduitUnion.CUnion
Workbook: Conduit.xls
Workbook Sheet: ConduitUN
User Class Name: Conduit Union
Part Number: COND000007
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitUnion.CUnion
Inputs = 2
Input = "FacetoFace" Description = "Face to Face"
Input = "UnionDiameter" Description = "Union Diameter"
Outputs = 5
Output = "Hubport1" Description = "Hub port 1"
Output = "Body" Description = "Body"
Output = "Hubport2" Description = "Hub port 2"
Output = "PNoz1" Description = "Nozzle 1"
Output = "PNoz2" Description = "Nozzle 2"

Electrical 3D Symbols Reference 198


Conduit Symbols

Aspects = 1
Aspect = SimplePhysical

SP3DConduitY
Description: Conduit Y
Symbol Name: SP3DConduitY.ConduitY
Workbook: Conduit SampleData.xls
Workbook Sheet: ConduitWye
User Class Name: Conduit Y
Part Number: COND000047
Inputs, Outputs, and Aspects:
ProgID: SP3DConduitY.ConduitY
Inputs = 2
Input = "FacetoFace" Description = "Face to Face"
Input = "Face2toBranch" Description = "Face2 to Branch Port"
Outputs = 5
Output = "Header" Description = "Header Cylinder"
Output = "Branch" Description = "Branch Cylinder"
Output = "ConduitPort1" Description = "Conduit Port 1"
Output = "ConduitPort2" Description = "Conduit Port 2"
Output = "ConduitPort3" Description = "Conduit Port 3"

Electrical 3D Symbols Reference 199


Conduit Symbols

Aspects = 1
Aspect = SimplePhysical

SP3DElecPullBox
Description:
1. Single gang box, dead end, specified by length, height, width and extension (9034)
2. Gang box, two outlets, type 1 (9090)
3. Gang box, two outlets, type 2 (9091)
4. Gang box, two outlets, type 3 (9092)
5. Gang box, two outlets, type 4 (9093)
6. Gang box, two outlets, type 5 (9094)
7. Gang box, three outlets, type 1 (9095)
8. Gang box, four outlets, type 1 (9096)
9. Gang box, dead end, type 2 (9097)
10. Gang box, dead end, type 3 (9098)
11. Gang box, dead end, type 4 (9099)
12. Conduit pull box, two outlets, type 1 (9100)
13. Conduit pull box, two outlets, type 2 (9101)
Symbol Name: SP3DElecPullBox.ElecPullBox
Workbook: Conduit.xls
Workbook Sheet: ConduitPullBox
User Class Name: Conduit Pullbox
Part Number: COND000010
Inputs, Outputs, and Aspects:
ProgID: SP3DElecPullBox.ElecPullBox

Electrical 3D Symbols Reference 200


Conduit Symbols

Inputs = 11
Input = "ElecEquipmentLength" Description = "ElecEquipmentLength"
Input = "ElecEquipmentWidth" Description = "ElecEquipmentWidth"
Input = "ElecEquipmentHeight" Description = "ElecEquipmentHeight"
Input = "Length" Description = "Length"
Input = "Width" Description = "Width"
Input = "Height" Description = "Height"
Input = "Extension" Description = "Extension"
Input = "HubLength" Description = "Hub Length"
Input = "PortOffset" Description = "Port Offset"
Input = "Length2" Description = "Length 2"
Input = "Diameter" Description = "Diameter"
Outputs = 2
Output = "PullBoxBody" Description = "PullBoxBody"
Output = "ConduitPort1" Description = "Nozzle 1"
Aspects = 1
Aspect = SimplePhysical

Part Design Basis 9034

Electrical 3D Symbols Reference 201


Conduit Symbols

Part Design Basis 9090

Part Design Basis 9091

Electrical 3D Symbols Reference 202


Conduit Symbols

Part Design Basis 9092

Part Design Basis 9093

Part Design Basis 9094

Electrical 3D Symbols Reference 203


Conduit Symbols

Part Design Basis 9095

Part Design Basis 9096

Electrical 3D Symbols Reference 204


Conduit Symbols

Part Design Basis 9097

Part Design Basis 9098

Electrical 3D Symbols Reference 205


Conduit Symbols

Part Design Basis 9099

Part Design Basis 9100

Electrical 3D Symbols Reference 206


Conduit Symbols

Part Design Basis 9101

Electrical 3D Symbols Reference 207


Index
Custom Evaluation of Origin and
2 Orientation • 21
Custom Foul Check • 22
2D Symbols • 10 Custom Mirror • 23
Custom Property Management • 23
3 Custom Weight and Center of Gravity
3D Symbols • 10 (COG) • 20

A D
Accessing Object Inputs • 31 Debugging Symbols with .NET • 37
Add a Preview Graphic to Parts using Defining a Custom Assembly • 29
Bulkload • 13 Defining Assembly Outputs • 29
Allowing End-Users to Delete Assembly Defining Ports on Symbols • 11, 16
Outputs • 31 Deploying the Symbols • 17
Direction Change Fittings • 64
Documentation Comments • 8
B Dynamic Outputs • 20, 32
Bulkloading a Custom Assembly • 33
Bulkloading the Piping Symbol • 18
Bulkloading the Symbol • 18
E
Edit Symbol Occurrence • 40
End Fittings • 122
C Error Investigation Methods • 42
Cable Tray Symbols • 47
CDTUTypeBody • 153
Checking the Status of Nested Symbols •
M
26 Migrated .NET Symbol Class • 28
Compare multiple symbol definitions • 45 Migrating an Existing Symbol to .NET • 28
CondOutletBody • 154 Migration Wizard • 28
Conduit Symbols • 153 Modify Assembly Outputs • 30
Configuring the Queues for Custom Batch
Jobs • 34 N
Connection Parts • 51 Naming of the Symbol Definition • 17
Creating .NET Symbols • 15
Creating .NET Symbols using the Symbol
Wizard • 27 O
Creating / Evaluating Assembly Outputs • Optional Assembly Outputs • 30
29
Creating a Custom Assembly • 29 P
Creating a Custom Batch Job • 33
Creating an Advanced Symbol • 19 Placing the Symbol • 18
Creating and Scheduling Custom Batch Preface • 7
Jobs • 33 Providing a Graphical Preview • 12
Creating Assembly Output • 29
Cross-Type Branch Fittings • 58 R
CTHorAdjSplicePlate • 51 Reducing Fittings • 123
CTHorizontalTrueWye • 146 Run comparisons from the command line •
CTStepReducer • 123 46

Electrical 3D Symbols Reference 208


Index

S SP3DEndPlateCableTray • 122
SP3DLeftReducerCableTray • 124
Schedule Data Consistency Check Dialog
SP3DLeftWyeCableTray • 147
Box • 36
SP3DMultiCableTransit • 48
Scheduling a Custom Batch Job • 34
SP3DRedHBTeeCableTray • 132
Sources of Errors • 41
SP3DRightReducerCableTray • 126
SP3D15DegHorCableTray • 65
SP3DRightWyeCableTray • 150
SP3D30HCableTray • 68
SP3DSredCableTray (Straight Reducer) •
SP3D30VCTrayInside • 70
127
SP3D30VCTrayOutside • 72
SP3DTeeCableTray • 133
SP3D45HCableTray • 73
SP3DVTeeDownCableTray • 140
SP3D45VCTrayInside • 77
SP3DVTeeUpCableTray • 143
SP3D45VCTrayOutside • 80
Symbol Validation Tool • 43
SP3D60HCableTray • 83
Symbols • 9
SP3D60VCTrayInside • 86
SP3D60VCTrayOutside • 87
SP3D75HCableTray • 89 T
SP3D75VCTrayInside • 90 Tee-Type Branch Fittings • 129
SP3D75VCTrayOutside • 91 Testing Symbols • 39
SP3D90ConduitElbow • 164 To Do Record Messages • 24
SP3D90HCableTray • 92 Troubleshooting Symbols • 37
SP3D90HExpRedCableTray • 99
SP3D90VCableTrayInside • 100 U
SP3D90VCableTrayOutside • 103
SP3DAdjHCableTray • 108 Understanding the Geometry • 15
SP3DAdjVCableTray • 108 Update Symbol • 39
SP3DCableRiserTray • 109 Useful Tips for Symbol Definition Coding •
SP3DConduit45Elbow • 173 27
SP3DConduitCap • 174
SP3DConduitCoupling • 175 V
SP3DConduitCross • 177 Verify a single symbol definition • 43
SP3DConduitExpJoint • 178
SP3DConduitHub • 181
SP3DConduitPlug • 184
W
SP3DConduitReducer • 185 What's New in Electrical 3D Symbols • 8
SP3DConduitReducingTee • 186 Workflow • 28
SP3DConduitSealEYS • 187 Writing Code for the .NET Symbol • 17
SP3DConduitTanElbow • 191 Wye-Type Branch Fittings • 146
SP3DConduitTee • 195
SP3DConduitUnion • 198
SP3DConduitY • 199
SP3DCrossCableTray • 58
SP3DCT15DegVerInside • 111
SP3DCT15DegVerOutside • 113
SP3DCT90ReversalBend • 115
SP3DCTLeftDownTwoWay • 116
SP3DCTLeftUpTwoWay • 118
SP3DCTRightDownTwoWay • 119
SP3DCTRightUpTwoWay • 120
SP3DCTVAdjSplicePlate • 54
SP3DCTVerDownTeeSideBr • 129
SP3DCTVerUpTeeSideBr • 131
SP3DElecPullBox • 200

Electrical 3D Symbols Reference 209

Вам также может понравиться