Академический Документы
Профессиональный Документы
Культура Документы
3D Symbols Reference
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.
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.
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
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
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
Conduit Symbols
Version 2016 (11.0)
No changes were made to this document for this release.
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)
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
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
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.
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.
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.
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.
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)
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,
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.
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.
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
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)
'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
…
'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) {}
…
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)
…
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.
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; }
}
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);
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.
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.
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.
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.
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.
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
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).
displays:
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
Setup
Add the following folders to your PATH environment variable:
C:\Program Files\Smart3D\Core\Runtime
C:\Program Files\Smart3D\GeometryTopology\Runtime
2. Click Project and select the project you want to debug. For example, in the following image
select HSSmartPart Properties (Alt+7).
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
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)
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
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.
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.
Using different custom symbol folders for the different clients of the server.
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)
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.
3. Select one or more symbols from the list, and then click View Details
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.
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"
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
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"
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"
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
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
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
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"
Aspects = 1
Aspect = SimplePhysical
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
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"
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"
Aspects = 1
Aspect = SimplePhysical
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
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"
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
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:
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
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"
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"
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"
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)
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
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
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"
Aspects = 1
Aspect = SimplePhysical
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
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
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"
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"
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
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)
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
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)
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
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"
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"
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
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"
Aspects = 1
Aspect = SimplePhysical
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
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
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"
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
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
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
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
Aspects = 1
Aspect = SimplePhysical
For straight reducers, D is smaller than A. For the straight cable tray, A and D are the
same.
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
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"
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
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.
Aspects = 1
Aspect = SimplePhysical
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
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
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
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"
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"
Aspects = 1
Aspect = SimplePhysical
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
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
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:
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"
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
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
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"
Aspects = 1
Aspect = SimplePhysical
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"
Aspects = 1
Aspect = SimplePhysical
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)
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
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"
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"
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"
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"
Aspects = 1
Aspect = SimplePhysical
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
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:
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
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"
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"
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
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
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
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