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
11 (2016)

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 their National Electric Code (NEC). Therefore, the delivered implementation is driven by NEC rules.

If you want to change these settings, the software delivers a Visual Basic Project (VBP) which can be customized to define your own rules. This project is available under [Product Reference Data Folder]\Programming\ExampleCode\Rules\cblFillCalculations folder of the delivered product. The project contains two files: CableTrayType.bas and clsFillCalc.cls.

CableTrayType.bas

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. The file also contains a method called GetAllowedArea which returns the maximum allowed area based on size from these tables. This file only needs to be modified when table-based rules, similar to NEC, are included.

clsFillCalc.cls

This file contains Implements IJDFillCalculations whose interface contains two important methods for calculating the fill: Private Sub IJDFillCalculations_GetConduitFillParams and Private Sub IJDFillCalculations_GetCwayFillParams. These methods will be overwritten when you customize them. The two method definitions follow:

  • Private Sub IJDFillCalculations_GetConduitFillParams(ByVal pDispConduitFeatObject As Object, ByVal pDispConduitGenPart As Object, lNoCables As Long, dWireArea As Double, bTradeSize As String, dTotalTraverseArea As Double, dAllowableTraverseArea As Double, dPercentFull As Double, dAvailableTraverseArea As Double, bStatus As String)

  • Private Sub IJDFillCalculations_GetCwayFillParams(ByVal pDispCableWayFeatObject As Object, ByVal pDispCableWayGenPart As Object, lNoCables As Long, dWireArea As Double, bTradeSize As String, dTotalTraverseArea As Double, dAllowableTraverseArea As Double, dPercentFull As Double, dAvailableTraverseArea As Double, bStatus As String)

The most important arguments in these methods are pDispCableWayFeatObject and dPercentFull. In addition, the cableway or conduit object from which we get the remaining properties, pDispCableWayFeatObject, is included as well as dPercentFull—a parameter which returns the calculated fill.

The following arguments are return parameters which are used purely for reporting purposes:

  • dTotalTraverseArea

  • dAllowableTraverseArea

  • dAvailableTraverseArea

  • bStatus

General Workflow

The general workflow is as follows:

  • Initialize the NEC tables.

  • Get the FillEfficiency for the feature.

  • Get the collection of cables in the feature.

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

  • Get the cableway part and get properties from that part.

  • Call the CalculateMaximumFill method to process the fill as per NEC.

  • Set the fill on dPercentFull and exit the function.