XML Schema for Cross Section Editor - Intergraph Smart 3D - Help - Hexagon

Intergraph Smart 3D Catalog

Language
English
Product
Intergraph Smart 3D
Subproduct
Catalog
Search by Category
Help
Smart 3D Version
13.1

Creating or editing the cross section properties using the Cross Section Editor are controlled by CrossSectionTypeProperties.xml delivered with the Reference Data Setup to [Product Folder]\[Product Reference Data Folder]\SharedContent\XML\Structure folder. In order to create a new part class under specific cross-section type, you need to define the part class and its properties in the XML file.

If you copy an existing part class by clicking Copy From in the New Class Dialog, ensure that it has its entry in the XML. For example if you choose to create a copy of W cross-section, the Name and Display Name are generated as Copy of W by default. You can also rename the section Name. Ensure that this name has its entry in the XML.

General cross-section information:

  • The CrossSectionTypes namespace differentiates the properties of different cross-section types.

  • CrossSectionType section defines the entire cross-section part class including input and output properties.

  • Name value specifies the name of the cross section part class. For example, W, WT and so forth.

  • CalculatorProgID value specifies the ProgID for the class that calculates cross-section properties. S3D provides a default section calculator SectionLibraryCalculator.sln, delivered to [Product Reference Data Folder]\SharedContent\Src\RefData\Rules\SectionLibraryCalculator. You can customize the default calculator or provide the ProgID of the custom calculator.

Example:

<CrossSectionTypes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:crosssection-schema" xsi:schemaLocation="urn:crosssection-schema CrossSectionTypeProperties.xsd">>
<CalculatorProgID>SectionLibraryCalculator,Ingr.SP3D.ReferenceData.Client.Services.CalculateSectionProperties</CalculatorProgID>

<CrossSectionType>

<Name>W</Name>

</CrossSectionType>

</CrossSectionTypes>

Inputs:

This section specifies the properties necessary to define a cross-section and calculate the design properties for the same.

  • Property section holds the data related to the input.

  • Name value specifies the name of the input property. For example, Section Name, Depth, Width, Flange Thickness and so forth.

  • InterfaceName indicates the name of the interface on which the Name is declared.

  • ContentType value specifies the type of the cross-section such as Material, Thickness and Grade. This property is optional unless the cross-section is built-up, tin which case the property is mandatory.

  • DependsOn specifies if the property is dependent on any other cross-section Type. In the below example, TopFlangeThickness property depends on TopFlangeMaterial and TopFlangeGrade.

Example:

<Inputs>

<Property>
<Name>TopFlangeThickness</Name> <InterfaceName>IUABuiltUpTopFlange</InterfaceName>
<ContentType>Thickness</ContentType>

<DependsOn>

<Property>
<Name>TopFlangeMaterial</Name>

<InterfaceName>IUABuiltUpTopFlange</InterfaceName>

<ContentType>Material</ContentType>

</Property>
<Property>
<Name>TopFlangeGrade</Name>

<InterfaceName>IUABuiltUpTopFlange</InterfaceName>

<ContentType>Grade</ContentType>

</Property>

</DependsOn>

</Property>

</Inputs>

Properties:

  • Property section holds the data related to the output.

  • Name value specifies the name of the output property. For example Area, Perimeter UnitWeight and so forth.

  • InterfaceName indicates the name of the interface on which the Name is declared.

  • IsCalculated value indicates whether or not the property is calculated. True indicates that the calculations are available in the calculator class; False indicates that there are no calculations. If IsCalculated is true, then the property is read only. If it is false then you can edit the property while creating the cross-section.

Example:

<Properties>

<Property>

<Name>Area</Name>

<InterfaceName>IStructCrossSectionDimensions</InterfaceName>

<IsCalculated>true</IsCalculated>

</Property>

</Properties>

New CalculatorProgID

To create a new .NET project for customized calculations and to evaluate the cross section properties, use the ISectionCalculator interface. This interface uses a method named CalculateCrossSectionProperties. You can create the required logic for calculating the properties. On compiling this method generates an assembly.

The ProgID for this generated project uses the following xml format:

AssemblyName,Namespace.ClassName

Example:

<CalculatorProgID>SectionLibraryCalculator,Ingr.SP3D.ReferenceData.Client.Services.CalculateSectionProperties</CalculatorProgID>