Class DexpiShapeCatalog
java.lang.Object
neqsim.process.processmodel.dexpi.DexpiShapeCatalog
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 Summary
FieldsModifier and TypeFieldDescription(package private) static final StringShape name for ball valves (ISO 10628:2012-X8038-A).(package private) static final StringShape name for butterfly valves (ISO 10628:2012-X8042-A).(package private) static final StringShape name for check/non-return valves (ISO 10628:2012-X8072-A).private static final StringStandard line color B component.private static final StringStandard line color G component.private static final StringStandard line color R component (dark red per DEXPI convention).(package private) static final StringShape name for centrifugal compressors.(package private) static final StringShape name for air coolers.(package private) static final StringShape name for distillation/tray columns.(package private) static final StringShape name for expanders / turbines.(package private) static final StringShape name for gate valves (ISO 10628:2012-X8062-A).(package private) static final StringShape name for generic equipment.(package private) static final StringShape name for globe valves.(package private) static final StringShape name for shell-and-tube heat exchangers.(package private) static final StringShape name for fired heaters.(package private) static final StringShape name for central/panel-mounted instrument bubble (ISA 5.1).(package private) static final StringShape name for field-mounted instrument bubble (ISA 5.1).private static final StringInstrument outline colour B.private static final StringInstrument outline colour G (green).private static final StringInstrument outline colour R (green).private static final StringStandard line weight for instrument outlines.private static final StringStandard line weight for equipment outlines.(package private) static final StringShape name for mixers.(package private) static final StringShape name for nozzles.(package private) static final StringShape name for centrifugal pumps.(package private) static final StringShape name for safety/relief valves (ISO 10628:2012-X8088-A).(package private) static final StringShape name for vertical separators / vessels with dished heads.(package private) static final StringShape name for solenoid valve actuator symbol (ISA 5.1).(package private) static final StringShape name for splitters.(package private) static final StringShape name for three-phase separators.(package private) static final StringShape name for utility connection point (instrument air, steam, etc.). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidappendAxisAndReference(Document document, Element position) Appends standard Axis and Reference elements to a Position element.private static voidappendBallValveShape(Document document, Element catalogue) private static voidappendButterflyValveShape(Document document, Element catalogue) private static voidappendCheckValveShape(Document document, Element catalogue) private static voidappendCircle(Document document, Element parent, double radius, double cx, double cy, boolean filled) Appends a Circle element.private static voidappendCompressorShape(Document document, Element catalogue) private static voidappendCoolerShape(Document document, Element catalogue) private static voidappendDistillationColumnShape(Document document, Element catalogue) private static voidappendExpanderShape(Document document, Element catalogue) private static voidappendGateValveShape(Document document, Element catalogue) private static voidappendGenericEquipmentShape(Document document, Element catalogue) private static voidappendGlobeValveShape(Document document, Element catalogue) private static voidappendHeaterShape(Document document, Element catalogue) private static voidappendHeatExchangerShape(Document document, Element catalogue) private static voidappendInstrumentBubbleCentralShape(Document document, Element catalogue) private static voidappendInstrumentBubbleFieldShape(Document document, Element catalogue) private static voidappendInstrumentPolyLine(Document document, Element parent, double[][] coords) Appends a PolyLine with instrument presentation (green, 0.2 weight).private static voidappendInstrumentTrimmedCurve(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).private static voidappendMixerShape(Document document, Element catalogue) private static voidappendNozzleShape(Document document, Element catalogue) private static voidappendPolyLine(Document document, Element parent, double[][] coords) Appends a PolyLine element with the given coordinate pairs.private static voidappendPumpShape(Document document, Element catalogue) private static voidappendReliefValveShape(Document document, Element catalogue) private static voidappendSeparatorShape(Document document, Element catalogue) (package private) static voidappendShapeCatalogue(Document document, Element parent) Appends a complete<ShapeCatalogue>element to the given parent.private static voidappendSolenoidShape(Document document, Element catalogue) private static voidappendSplitterShape(Document document, Element catalogue) private static voidappendThreePhaseSeparatorShape(Document document, Element catalogue) private static voidappendTrimmedCurve(Document document, Element parent, double startAngle, double endAngle, double radius, double cx, double cy) Appends a TrimmedCurve (arc) element.private static voidappendUtilitySupplyShape(Document document, Element catalogue) private static ElementcreateShapeElement(Document document, String tagName, String id, String componentName, String isoNumber) Creates a shape element with ComponentName and ISO registration number.(package private) static StringgetShapeName(String componentClass) Returns the DEXPI ComponentName for a given NeqSim DEXPI component class.
-
Field Details
-
SEPARATOR_SHAPE
Shape name for vertical separators / vessels with dished heads.- See Also:
-
THREE_PHASE_SEPARATOR_SHAPE
-
COMPRESSOR_SHAPE
-
PUMP_SHAPE
-
COOLER_SHAPE
-
HEATER_SHAPE
-
HEAT_EXCHANGER_SHAPE
-
GLOBE_VALVE_SHAPE
-
GATE_VALVE_SHAPE
-
BALL_VALVE_SHAPE
-
CHECK_VALVE_SHAPE
Shape name for check/non-return valves (ISO 10628:2012-X8072-A).- See Also:
-
BUTTERFLY_VALVE_SHAPE
Shape name for butterfly valves (ISO 10628:2012-X8042-A).- See Also:
-
EXPANDER_SHAPE
-
MIXER_SHAPE
-
SPLITTER_SHAPE
-
NOZZLE_SHAPE
-
GENERIC_EQUIPMENT_SHAPE
-
DISTILLATION_COLUMN_SHAPE
-
RELIEF_VALVE_SHAPE
Shape name for safety/relief valves (ISO 10628:2012-X8088-A).- See Also:
-
SOLENOID_SHAPE
Shape name for solenoid valve actuator symbol (ISA 5.1).- See Also:
-
UTILITY_SUPPLY_SHAPE
Shape name for utility connection point (instrument air, steam, etc.).- See Also:
-
INSTRUMENT_BUBBLE_FIELD_SHAPE
Shape name for field-mounted instrument bubble (ISA 5.1).- See Also:
-
INSTRUMENT_BUBBLE_CENTRAL_SHAPE
Shape name for central/panel-mounted instrument bubble (ISA 5.1).- See Also:
-
INSTRUMENT_LINE_WEIGHT
Standard line weight for instrument outlines.- See Also:
-
INSTRUMENT_COLOR_R
-
INSTRUMENT_COLOR_G
-
INSTRUMENT_COLOR_B
-
LINE_WEIGHT
-
COLOR_R
Standard line color R component (dark red per DEXPI convention).- See Also:
-
COLOR_G
-
COLOR_B
-
-
Constructor Details
-
DexpiShapeCatalog
private DexpiShapeCatalog()
-
-
Method Details
-
appendShapeCatalogue
-
getShapeName
-
appendSeparatorShape
-
appendThreePhaseSeparatorShape
-
appendCompressorShape
-
appendPumpShape
-
appendCoolerShape
-
appendHeaterShape
-
appendHeatExchangerShape
-
appendGlobeValveShape
-
appendGateValveShape
-
appendBallValveShape
-
appendCheckValveShape
-
appendButterflyValveShape
-
appendExpanderShape
-
appendMixerShape
-
appendSplitterShape
-
appendNozzleShape
-
appendDistillationColumnShape
-
appendReliefValveShape
-
appendSolenoidShape
-
appendUtilitySupplyShape
-
appendGenericEquipmentShape
-
appendInstrumentBubbleFieldShape
-
appendInstrumentBubbleCentralShape
-
appendInstrumentPolyLine
-
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 documentparent- the parent elementstartAngle- arc start angle in degreesendAngle- arc end angle in degreesradius- the circle radiuscx- center Xcy- 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 documenttagName- the XML element tag (Equipment, PipingComponent, Nozzle)id- the shape element IDcomponentName- the ComponentName attributeisoNumber- the ISO 10628 registration number (may be empty)- Returns:
- the created element
-
appendPolyLine
-
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 documentparent- the parent elementradius- the circle radiuscx- center X coordinatecy- center Y coordinatefilled- 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 documentparent- the parent elementstartAngle- arc start angle in degreesendAngle- arc end angle in degreesradius- the circle radiuscx- center X coordinatecy- center Y coordinate
-
appendAxisAndReference
-