Generates engineering-standard drawings (P&ID, SLD, floor plans, isometric) with ISA-5.1 and IEEE symbol libraries in SVG/DXF format. Activates for drawing generation, diagram creation, blueprint packaging, and output formatting from verified engineering calculations.
Convert verified engineering calculations into standard engineering drawings: P&ID, SLD, floor plans, and isometric piping views with SVG/DXF output.
Activation: BlueprintPackage generation request, any drawing type request (P&ID, SLD, floor plan, isometric), SVG/DXF output formatting, or title block creation.
Key capabilities:
Drawing types:
| Drawing Type | Standard | Primary Use |
|---|---|---|
| P&ID | ISA-5.1 | Piping and instrumentation, fluid systems |
| SLD | IEEE | Single-line electrical diagrams, power distribution |
| Floor Plan | Site-specific | Equipment layout, spatial relationships |
| Isometric | ASME | 3D pipe routing in 2D representation |
Output formats: SVG (primary, web-renderable) and DXF (CAD import via svg2dxf).
When to use this skill:
Mandatory in every drawing:
ENGINEERING DISCLAIMER
This output was generated by an AI assistant and has NOT been reviewed
by a licensed Professional Engineer (PE). All calculations, drawings,
and specifications must be verified by a qualified professional before
use in any construction, installation, or operational context. Local
building codes, electrical codes, and plumbing codes may impose
requirements not captured in this output. The user assumes all
responsibility for verification and compliance.
ENGINEERING DISCLAIMER: All drawings generated by this skill must be verified by a licensed Professional Engineer (PE) before use in construction, installation, or operational contexts. This disclaimer is non-removable and applies to all output formats.
Quick routing:
All drawing types share a six-step SVG generation pipeline:
Step 1: Layout Grid Set up a coordinate system based on paper size and scale:
Paper: A1 (841x594mm at 1:50 scale -> drawing area covers 42m x 29.7m real-world)
Grid: 10mm base grid for component snapping
Margins: 20mm all sides, 50mm bottom for title block
Origin: Top-left at (20, 20)mm
Standard paper sizes:
Standard scales: 1:20, 1:50, 1:100, 1:200, 1:500, NTS (not to scale)
Step 2: Component Placement Place symbols from the symbol library at specified coordinates:
// Reference the ISA-5.1 library (from references/symbols/symbols-pid.ts)
// or IEEE library (from references/symbols/symbols-electrical.ts)
import { PID_SYMBOLS } from './references/symbols/symbols-pid.js';
import { ELEC_SYMBOLS } from './references/symbols/symbols-electrical.js';
const symbol = PID_SYMBOLS['centrifugal-pump'];
// Place at grid coordinate with optional rotation
const placed = placeSymbol(symbol, { x: 150, y: 200 }, { rotation: 0 });
Step 3: Connection Routing Route pipes and wires between components with automatic bend detection:
Step 4: Dimensions and Annotations
3" SCH 40 CS (3-inch Schedule 40 carbon steel)Step 5: Title Block Generation
import { TitleBlock } from '../../types/infrastructure.js';
const titleBlock: TitleBlock = {
projectName: 'Data Center Cooling System',
drawingNumber: 'P&ID-001',
revision: 'Rev. A',
date: '2026-02-27', // ISO 8601
drawnBy: 'Claude (AI-Assisted)',
checkedBy: 'VERIFY WITH LICENSED PE', // ALWAYS this value -- non-configurable
scale: '1:50', // or "NTS"
sheet: '1 of 3',
};
Title block occupies bottom 50mm of drawing. PE disclaimer printed in title block as non-removable text element.
Step 6: SVG Output
<svg xmlns="http://www.w3.org/2000/svg"
width="841mm" height="594mm"
viewBox="0 0 841 594">
<!-- Drawing content: components, connections, dimensions -->
<!-- Title block with PE disclaimer -->
<text class="disclaimer" x="20" y="560">
NOT FOR CONSTRUCTION -- Verify with Licensed PE before use
</text>
</svg>
For DXF output: Use svg2dxf library or generate DXF directly using the DXF R12/2000 ENTITIES section format. Include all layers: PROCESS, INSTRUMENT, ELECTRICAL, DIMENSIONS, TITLE_BLOCK, DISCLAIMER.
P&IDs follow ISA-5.1 conventions. Load symbol library from references/symbols/symbols-pid.ts.
Required elements:
Tag numbering convention:
Data center cooling P&ID example elements:
Single-line diagrams (SLDs) follow IEEE standard conventions. Load symbol library from references/symbols/symbols-electrical.ts.
Required elements:
SLD layout convention:
Data center SLD example structure:
Utility Service (480V 3-Phase 4W)
|
Main Switchgear (480V, 2000A MCB)
|
480V Main Bus
|-------------------------------|
| |
UPS Input Feeder (480V, 400A) MDP Feeder (480V, 600A)
| |
UPS (480V/208V, 300kVA) MDP-A (480V)
| |
208V/120V Distribution Bus PDU-A1 (208V, 100kVA)
|-------------| |
| | IT Loads (208V, ~80kW)
Panel-A Panel-B
(lighting) (receptacles)
Floor plans show equipment physical layout in plan view (top-down).
Conventions:
Data center floor plan elements:
Coordinate system: Origin at lower-left structural column. All dimensions in millimeters. Grid on structural module (typically 600mm or 1200mm).
Isometric drawings show 3D pipe routing on a 2D plane.
Projection math:
Isometric grid point calculation:
Screen x = (real_x - real_y) * cos(30) * scale
Screen y = (real_z * scale) - (real_x + real_y) * sin(30) * scale
Where: cos(30) = 0.866, sin(30) = 0.5
Required elements:
Piping isometric conventions:
Scale selection based on system size and drawing purpose:
| System Size | Recommended Scale | Paper Size |
|---|---|---|
| Single equipment | 1:20 | A3 |
| Room/module | 1:50 | A1 |
| Floor/building | 1:100 | A1 or D |
| Campus/site | 1:200 or 1:500 | E |
| P&IDs | NTS (schematic) | A1 |
| SLDs | NTS (schematic) | A1 |
Scale annotation: Written as ratio ("1:50") in title block and as graphic scale bar on floor plans and isometrics. P&IDs and SLDs use "NTS" (not to scale) -- they are schematic, not dimensional.
SVG symbol definition for reuse:
<defs>
<symbol id="centrifugal-pump" viewBox="0 0 40 40">
<!-- Circle body -->
<circle cx="20" cy="20" r="15" fill="none" stroke="black" stroke-width="2"/>
<!-- Impeller blades (simplified) -->
<line x1="20" y1="5" x2="20" y2="35" stroke="black" stroke-width="1.5"/>
<line x1="5" y1="20" x2="35" y2="20" stroke="black" stroke-width="1.5"/>
<!-- Suction/discharge nozzles -->
<line x1="0" y1="20" x2="5" y2="20" stroke="black" stroke-width="2"/>
<line x1="20" y1="0" x2="20" y2="5" stroke="black" stroke-width="2"/>
</symbol>
</defs>
<!-- Place it: -->
<use href="#centrifugal-pump" x="100" y="200" width="40" height="40"/>
Connection routing algorithm: For orthogonal pipe routing between two points (x1,y1) and (x2,y2):
DXF R2000 generation pattern:
0
SECTION
2
ENTITIES
0
LINE
8 (layer name)
PROCESS_PIPE
10 (X start)
100.0
20 (Y start)
200.0
30 (Z start, usually 0)
0.0
11 (X end)
250.0
21 (Y end)
200.0
31 (Z end)
0.0
0
ENDSEC
0
EOF
Layers for DXF export:
PROCESS_PIPE: Heavy solid lines for process pipingINSTRUMENT_LINE: Dashed lines for instrument signalsELECTRICAL: Dot-dash lines for electricalEQUIPMENT: Equipment outlinesDIMENSIONS: Dimension lines and textTITLE_BLOCK: Title block contentDISCLAIMER: PE disclaimer text (separate layer, always on, cannot be frozen in delivered files)For complex systems, generate a drawing set with consistent numbering:
Drawing Set Structure:
PROJ-P&ID-001: Overall P&ID - System Overview
PROJ-P&ID-002: P&ID - Cooling Water System
PROJ-P&ID-003: P&ID - Chilled Water Distribution
PROJ-SLD-001: SLD - Main Power Distribution
PROJ-SLD-002: SLD - UPS and PDU Details
PROJ-FP-001: Floor Plan - Overall Equipment Layout
PROJ-ISO-001: Isometric - Cooling Water Piping
PROJ-ISO-002: Isometric - Chilled Water Piping
Sheet index in each drawing's title block: "Sheet X of Y" Revision control: All sheets in a set share the same revision level on release.
Dimension lines:
Equipment callout balloons:
Notes and legends:
All generated drawings produce DrawingSpec objects that assemble into a BlueprintPackage:
import { DrawingSpec, TitleBlock, BlueprintPackage } from '../../types/infrastructure.js';
// Each drawing type produces a DrawingSpec
const pidDrawing: DrawingSpec = {
type: 'P&ID',
format: 'svg',
scale: 'NTS',
revisionNumber: 1,
titleBlock: {
projectName: 'Data Center Cooling',
drawingNumber: 'DC-P&ID-001',
revision: 'Rev. A',
date: new Date().toISOString().split('T')[0],
drawnBy: 'Claude (AI-Assisted)',
checkedBy: 'VERIFY WITH LICENSED PE', // mandatory, non-configurable
scale: 'NTS',
sheet: '1 of 4',
},
content: '<svg>...</svg>', // Full SVG content
};
// Package all drawings together
const blueprintPackage: BlueprintPackage = {
drawings: [pidDrawing, sldDrawing, floorPlanDrawing, isoDrawing],
calculations: calculationRecords,
bom: billOfMaterials,
safetyReview: safetyResult,
};
Skill: pie-blueprint-engine v1.0.0 Domain: physical-infrastructure Safety: mandatory-pe-disclaimer