Class DexpiShapeCatalog

java.lang.Object
neqsim.process.processmodel.dexpi.DexpiShapeCatalog

final class DexpiShapeCatalog extends Object
Generates the DEXPI <ShapeCatalogue> section with ISO 10628:2012 standard P&ID symbols for process equipment.

Each shape is drawn using DEXPI graphical primitives (Circle, PolyLine, TrimmedCurve) in a local coordinate system centered at (0,0). Equipment elements reference these shapes via the ComponentName attribute. The SymbolRegistrationNumberAssignmentClass generic attribute records the ISO 10628 registration number for each shape.

Version:
1.0
Author:
NeqSim
  • Field Details

    • SEPARATOR_SHAPE

      static final String SEPARATOR_SHAPE
      Shape name for vertical separators / vessels with dished heads.
      See Also:
    • THREE_PHASE_SEPARATOR_SHAPE

      static final String THREE_PHASE_SEPARATOR_SHAPE
      Shape name for three-phase separators.
      See Also:
    • COMPRESSOR_SHAPE

      static final String COMPRESSOR_SHAPE
      Shape name for centrifugal compressors.
      See Also:
    • PUMP_SHAPE

      static final String PUMP_SHAPE
      Shape name for centrifugal pumps.
      See Also:
    • COOLER_SHAPE

      static final String COOLER_SHAPE
      Shape name for air coolers.
      See Also:
    • HEATER_SHAPE

      static final String HEATER_SHAPE
      Shape name for fired heaters.
      See Also:
    • HEAT_EXCHANGER_SHAPE

      static final String HEAT_EXCHANGER_SHAPE
      Shape name for shell-and-tube heat exchangers.
      See Also:
    • GLOBE_VALVE_SHAPE

      static final String GLOBE_VALVE_SHAPE
      Shape name for globe valves.
      See Also:
    • GATE_VALVE_SHAPE

      static final String GATE_VALVE_SHAPE
      Shape name for gate valves (ISO 10628:2012-X8062-A).
      See Also:
    • BALL_VALVE_SHAPE

      static final String BALL_VALVE_SHAPE
      Shape name for ball valves (ISO 10628:2012-X8038-A).
      See Also:
    • CHECK_VALVE_SHAPE

      static final String CHECK_VALVE_SHAPE
      Shape name for check/non-return valves (ISO 10628:2012-X8072-A).
      See Also:
    • BUTTERFLY_VALVE_SHAPE

      static final String BUTTERFLY_VALVE_SHAPE
      Shape name for butterfly valves (ISO 10628:2012-X8042-A).
      See Also:
    • EXPANDER_SHAPE

      static final String EXPANDER_SHAPE
      Shape name for expanders / turbines.
      See Also:
    • MIXER_SHAPE

      static final String MIXER_SHAPE
      Shape name for mixers.
      See Also:
    • SPLITTER_SHAPE

      static final String SPLITTER_SHAPE
      Shape name for splitters.
      See Also:
    • NOZZLE_SHAPE

      static final String NOZZLE_SHAPE
      Shape name for nozzles.
      See Also:
    • GENERIC_EQUIPMENT_SHAPE

      static final String GENERIC_EQUIPMENT_SHAPE
      Shape name for generic equipment.
      See Also:
    • DISTILLATION_COLUMN_SHAPE

      static final String DISTILLATION_COLUMN_SHAPE
      Shape name for distillation/tray columns.
      See Also:
    • RELIEF_VALVE_SHAPE

      static final String RELIEF_VALVE_SHAPE
      Shape name for safety/relief valves (ISO 10628:2012-X8088-A).
      See Also:
    • SOLENOID_SHAPE

      static final String SOLENOID_SHAPE
      Shape name for solenoid valve actuator symbol (ISA 5.1).
      See Also:
    • UTILITY_SUPPLY_SHAPE

      static final String UTILITY_SUPPLY_SHAPE
      Shape name for utility connection point (instrument air, steam, etc.).
      See Also:
    • INSTRUMENT_BUBBLE_FIELD_SHAPE

      static final String INSTRUMENT_BUBBLE_FIELD_SHAPE
      Shape name for field-mounted instrument bubble (ISA 5.1).
      See Also:
    • INSTRUMENT_BUBBLE_CENTRAL_SHAPE

      static final String INSTRUMENT_BUBBLE_CENTRAL_SHAPE
      Shape name for central/panel-mounted instrument bubble (ISA 5.1).
      See Also:
    • INSTRUMENT_LINE_WEIGHT

      private static final String INSTRUMENT_LINE_WEIGHT
      Standard line weight for instrument outlines.
      See Also:
    • INSTRUMENT_COLOR_R

      private static final String INSTRUMENT_COLOR_R
      Instrument outline colour R (green).
      See Also:
    • INSTRUMENT_COLOR_G

      private static final String INSTRUMENT_COLOR_G
      Instrument outline colour G (green).
      See Also:
    • INSTRUMENT_COLOR_B

      private static final String INSTRUMENT_COLOR_B
      Instrument outline colour B.
      See Also:
    • LINE_WEIGHT

      private static final String LINE_WEIGHT
      Standard line weight for equipment outlines.
      See Also:
    • COLOR_R

      private static final String COLOR_R
      Standard line color R component (dark red per DEXPI convention).
      See Also:
    • COLOR_G

      private static final String COLOR_G
      Standard line color G component.
      See Also:
    • COLOR_B

      private static final String COLOR_B
      Standard line color B component.
      See Also:
  • Constructor Details

    • DexpiShapeCatalog

      private DexpiShapeCatalog()
  • Method Details

    • appendShapeCatalogue

      static void appendShapeCatalogue(Document document, Element parent)
      Appends a complete <ShapeCatalogue> element to the given parent.
      Parameters:
      document - the XML document
      parent - the parent element (PlantModel root)
    • getShapeName

      static String getShapeName(String componentClass)
      Returns the DEXPI ComponentName for a given NeqSim DEXPI component class.
      Parameters:
      componentClass - the DEXPI ComponentClass string
      Returns:
      the shape ComponentName, or null if no specific shape is defined
    • appendSeparatorShape

      private static void appendSeparatorShape(Document document, Element catalogue)
    • appendThreePhaseSeparatorShape

      private static void appendThreePhaseSeparatorShape(Document document, Element catalogue)
    • appendCompressorShape

      private static void appendCompressorShape(Document document, Element catalogue)
    • appendPumpShape

      private static void appendPumpShape(Document document, Element catalogue)
    • appendCoolerShape

      private static void appendCoolerShape(Document document, Element catalogue)
    • appendHeaterShape

      private static void appendHeaterShape(Document document, Element catalogue)
    • appendHeatExchangerShape

      private static void appendHeatExchangerShape(Document document, Element catalogue)
    • appendGlobeValveShape

      private static void appendGlobeValveShape(Document document, Element catalogue)
    • appendGateValveShape

      private static void appendGateValveShape(Document document, Element catalogue)
    • appendBallValveShape

      private static void appendBallValveShape(Document document, Element catalogue)
    • appendCheckValveShape

      private static void appendCheckValveShape(Document document, Element catalogue)
    • appendButterflyValveShape

      private static void appendButterflyValveShape(Document document, Element catalogue)
    • appendExpanderShape

      private static void appendExpanderShape(Document document, Element catalogue)
    • appendMixerShape

      private static void appendMixerShape(Document document, Element catalogue)
    • appendSplitterShape

      private static void appendSplitterShape(Document document, Element catalogue)
    • appendNozzleShape

      private static void appendNozzleShape(Document document, Element catalogue)
    • appendDistillationColumnShape

      private static void appendDistillationColumnShape(Document document, Element catalogue)
    • appendReliefValveShape

      private static void appendReliefValveShape(Document document, Element catalogue)
    • appendSolenoidShape

      private static void appendSolenoidShape(Document document, Element catalogue)
    • appendUtilitySupplyShape

      private static void appendUtilitySupplyShape(Document document, Element catalogue)
    • appendGenericEquipmentShape

      private static void appendGenericEquipmentShape(Document document, Element catalogue)
    • appendInstrumentBubbleFieldShape

      private static void appendInstrumentBubbleFieldShape(Document document, Element catalogue)
    • appendInstrumentBubbleCentralShape

      private static void appendInstrumentBubbleCentralShape(Document document, Element catalogue)
    • appendInstrumentPolyLine

      private static void appendInstrumentPolyLine(Document document, Element parent, double[][] coords)
      Appends a PolyLine with instrument presentation (green, 0.2 weight).
      Parameters:
      document - the XML document
      parent - the parent element
      coords - array of [x, y] coordinate pairs
    • appendInstrumentTrimmedCurve

      private static void appendInstrumentTrimmedCurve(Document document, Element parent, double startAngle, double endAngle, double radius, double cx, double cy)
      Appends a TrimmedCurve (arc) with instrument presentation (green, 0.2 weight).
      Parameters:
      document - the XML document
      parent - the parent element
      startAngle - arc start angle in degrees
      endAngle - arc end angle in degrees
      radius - the circle radius
      cx - center X
      cy - center Y
    • createShapeElement

      private static Element createShapeElement(Document document, String tagName, String id, String componentName, String isoNumber)
      Creates a shape element with ComponentName and ISO registration number.
      Parameters:
      document - the XML document
      tagName - the XML element tag (Equipment, PipingComponent, Nozzle)
      id - the shape element ID
      componentName - the ComponentName attribute
      isoNumber - the ISO 10628 registration number (may be empty)
      Returns:
      the created element
    • appendPolyLine

      private static void appendPolyLine(Document document, Element parent, double[][] coords)
      Appends a PolyLine element with the given coordinate pairs.
      Parameters:
      document - the XML document
      parent - the parent element
      coords - array of [x, y] coordinate pairs
    • appendCircle

      private static void appendCircle(Document document, Element parent, double radius, double cx, double cy, boolean filled)
      Appends a Circle element.
      Parameters:
      document - the XML document
      parent - the parent element
      radius - the circle radius
      cx - center X coordinate
      cy - center Y coordinate
      filled - whether the circle is filled solid
    • appendTrimmedCurve

      private static void appendTrimmedCurve(Document document, Element parent, double startAngle, double endAngle, double radius, double cx, double cy)
      Appends a TrimmedCurve (arc) element.
      Parameters:
      document - the XML document
      parent - the parent element
      startAngle - arc start angle in degrees
      endAngle - arc end angle in degrees
      radius - the circle radius
      cx - center X coordinate
      cy - center Y coordinate
    • appendAxisAndReference

      private static void appendAxisAndReference(Document document, Element position)
      Appends standard Axis and Reference elements to a Position element.
      Parameters:
      document - the XML document
      position - the Position element