Customize Cable Fill - Intergraph Smart 3D - Reference Data

Intergraph Smart 3D Electrical Reference Data

Language
English
Product
Intergraph Smart 3D
Subproduct
Electrical
Search by Category
Reference Data
Smart 3D Version
12.1 (2019)

The rules for determining the amount of cable that can be placed in a cable tray or conduit are typically set by the owner; however, it is common in the U.S. to mandate that the fill amounts conform to the guidelines established by the National Fire Protection Association (NFPA) in the National Electric Code (NEC). Therefore, the delivered implementation is driven by NEC rules.

If you want to change these settings, the software delivers a .NET Project that you can customize to define your own rules. The CableRules.csproj file is delivered to the [Reference Data Folder]\SharedContent\Programming\ExampleCode\Cable\Rules\CableRules folder. The project contains a CableFillRule.cs file.

NECStandardTables.xml

This file mainly contains data from the NEC Specification tables under article 392. These tables specify the maximum allowed area for different sizes of cable trays. You need to modify this file only when you want to include other standard tables that are similar to NEC. The NECStandardTables.xml is delivered to the [Reference Data Folder]\SharedContent\Bin\Cable\Rules\Release folder.

Table Name in XML

NEC 2008 (Article 392) Reference Table

Tray Fill Calcs Flowchart

TABLE3929A

392.9(A)(2); Column 1

NEC 392.9 (A)(1)

TABLE3929C

392.9(C)(2); Column 3

NEC 392.9 (C)(3)

TABLE3929E1

392.9(E); Column 1

NEC 392.9 (E)(1)

TABLE3929E2

392.9(E); Column 2

NEC 392.9 (E)(2)

TABLE3929F1

392.9(F); Column 1

NEC 392.9 (F)(1)

TABLE3929F2

392.9(F); Column 2

NEC 392.9 (F)(2)

TABLE39210A

392.10(A)(2); Column 1

NEC 392.10 (A)(2)

CalculationProgIDs.xml

This file defines the ProgIDs for the calculation rules. The CalculationProgIDs.xml is delivered to the [Reference Data Folder]\SharedContent\Xml folder. The default .NET ProgID is CableRules,Ingr.SP3D.Content.Cable.Rules.CableFillRule.

<CalculationProgIDs>

<ProgID RuleName = "CableFillCalculationRule">CableRules,Ingr.SP3D.Content.Cable.Rules.CableFillRule</ProgID>

</CalculationProgIDs>

CableFillRule.cs

The main method, GetCableFillValueForFeature() in CableFillRule.cs contains two important methods for calculating the fill: GetCwayFillParams() and GetConduitFillParams(). The existing methods are overwritten when you customize them. Below are the definitions of both the methods:

  • GetCwayFillParams(RouteFeature CablewayFeatObj, out int lNoCables, out double dWireArea, out string strTradeSize, out double dTotalTraverseArea, out double dAllowableTraverseArea, out double dPercentFill, out double dAvailableTraverseArea, out string strStatus)

  • GetConduitFillParams(RouteFeature pConduitFeatObject, long lNoCables, double dWireArea, out string strTradeSize, out double dTotalTraverseArea, out double dAllowableTraverseArea, out double dPercentFill, out double dAvailableTraverseArea, out string strStatus)

The most important arguments in both methods are CablewayFeatObj and dPercentFill.

The arguments listed below are return parameters that are used only for reporting purposes.

  • dTotalTraverseArea

  • dAllowableTraverseArea

  • dAvailableTraverseArea

  • bStatus

General Workflow

The general workflow is as follows:

  1. Initialize the NEC tables.

  2. Get the FillEfficiency for the feature.

  3. Get the collection of cables in the feature.

  4. Get the required properties for each cable in the feature.

  5. Get the cableway part, and then get properties from that part.

  6. Call the CalculateMaximumFill method to process the fill as specified by the NEC rules.

  7. Set the dPercentFill and then exit the function.