To customize the Smart 3D reference data, you need to understand some terms and concepts that are used regularly.
While all Smart 3D reference data uses similar concepts, each task has its own techniques and terminology. This topic discusses terms as they relate to the Structural Detailing task.
To function, all Structural Detailing rules require Symbols, Visual Basic rules, and C# rules.
The symbols define geometry. They also contain parameters that control that geometry or other outputs. For example, the symbol could control the shape of a slot or the bevel depth of a weld.
Structural Detailing rules primarily use two-dimensional symbols. Examples of 2D Structural Detailing symbols include:
Profile Cross Sections
Slots and Collars
Symbols could also be defined with Visual Basic and C# code.
Visual Basic Rules
Visual Basic rules control the output by analyzing connection and boundary cases, accepting user input, selecting default features, and controlling parameter output to size the feature.
Structural Detailing rule components include the following:
A smart class is based on an object class, such as a slot, clip, or bracket. The smart class always contains a selector rule, and it is a collection of either smart items or smart classes. Smart classes are nodes in the catalog hierarchy.
A smart class displays as a folder in the catalog browser. It may contain other smart classes as children.
Because smart classes always contain a selector rule, you can right-click the folder and select Properties to display the selector.
In the model, smart classes display on the Properties page. A smart class can be found at any intermediate step in the selection process.
If you change the selection, you will select a new smart class. After you select a new smart class, click Valid to start the selector.
A smart item is a leaf of the smart selection hierarchy. Smart items always contain a definition rule. They may also contain a symbol file or parameter rule.
Smart items display as a leaf in the catalog browser.
The final selection is the smart item. A selection can result in multiple Smart Item choices. To modify the selection, select and new smart item and click Apply.
The purpose of a Selector Rule is to select a Smart Class or a smart item.
Selector rules contain user-defined VB and C# code. They return a list of Smart Classes or Smart Items. The first object in the list is the default. Selector Rules define user questions and default answers. They are always associated with a Smart Class. The logic is based on user answers (a default answer is placed at creation, but the user can modify the object to change the answer) and input object properties.
The following example shows the code for choosing smart classes.
A Question is a property of a Smart Class.
A default Answer is defined by the Question. The user or the Selector may select a different Answer.
The purpose of a Definition Rule is to create objects in the model. Definition Rules are user-defined Visual Basic and C# code. They are always associated with a Smart Item. Definition Rules copy answers to other Smart Classes. They can create objects based on user-defined conditionals.
Definition Rules create objects or members. In many cases, this means activating other Smart Classes. In the following example, the definition file of a connected slot creates a weld, starting the Tee Weld smart class.
Parameter Rule (Parm)
The purpose of a Parameter Rule is to compute parameter values. A Parameter Rule consists of user-defined Visual Basic and C# code and is always associated with a Smart Item. It sets the values that are applied to the symbol.
Parameter Rules can use the properties of the object to make decisions about parameter values.
A Smart Occurrence is a set of objects that is the result of the Selector, Parameter, and Definition rules. It is defined with a default set of selections and values, but each object in the Smart Occurrence can be modified independently.
A Smart Occurrence is the occurrence of the rules in the model. The Smart Occurrence includes the Assembly Connection and its children.
During the selection process, Structural Detailing rules use tools such as Measurement Symbols, Wrapper Classes, Custom Methods, and Codelists.
Measurement Symbols are used to calculate geometric parameters for input to user rules. For example, a measurement symbol can calculate the orientation angle of a bounding profile.
Wrapper Classes provide access to automated functions. They also provide access to the properties of the business objects. Wrapper Classes are delivered by Smart 3D insulate complicated code and make it easier for you to write rules.
.Net Helper Methods
DetailingCommonMethods - This project contains the helper classes that have the common functionality required by various custom assemblies.
DetailingCustomAssembliesServices – This helper class has common method implementation for .NET Structural Detailing custom assemblies.
MarineContentXMLServices – This helper class supports functionality required for customized XML in design rules.
DetailingQuestionAnswer - This project contains the structural detailing assembly helper classes, that are used by Selector Rules to compute default values for user questions.
DetailingStructureCondition - This project contains the structural detailing assembly helper classes, that are used to get the custom assembly's structure condition to decide the answer for the question from the XML.
DetailingStructureInput - This project contains the structural detailing assembly helper classes, that are used to calculate each value for the formula given from the XML for custom assemblies.
VB Custom Methods (CM)
Custom Methods are Visual Basic and C# code that is called and reused many times. There are two types:
Question Custom Methods (SelCM) - These methods are used by Selector Rules to compute default values for user questions.
Member Custom Methods (DefCM) - These methods are used by Definition Rules to create objects. They include conditionals that decide if objects are necessary.
Codelists are used to create lists of values that are available to the user. They prevent the user from typing in an invalid answer. They are created during a bulkload, and are stored in the catalog Schema database. For example, the DeckCategory code list defined in the AllShipCodeLists.xls file defines the valid deck types.
C# Project Example
ProgIDs are the interface to the catalog. The rules are identified in the registry by a ProgID.
A - The bulkload spreadsheets point to these ProgIDs.