Skip to main content

Akash Sable

import { useState, useMemo } from “react”; // ════════════════════════════════════════════════════════════════════ // DATA // ════════════════════════════════════════════════════════════════════ const MODULES = [ { id:“shortcuts”, icon:“⌨️”, label:“Shortcuts”, color:”#f59e0b” }, { id:“data”, icon:“🗄️”, label:“Data Management”, color:”#3b82f6” }, { id:“partdb”, icon:“📦”, label:“Parts Database”, color:”#8b5cf6” }, { id:“symbols”, icon:“🔣”, label:“Symbol Library”, color:”#06b6d4” }, { id:“macros”, icon:“⚡”, label:“Macros & Placeholders”, color:”#f97316” }, { id:“templates”, icon:“📄”, label:“Templates & Forms”,color:”#10b981” }, { id:“reports”, icon:“📊”, label:“Reports”, color:”#e11d48” }, { id:“propanel”, icon:“🖥️”, label:“Pro Panel 3D”, color:”#7c3aed” }, { id:“automation”, icon:“🤖”, label:“Automation Scripts”,color:”#0ea5e9” }, { id:“folders”, icon:“📁”, label:“Folder Standards”, color:”#d97706” }, { id:“workflow”, icon:“🔄”, label:“Daily Workflow”, color:”#16a34a” }, { id:“importexport”,icon:“🔀”, label:“Import / Export”, color:”#db2777” }, ]; // ── SHORTCUTS ──────────────────────────────────────────────────────── const SHORTCUTS = { “Navigation”: [ { keys:[“F5”], desc:“Open project manager / Project tree” }, { keys:[“F6”], desc:“Open / close navigator panels” }, { keys:[“Ctrl”,“Tab”], desc:“Switch between open schematics” }, { keys:[“Ctrl”,“W”], desc:“Close current page” }, { keys:[“Ctrl”,“Shift”,“F4”], desc:“Close all open pages” }, { keys:[“Alt”,“←”], desc:“Navigate back (page history)” }, { keys:[“Alt”,“→”], desc:“Navigate forward (page history)” }, { keys:[“Ctrl”,“G”], desc:“Go to page (enter page name)” }, { keys:[“Ctrl”,“F”], desc:“Find / search in project” }, { keys:[“Ctrl”,“Home”], desc:“Jump to first page of project” }, { keys:[“Ctrl”,“End”], desc:“Jump to last page of project” }, ], “Schematic Drawing”: [ { keys:[“F1”], desc:“Insert symbol / component” }, { keys:[“F2”], desc:“Insert text / annotation” }, { keys:[“F3”], desc:“Insert connection (wire)” }, { keys:[“F4”], desc:“Insert black box / device” }, { keys:[“F7”], desc:“Insert potential / rail” }, { keys:[“F8”], desc:“Insert interrupt point / plug” }, { keys:[“Ctrl”,“D”], desc:“Duplicate selected element” }, { keys:[“Ctrl”,“M”], desc:“Move element precisely (enter coordinates)” }, { keys:[“Ctrl”,“R”], desc:“Rotate element 90° CCW” }, { keys:[“Ctrl”,“Shift”,“R”], desc:“Mirror element horizontally” }, { keys:[“Ctrl”,“K”], desc:“Trim / break wire at point” }, { keys:[“Ctrl”,“L”], desc:“Insert wire label / cross-reference” }, { keys:[“Delete”], desc:“Delete selected element” }, { keys:[“Escape”], desc:“Cancel current action / deselect” }, ], “Selection & Edit”: [ { keys:[“Ctrl”,“A”], desc:“Select all elements on page” }, { keys:[“Ctrl”,“Click”],desc:“Add to selection” }, { keys:[“Shift”,“Click”],desc:“Range selection (lasso)” }, { keys:[“Ctrl”,“Z”], desc:“Undo last action” }, { keys:[“Ctrl”,“Y”], desc:“Redo last undone action” }, { keys:[“Ctrl”,“X”], desc:“Cut selected elements” }, { keys:[“Ctrl”,“C”], desc:“Copy selected elements” }, { keys:[“Ctrl”,“V”], desc:“Paste elements” }, { keys:[“Ctrl”,“Shift”,“V”], desc:“Paste special (with options)” }, { keys:[“F11”], desc:“Edit properties of selected element” }, { keys:[“Ctrl”,“E”], desc:“Edit text in-place” }, { keys:[“Ctrl”,“Shift”,“P”], desc:“Properties dialog” }, ], “View & Zoom”: [ { keys:[“Ctrl”,”+”], desc:“Zoom in” }, { keys:[“Ctrl”,”-”], desc:“Zoom out” }, { keys:[“Ctrl”,“0”], desc:“Fit page to window (zoom all)” }, { keys:[“Ctrl”,“1”], desc:“Zoom 100%” }, { keys:[“Ctrl”,“9”], desc:“Zoom to selection” }, { keys:[“Middle Mouse”],desc:“Zoom in / out at cursor” }, { keys:[“Middle Drag”], desc:“Pan view” }, { keys:[“Ctrl”,“Shift”,“L”], desc:“Refresh / redraw display” }, { keys:[“F12”], desc:“Toggle full-screen mode” }, ], “Project & File”: [ { keys:[“Ctrl”,“N”], desc:“New project / page” }, { keys:[“Ctrl”,“O”], desc:“Open project” }, { keys:[“Ctrl”,“S”], desc:“Save project” }, { keys:[“Ctrl”,“Shift”,“S”], desc:“Save as (create copy)” }, { keys:[“Ctrl”,“P”], desc:“Print current page” }, { keys:[“Ctrl”,“Shift”,“P”], desc:“Print project (all pages)” }, { keys:[“Ctrl”,“Q”], desc:“Quit / close EPLAN” }, { keys:[“Alt”,“F4”], desc:“Close application” }, ], “Numbers & Cross-Ref”: [ { keys:[“Ctrl”,“Shift”,“N”], desc:“Renumber / number project (all devices)” }, { keys:[“Ctrl”,“Shift”,“C”], desc:“Check for errors (DRC - Design Rule Check)” }, { keys:[“Ctrl”,“Shift”,“R”], desc:“Generate reports (output pages)” }, { keys:[“F9”], desc:“Navigate to cross-reference target” }, { keys:[“Shift”,“F9”], desc:“Navigate back from cross-reference” }, ], “Pro Panel 3D”: [ { keys:[“3”], desc:“Toggle 3D view” }, { keys:[“1”], desc:“Front view” }, { keys:[“7”], desc:“Top view” }, { keys:[“Ctrl”,“Shift”,“A”], desc:“Auto-place components in layout” }, { keys:[“Ctrl”,“Shift”,“W”], desc:“Auto-route wiring / cable duct” }, { keys:[“R”], desc:“Rotate component in 3D” }, { keys:[“G”], desc:“Toggle grid snap in 3D” }, { keys:[“F”], desc:“Fit layout to view” }, { keys:[“Alt”,“C”], desc:“Open mounting panel navigator” }, ], }; // ── DATA MANAGEMENT ─────────────────────────────────────────────────── const DATA_MANAGEMENT = [ { title:“Project Settings & Properties”, icon:“⚙️”, steps:[ “File → Properties → set Language, Numbering standard (IEC/NFPA), Page structure”, “Set project structure type: Functional/Location/Installation (IEC 81346)”, “Define tag format: =FU+LOC-DT[counter] or custom”, “Set connection numbering: auto-sequential or page-based”, “Define layer/color scheme: match company standard”, “Assign project master data path (symbol library, parts DB, macros)”, ], tip:“Always copy master data to project-local path before sharing — avoids broken links”, shortcut:“Alt → Project → Properties”, }, { title:“Backup & Version Control”, icon:“💾”, steps:[ “Use EPLAN Backup (File → Backup) — creates .zw1 compressed archive”, “Backup contains: project data + all referenced master data”, “Schedule: backup after every major revision (IPC or design change)”, “Naming: PROJECT_NAME_Rev1.0_YYYY-MM-DD.zw1”, “Store on shared drive + local backup (3-2-1 rule)”, “Use EPLAN Data Portal API or EPLAN eVIEW for client-side review”, ], tip:”.zw1 = full backup | .zw9 = project only | .elk = project + selected pages”, shortcut:“Ctrl+S then File → Backup”, }, { title:“Project Data Synchronization”, icon:“🔄”, steps:[ “Extras → Synchronize → Parts (sync parts from master DB to project)”, “Update parts properties after DB update: select all symbols → right-click → Update properties”, “Cross-project synchronization: EPLAN API or XMl import/export”, “When sharing projects between offices: export full backup .zw1 with all master data included”, “Lock project before sharing: File → Lock project (prevents simultaneous editing)”, ], tip:“Parts sync overwrites project part data — review before syncing on client deliverable”, shortcut:“Extras → Synchronize → Parts”, }, { title:“Translation Management”, icon:“🌐”, steps:[ “Define languages: Project Properties → Languages → add EN, DE, etc.”, “All text properties can have language-specific values”, “Translation table: Utilities → Translation → Export/Import Excel”, “Auto-translate: use EPLAN translation server (optional module)”, “Language layer: each language on separate display layer”, ], tip:“Export translation table → translate in Excel → import back — fastest for large projects”, shortcut:“Utilities → Translation → Export”, }, ]; // ── IMPORT / EXPORT ─────────────────────────────────────────────────── const IMPORT_EXPORT = [ { format:“DXF/DWG”, dir:“Export”, steps:[“File → Export → DXF/DWG”, “Select pages to export”, “Set version (AutoCAD 2018 recommended)”, “Tick ‘Export text as text’ for editable output”, “Layers map to EPLAN display layers”], use:“Customer review, civil integration, GA drawings” }, { format:“PDF”, dir:“Export”, steps:[“File → Print → PDF”, “Or: Reports → Output → PDF batch”, “Set page size: A3/A4/Custom”, “Include bookmarks per page name”, “Password protect if confidential”], use:“Client deliverable, approval, site reference” }, { format:“XML”, dir:“Both”, steps:[“File → Export → XML (EPLAN format)”, “Import: File → Import → XML”, “XML preserves all properties & connections”, “Use for inter-system data exchange”, “EPLAN API uses XML as native format”], use:“PLC integration, CAD interoperability, BOM export” }, { format:“Excel”, dir:“Both”, steps:[“Reports → Output → Excel (for BOMs/parts lists)”, “Import parts: Parts management → Import → Excel/CSV”, “Import device tags: Extras → Import → Tags”, “Column mapping required on import”, “Template-based import for consistency”], use:“BOM, parts ordering, device tag lists from client” }, { format:“CSV/TXT”, dir:“Both”, steps:[“Parts DB: Parts Mgmt → Import → CSV”, “Map columns: Part number, Description, Manufacturer, Order no.”, “Connections: import terminal/cable lists from CSV”, “PLC tag import: Utilities → PLC → Import addresses”, “Export device list: Reports → Device list → Excel/CSV”], use:“PLC tag upload, parts procurement, terminal import” }, { format:“IDF/IDX”, dir:“Export”, steps:[“Pro Panel: Export → IDF (board layout format)”, “Use for PCB integration (rare in panel design)”, “IDX = incremental IDF format”, “ECAD/MCAD collaboration workflow”], use:“PCB integration, mechanical CAD collaboration” }, { format:“STEP/3D”, dir:“Both”, steps:[“Pro Panel: Import 3D model → Browse .step/.stp file”, “Assign to part in parts management”, “Export: Pro Panel → Export → STEP (3D assembly)”, “Set export quality (coarse/medium/fine mesh)”, “Use for mechanical review or clash detection”], use:“3D models for Pro Panel, mechanical CAD export” }, { format:“EPLAN .zw1”, dir:“Both”,steps:[“Backup/Restore: File → Backup → Full (.zw1)”, “Restore: File → Restore → select .zw1”, “.zw1 = project + all master data referenced”, “.zw9 = project files only”, “.elk = selected pages export”], use:“Project handover, archiving, inter-office transfer” }, { format:“EPM (Portal)”, dir:“Both”,steps:[“EPLAN Data Portal: online parts + macros”, “Download part directly into parts management”, “Auto-downloads: symbol, 2D panel layout, 3D STEP model, schematic macro”, “Sync: Parts Mgmt → EPLAN Data Portal → Search → Insert”, “API available for ERP/PLM integration”], use:“Up-to-date manufacturer parts with macros, 3D models” }, ]; // ── PARTS DATABASE ───────────────────────────────────────────────────── const PARTS_DB = [ { section:“Parts Management Structure”, icon:“🗂️”, items:[ “Access: Utilities → Parts Management (Ctrl+Alt+P)”, “Database types: EPLAN (.mdb Access) or SQL Server (enterprise)”, “Part record fields: Part number, ERP No., Description, Manufacturer, Order No., Weight, Technical data, Price”, “Functional data: Connection points, terminal data, mounting space”, “Graphical data: Symbol assignment, 2D panel layout, 3D model (STEP)”, “Product group hierarchy: Main group → Sub group → Function (IEC 61346)”, ], tip:“Use SQL Server database for multi-user concurrent access — .mdb is single-user only”, }, { section:“Creating a New Part”, icon:“➕”, items:[ “Parts Mgmt → New → enter Part number (unique, no spaces)”, “Tab: General — Manufacturer, Order no., Description (in all project languages)”, “Tab: Technical — Voltage, Current, Power, Temperature, IP rating, Weight”, “Tab: Mounting data — Mounting rail type, Width (mm), Height, Depth”, “Tab: Connection points — Define pin count, pin names, cross-section”, “Tab: Documents — Attach datasheet PDF, wiring diagram link”, “Tab: Part graphics — assign 2D symbol + 3D STEP model”, “Tab: Schematic macro — link to macro file (.ema)”, ], tip:“Always fill Order No. + Manufacturer — enables automatic BOM for procurement”, }, { section:“Importing Parts from EPLAN Data Portal”, icon:“☁️”, items:[ “Parts Mgmt → EPLAN Data Portal button (cloud icon)”, “Search by manufacturer part number or description”, “Preview: check symbol, 3D model, connection data before importing”, “Click ‘Insert’ — automatically adds part with all data + macro”, “Review and adjust: check mounting space width matches actual product”, “Verify connection point names match your project standard”, ], tip:“Data Portal has 1M+ parts — check manufacturer website if part not found”, }, { section:“Parts Export / Import (Excel)”, icon:“📋”, items:[ “Export: Parts Mgmt → Extras → Export → Excel/CSV”, “Edit in Excel: add/update parts, order numbers, descriptions”, “Import back: Parts Mgmt → Extras → Import → Excel”, “Column header row must match EPLAN field names exactly”, “Use UTF-8 encoding for special characters (German umlauts etc.)”, “Validate after import: check sample parts for completeness”, ], tip:“Export template first, fill it, import — never create import file from scratch”, }, { section:“Parts Numbering Convention”, icon:“🔢”, items:[ “Format: BRAND-TYPE-RATING e.g. SIE-3RT2-009 or ETN-HFD-100A”, “Avoid spaces — use hyphens or underscores”, “Group prefix: CB- (circuit breaker), CT- (contactor), TR- (transformer), etc.”, “ERP sync: ERP part number in ‘Part No. [ERP]’ field — separate from EPLAN part number”, “Version field: track catalog changes (e.g. discontinued parts → mark obsolete)”, ], tip:“Align part numbers with your ERP/procurement system to enable seamless BOM export”, }, ]; // ── SYMBOL LIBRARY ──────────────────────────────────────────────────── const SYMBOLS = [ { section:“Symbol Library Overview”, icon:“📚”, items:[ “Location: Utilities → Symbol library → Browse”, “Default libraries: IEC_symbol (IEC 60617), NFPA (US), GB (China), special libraries”, “Library file: .slk extension (symbol library)”, “Each symbol has: variant A (contact), variant B (coil), etc.”, “Symbol properties: function definition, connection point definitions, default text”, “Company standard library: create custom .slk with company-specific symbols”, ], tip:“Never edit default EPLAN libraries — create a company symbol library on top”, }, { section:“Creating Custom Symbols”, icon:“✏️”, items:[ “Symbol library → New → select category (coils, contacts, sensors, etc.)”, “Draw in symbol editor: use exact grid (2mm IEC standard)”, “Define connection points: Direction (left/right/top/bottom), Type (electrical, mechanical)”, “Assign properties: Property ID, display position, text size”, “Create all variants: VA (normal), VB (actuated), VC, VD as needed”, “Save to company library (separate from EPLAN standard)”, “Version control: date + author in symbol description field”, ], tip:“Grid MUST be 2mm for IEC — misaligned symbols cause connection errors”, }, { section:“Symbol Categories (IEC 60617)”, icon:“🗃️”, items:[ “01 — Qualifying symbols (general indicators, arrows, modes)”, “02 — Symbol elements, qualifying symbols (signal flow, direction)”, “03 — Conductors & connections (wires, rails, screens)”, “04 — Basic passive elements (R, C, L, fuse, transformer)”, “05 — Semiconductors & electron tubes (diode, transistor, SCR)”, “06 — Production & conversion of energy (battery, generator, motor)”, “07 — Switchgear & protective devices (CB, isolator, contactor, relay)”, “08 — Measuring instruments, lamps, signal devices”, “09 — Telecommunications, VHF, microwave components”, “10 — Adjustable & controlling components (rheostat, transducer)”, “11 — Analogue elements (amplifier, filter, delay)”, “12 — Binary logic elements (AND, OR, NOT gates)”, “13 — Analogue/binary logic elements (hybrid)”, ], tip:“Use IEC 60617 symbol set for international projects — NFPA for US/Canada only”, }, { section:“Symbol Assignment to Parts”, icon:“🔗”, items:[ “Parts Mgmt → Part → Tab: Schematic → assign symbol from library”, “Map connection points: part terminal X1/X2 → symbol connection point 1/2”, “Multiple function templates per part (e.g. contactor: main contacts + coil + aux contacts)”, “Function template: define which symbol appears when part is placed”, “Override: right-click placed symbol → Change function → select different variant”, ], tip:“Correct symbol-to-part mapping is critical for accurate BOM and connection lists”, }, ]; // ── MACROS & PLACEHOLDERS ───────────────────────────────────────────── const MACROS = [ { section:“Macro Types”, icon:“📂”, items:[ “Window macro (.ema): schematic sub-section (motor circuit, PLC card, etc.)”, “Symbol macro (.emc): single symbol with properties”, “Page macro (.emp): full schematic page (complete motor DOL page, etc.)”, “2D mounting layout macro (.emz): panel layout component with placeholders”, “3D mounting layout macro: Pro Panel 3D component placement template”, ], tip:“Always save macros to company macro folder — never on local C: drive”, }, { section:“Creating a Window Macro”, icon:“⚡”, steps:[ “Draw the circuit on schematic (e.g. complete DOL motor starter circuit)”, “Select all elements of the circuit”, “Right-click → Create window macro”, “Set insertion point (usually top-left connection terminal)”, “Name: use standard naming: MC_DOL_3P_400V.ema”, “Set description + variant name”, “Save to: \\server\EPLAN\Macros\Motor_Circuits\”, “Add placeholder objects for variable data (device tag, cable no.)”, ], tip:“Set insertion point at a wire — ensures clean alignment when placing macro”, }, { section:“Placeholder Objects (Variable Macros)”, icon:“🔲”, steps:[ “Insert → Placeholder object (while in macro edit mode)”, “Placeholder types: Text, Device tag, Page name, Project data field”, “Assign variable: =PLC_TAG, =MOTOR_TAG, =CABLE_NO, etc.”, “When macro is inserted: popup dialog asks user to fill in variable values”, “Placeholders replaced by actual values on insertion”, “Multiple instances: use different placeholder numbers for each unique value”, “Mandatory vs. optional: set ‘Required’ flag for critical fields”, ], tip:“Placeholder macros dramatically speed up repetitive circuit blocks (motors, feeders)”, }, { section:“Macro Navigation & Management”, icon:“🗺️”, steps:[ “Utilities → Macros → Macro navigator (browse all macros by folder)”, “Drag and drop from navigator directly onto schematic page”, “Preview: hover over macro in navigator to see thumbnail”, “Filter: search by name, description, creation date”, “Categories: create folder structure matching circuit types”, “Version control: date in macro name + changelog in description field”, ], tip:“Macro navigator is faster than File → Open for frequently used circuits”, }, { section:“Macro Folder Standard”, icon:“📁”, items:[ “\Macros\01_Power_Circuits\ — DOL, Star-Delta, Reversing, VFD circuits”, “\Macros\02_Control_Circuits\ — PLC I/O cards, control relays, timers”, “\Macros\03_Panels_Layout\ — MCC cells, panel sections, DB layouts”, “\Macros\04_PLC_Cards\ — S7-1200, S7-1500, ControlLogix DI/DO/AI/AO”, “\Macros\05_Safety_Circuits\ — Safety relay, E-stop, light curtain circuits”, “\Macros\06_Terminal_Blocks\ — Terminal strip layouts, PE terminals, jumpers”, “\Macros\07_Cables\ — Cable entry, gland plates, marshalling”, “\Macros\08_Title_Blocks\ — Cover pages, revision blocks, project data”, ], tip:“Maintain a ‘MACRO_CHANGELOG.xlsx’ in each folder — track additions and changes”, }, ]; // ── TEMPLATES & FORMS ──────────────────────────────────────────────── const TEMPLATES = [ { section:“Project Template (.ept)”, icon:“📄”, items:[ “Contains: page structure, page numbering, project settings, display settings”, “Includes: pre-created cover page, title block pages, table of contents”, “Standard templates by project type: MCC, Panel Board, Control Panel, VFD Panel”, “Location: Master Data → Templates → Project templates”, “How to use: File → New → Use template → select .ept file”, “Update process: update template separately — does not auto-update existing projects”, ], tip:“Create separate templates for each sector: Pharma, Steel, Water, Building”, }, { section:“Page Template”, icon:“📋”, items:[ “Page settings: page format (A3/A4), scale, grid size, display layers”, “Title block: pre-placed title block macro with project property fields”, “Pre-drawn borders: consistent margin for all pages”, “Standard text: company name, drawing no., revision area — auto-populated from project properties”, “Layer colors: define consistent color scheme (power=black, control=blue, safety=red)”, “Create: right-click page → Create page template”, ], tip:“Page template ensures every new page has correct title block automatically”, }, { section:“Form Templates (Reports)”, icon:“📊”, items:[ “Forms define the output layout of EPLAN reports (not the data — only the appearance)”, “Types: Parts list form, Cable list form, Terminal list form, Table of contents form”, “File extension: .f01, .f02 (form files in EPLAN master data)”, “Edit: Utilities → Forms → Open form (form editor)”, “Form properties: page size, fonts, column widths, header/footer, company logo”, “Column content: drag property fields into form columns”, “Logo: insert company logo bitmap/vector in form header”, ], tip:“Forms are reusable across projects — maintain centrally on server”, }, { section:“Title Block Design”, icon:“🏷️”, items:[ “Title block fields: auto-populated from project/page properties”, “Key fields: Project name (Property 10001), Drawing no. (10011), Revision (10095)”, “Customer name (10002), Date created (10019), Drawn by (10020), Approved by (10021)”, “Page name (10003), Total pages (10004), Sheet title (10006)”, “Revision table: use property 10120–10129 for revision history rows”, “Create as symbol macro → insert on every page template”, “Logo: insert as bitmap property or WMF graphic”, ], tip:“Map EPLAN property numbers to your company standard fields exactly”, }, { section:“Platform / Variant Management”, icon:“🧩”, items:[ “EPLAN Platform: underlying data platform (Electric P8, Fluid, PPE, Pro Panel)”, “Variant feature: create multiple design variants within one project”, “Use case: Option A (Siemens PLC) vs Option B (Rockwell PLC) in same project”, “Variant filter: display only selected variant on screen / output”, “Activation: Options → Define variants → create variant A/B/C”, “Report filter: generate reports per variant (separate BOMs for each option)”, ], tip:“Variants avoid duplicate projects for similar machines with different options”, }, ]; // ── REPORTS ──────────────────────────────────────────────────────────── const REPORTS = [ { name:“Table of Contents”, code:“REP-TOC”, desc:“Auto-generated project page index with hyperlinks”, fields:“Page name, Page description, Sheet number, Drawing type”, trigger:“Generate → Table of contents”, form:“F_TOC_A3.f01”, notes:“Regenerate after every page addition — position changes automatically” }, { name:“Device List”, code:“REP-DEV”, desc:“All devices/components with tag, description, part no.”, fields:“Device tag, Function text, Part number, Manufacturer, Quantity, Page ref”, trigger:“Reports → Device list”, form:“F_DEVICE_A4.f01”, notes:“Filter by function: control vs power — separate device lists for BOM” }, { name:“Parts / BOM”, code:“REP-BOM”, desc:“Complete bill of materials for procurement”, fields:“Part no., Order no., Qty, Manufacturer, Description, Unit price, Total”, trigger:“Reports → Parts list”, form:“F_BOM_A4.f01”, notes:“Group by: manufacturer, functional group, panel location — flexible grouping” }, { name:“Wire List / Cable List”, code:“REP-WIR”, desc:“All wire connections: from terminal to terminal”, fields:“Wire no., Source tag, Source pin, Target tag, Target pin, Cross-section, Length, Color”, trigger:“Reports → Connections report”, form:“F_WIRE_A4.f01”, notes:“Wire numbers must be generated first (Ctrl+Shift+N) before wire list is accurate” }, { name:“Terminal Diagram”, code:“REP-TRM”, desc:“Terminal strip layout — graphical terminal diagram”, fields:“Terminal designation, Connected wire no., Cross-ref, Target device, Conductor color”, trigger:“Reports → Terminal → Graphical terminal diagram”, form:“F_TERM_A4.f01”, notes:“Auto-generates from terminal symbols on schematics — update after numbering” }, { name:“Terminal List”, code:“REP-TML”, desc:“Tabular terminal list for field wiring”, fields:“Strip name, Terminal no., Cross-section, Function text, L/R connection”, trigger:“Reports → Terminal → Terminal list”, form:“F_TERMLIST_A4.f01”, notes:“Used by electricians for field wiring reference — print A4 portrait” }, { name:“Cable Overview”, code:“REP-CAB”, desc:“All cables: routing, specification, from/to”, fields:“Cable no., Cable type, From device, To device, Length, No. of cores, Cross-section”, trigger:“Reports → Cable → Cable overview”, form:“F_CABLE_A4.f01”, notes:“Cable numbers must be defined in cable navigator before report is complete” }, { name:“Cable Connection List”, code:“REP-CCL”, desc:“Individual core connections within each cable”, fields:“Cable no., Core color, From pin, To pin, Signal name”, trigger:“Reports → Cable → Cable connection list”, form:“F_CABLECN_A4.f01”, notes:“Critical for multi-core control cables (20C, 27C etc.)” }, { name:“PLC Overview”, code:“REP-PLC”, desc:“All PLC I/O addresses with assigned tags and descriptions”, fields:“Rack, Slot, Channel, Address, Tag name, Description, Signal type, Source page”, trigger:“Reports → PLC → PLC overview”, form:“F_PLC_A4.f01”, notes:“PLC addresses must be set in PLC navigator — export to TIA Portal / Studio 5000 after” }, { name:“PLC Address List”, code:“REP-PAL”, desc:“I/O list for PLC programming team”, fields:“PLC tag, Address, I/O type, Engineering unit, Sensor type, Panel tag, Field tag”, trigger:“Reports → PLC → PLC address list”, form:“F_PLCADR_A4.f01”, notes:“Generate as Excel — share directly with PLC programmer” }, { name:“Cross-Reference List”, code:“REP-XRF”, desc:“All cross-references: coil to contacts mapping”, fields:“Device tag, Coil page, Contact pages, Contact type (NO/NC/Change-over)”, trigger:“Reports → Cross-reference list”, form:“F_XREF_A4.f01”, notes:“Run after numbering to verify all cross-references resolved” }, { name:“Plug/Connector List”, code:“REP-PLG”, desc:“All plug connectors: pin assignments”, fields:“Plug ID, Pin no., Signal name, Wire no., Color, Target device”, trigger:“Reports → Plug/Connector list”, form:“F_PLUG_A4.f01”, notes:“Critical for multi-pin connectors (D-Sub, M12, etc.)” }, { name:“Panel Layout Report”, code:“REP-PNL”, desc:“Mounting panel space summary from Pro Panel”, fields:“Panel name, Used height (U), Free height, Total components, Weight”, trigger:“Pro Panel → Reports → Panel summary”, form:“F_PANEL_A4.f01”, notes:“Run after Pro Panel layout to verify panel space utilization” }, { name:“Revision List”, code:“REP-REV”, desc:“Complete revision history for the project”, fields:“Rev no., Date, Author, Change description, Pages affected”, trigger:“Reports → Revision list”, form:“F_REV_A4.f01”, notes:“Revision properties set per-page — populate before generating” }, ]; // ── PRO PANEL ───────────────────────────────────────────────────────── const PRO_PANEL = [ { section:“Getting Started — Pro Panel Workflow”, icon:“🏁”, steps:[ “1. Complete schematic (all devices placed and connected)”, “2. Assign parts to ALL schematic symbols (with 3D models if available)”, “3. Create mounting panel page: Page → New → 2D mounting panel layout”, “4. Add enclosure: Insert → Box/panel → select from parts (enclosure part must have 3D geometry)”, “5. Switch to Pro Panel 3D view: View → 3D view”, “6. Auto-place components from schematic: Layout → Auto-placement”, “7. Manually arrange if needed — mount rail, then components”, “8. Auto-route cable duct: Layout → Auto-routing”, “9. Generate drilling plans + layout drawings”, ], tip:“3D models must be assigned to parts BEFORE starting Pro Panel — no model = no 3D”, }, { section:“Mounting Panel Setup”, icon:“🖥️”, steps:[ “Insert enclosure part (must have 3D STEP model assigned)”, “Insert mounting rails: Insert → Mounting rail → select DIN rail type + length”, “Rails snap to enclosure mounting holes automatically (if model is correct)”, “Cable duct: Insert → Cable duct → specify width × height”, “Define entry areas: bottom, top, sides for cable entry (used in routing)”, “Doors, side panels: add from enclosure sub-components”, ], tip:“Use manufacturer-provided EPLAN macros — they include correct 3D geometry”, }, { section:“Component Placement”, icon:“📐”, steps:[ “Placement navigator: shows all unplaced components from schematic”, “Drag from navigator to mounting panel”, “Snap to rail: component automatically aligns to nearest DIN rail”, “Spacing: EPLAN calculates component width from part data automatically”, “Group placement: select multiple components → place as group”, “Space check: visual red highlight if components overlap”, “Mounting space: verify total used vs. available (Pro Panel summary report)”, ], tip:“Always place MCBs left-to-right matching schematic drawing order — easier for wiring”, }, { section:“3D Wiring / Wire Routing”, icon:”〰️”, steps:[ “Layout → Wire routing → Auto-route all connections”, “Define routing rules: duct fills, bend radius, preferred routing paths”, “Manual routing: right-click wire → Edit route → drag routing path”, “Wire length calculation: auto-calculated from 3D routing path”, “Update after layout changes: Layout → Recalculate wire lengths”, “Export wire lengths to wire list report for manufacturing”, ], tip:“Wire lengths from Pro Panel 3D routing = ±5% accuracy — excellent for cut lists”, }, { section:“Drilling Plan Generation”, icon:“🔩”, steps:[ “Pro Panel → Drilling plan → select panel side (mounting plate)”, “EPLAN generates: hole positions, hole sizes, symbols for each component”, “Export as DXF → send to CNC punching machine (Rittal, Weidmuller, etc.)”, “Drilling plan scale: 1:1 for CNC output”, “Check: EPLAN flags conflicting holes automatically”, ], tip:“Export DXF 1:1 scale — machine shops must NOT scale the file”, }, { section:“Enclosure Selection (Pro Panel Parts)”, icon:“🗄️”, steps:[ “Preferred: use Rittal RiCAD / Sarel / nVent Hoffman EPLAN macros”, “Rittal: download from EPLAN Data Portal → full 3D + drilling template”, “Part data required: outer dimensions, mounting plate dimensions, DIN rail positions”, “Custom enclosure: create 3D model in SolidWorks/FreeCAD → export STEP → import to EPLAN part”, “Verify: door opening clearance, cable gland zone, ventilation clearance”, ], tip:“Rittal TS8/AE/KX enclosures have best EPLAN macro support — preferred for panelboard use”, }, ]; // ── AUTOMATION SCRIPTS ──────────────────────────────────────────────── const AUTOMATION = [ { section:“EPLAN API (C# / VB.Net)”, icon:“💻”, items:[ “EPLAN provides a .NET API (Application Programming Interface) for automation”, “Access: Visual Studio → add reference: EPLAN.EW.API.dll”, “Common automations: batch numbering, bulk property update, report generation”, “Script types: standalone EXE or EPLAN Add-In (loaded within EPLAN)”, “Script runner: Utilities → Scripts → Run script (.cs C# script file)”, “EPLAN Action system: trigger scripts from EPLAN events (page open, save, etc.)”, ], tip:“Start with EPLAN script library examples (available on EPLAN Solution Center website)”, }, { section:“Common Automation Scripts”, icon:“⚡”, items:[ “Auto-number all devices: number all device tags sequentially across project”, “Bulk property update: update all component descriptions from Excel import”, “Auto-generate reports: run all standard reports → export PDF/Excel in batch”, “Revision stamp: auto-set revision date/author across all modified pages”, “Symbol exchange: replace all OLD_SYMBOL with NEW_SYMBOL across project”, “BOM export: auto-export to ERP system via XML / web service call”, “Cable numbering: auto-assign sequential cable numbers by route”, “DRC batch: run design rule check + export error list automatically”, ], tip:“Script the most repetitive end-of-project tasks: numbering + reports take 30min → 3min”, }, { section:“EPLAN eBUILD (Module Automation)”, icon:“🧱”, items:[ “eBUILD: configurator for modular panels — automatically generates schematics from rules”, “Use case: motor control centers — define starter type, rating → auto-generate schematic”, “Template rules: if Motor_kW < 7.5 → use DOL, if Motor_kW > 7.5 → use Star-Delta”, “Integration: accepts Excel input or web form → generates complete EPLAN project”, “Output: complete schematic + BOM + terminal list + panel layout”, “Requires: EPLAN eBUILD license (separate from P8)”, ], tip:“eBUILD ROI: 1 hour setup = 10 minutes per repeat project — ideal for standard MCC designs”, }, { section:“PLC Integration Automation”, icon:“🤖”, items:[ “TIA Portal (Siemens): Utilities → PLC → Import/Export → TIA Portal format”, “Studio 5000 (Rockwell): export CSV tag list → import to Logix5000”, “Codesys: export XML variable list → import via Codesys network browser”, “Auto-address: assign PLC I/O addresses from EPLAN schematic symbols”, “Tag sync: bi-directional sync between EPLAN tag names and PLC tag names”, “Address check: EPLAN flags duplicate or missing I/O addresses”, ], tip:“Lock PLC addresses in EPLAN after programming starts — prevents numbering changes breaking PLC program”, }, { section:“Automated Revision Management”, icon:“🔄”, items:[ “Revision tracking: Extras → Revisions → New revision bar”, “Mark changed area: draw revision cloud around modified schematic area”, “Revision properties: Rev number, Date, Author, Description”, “Revision report: auto-generates revision table for all affected pages”, “Script: auto-mark ALL pages on save with current date + user ID”, “IPC-D-356: for complex revision workflows use DMS integration (PDM/PLM)”, ], tip:“Always increment revision BEFORE making changes — not after (industry best practice)”, }, ]; // ── FOLDER STANDARDS ────────────────────────────────────────────────── const FOLDERS = [ { root:“Server Root: \\SERVER\EPLAN\”, icon:“🌐”, children:[ { name:“MasterData\”, desc:“Central EPLAN master data — synchronized to all workstations”, sub:[“MasterData\Symbols\ — Company symbol libraries (.slk)”, “MasterData\Parts\ — Company parts database (.mdb or SQL)”, “MasterData\Macros\ — All project macros (.ema .emp .emz)”, “MasterData\Templates\ — Project & page templates (.ept)”, “MasterData\Forms\ — Report form files (.f01)”, “MasterData\Scripts\ — Automation scripts (.cs .vbs)”, “MasterData\3D_Models\ — STEP models for Pro Panel parts”] }, { name:“Projects\”, desc:“All live project files — one subfolder per project”, sub:[“Projects\PROJ_001_ClientA_PanelMCC\ — project folder”, “Projects\PROJ_001_ClientA_PanelMCC\EPLAN\ — EPLAN project files”, “Projects\PROJ_001_ClientA_PanelMCC\PDF\ — issued drawings”, “Projects\PROJ_001_ClientA_PanelMCC\CAD\ — DXF/DWG exports”, “Projects\PROJ_001_ClientA_PanelMCC\BOM\ — Excel BOM files”, “Projects\PROJ_001_ClientA_PanelMCC\Docs\ — specs, datasheet, CQ”] }, { name:“Archive\”, desc:“Completed and archived project backups (.zw1)”, sub:[“Archive\2024\ — year folder”, “Archive\2024\PROJ_001_Rev3_FINAL.zw1”] }, { name:“Templates\”, desc:“Standard project starting templates”, sub:[“Templates\MCC_Panel_Template.ept”, “Templates\Distribution_Board_Template.ept”, “Templates\Control_Panel_PLC_Template.ept”, “Templates\VFD_Panel_Template.ept”, “Templates\Pharma_Panel_GMP_Template.ept”] }, { name:“Library\”, desc:“Symbol library files”, sub:[“Library\COMPANY_IEC.slk — custom IEC symbols”, “Library\COMPANY_NFPA.slk — custom NFPA symbols”, “Library\COMPANY_FLUID.slk — pneumatic/hydraulic symbols”] }, ], }, ]; const FOLDER_NAMING = [ { type:“Project folder”, format:“PROJ_[NUMBER]*[CLIENT]*[SCOPE]*[YEAR]”, ex:“PROJ_0042_TATA_MCC_PumpStation_2025” }, { type:“Drawing number”, format:”[CLIENT]-[PANEL_ID]-[DISCIPLINE]-[SEQ]”, ex:“TATA-MCC01-EL-0001” }, { type:“Macro file”, format:”[CIRCUIT_TYPE]*[VOLTAGE]*[RATING]*[VARIANT]”, ex:“DOL_400V_7R5kW_StarDelta.ema” }, { type:“Part number”, format:”[BRAND]-[TYPE]-[SPEC]”, ex:“SIE-3RT2-009-1BB42 or ETN-HFD-100-3P” }, { type:“Symbol library”, format:”[COMPANY]*[STANDARD]*[VERSION]”, ex:“LTTS_IEC_v2.3.slk” }, { type:“Template”, format:”[PANEL_TYPE]*[SECTOR]*Template_v[VER]”, ex:“MCC_PHARMA_Template_v1.2.ept” }, { type:“Backup”, format:”[PROJECT_FOLDER]*Rev[X.X]*[DATE].zw1”, ex:“PROJ_0042_Rev2.1_2025-03-09.zw1” }, { type:“Script”, format:”[ACTION]*[SCOPE]*[VERSION].cs”, ex:“AutoNumber_Devices_v2.cs” }, ]; // ── DAILY WORKFLOW ──────────────────────────────────────────────────── const DAILY_WORKFLOW = [ { phase:“🌅 Morning Start”, color:”#f59e0b”, steps:[ “Sync master data: check for updates to parts DB, macros, symbol library (pull from server)”, “Open project: File → Recent or project manager → verify backup exists from previous session”, “Review today’s scope: check revision log, client comments, punch list”, “Zoom to last edited area using page history (Ctrl+G or Ctrl+Tab)”, ], }, { phase:“📐 New Project Setup”, color:”#3b82f6”, steps:[ “File → New → select template (.ept for project type)”, “Fill project properties: Project name, Client, Location, Drawing prefix, Engineer”, “Create page structure: define pages per discipline (power, control, layout, terminal)”, “Set numbering format: =FU+LOC-DT (IEC 81346) or =PAGE-TAG (simple)”, “Import device list if client provides (Excel → Extras → Import tags)”, “Create first title page with project data macro”, ], }, { phase:“✏️ Schematic Design”, color:”#06b6d4”, steps:[ “Use macro navigator — drag standard circuit macros (DOL, VFD, PLC card) onto page”, “Fill placeholder values on insertion: device tag, circuit breaker rating, cable no.”, “Place symbols from symbol navigator (F1 to insert)”, “Connect: draw wires — EPLAN auto-assigns potential based on connected symbols”, “Assign parts: right-click device → Properties → Part → browse parts database”, “Add cable connections: cables defined in cable navigator, cores assigned to terminals”, “Cross-check: verify coil-contact connections, cross-reference pages”, ], }, { phase:“🔢 Numbering & QC”, color:”#8b5cf6”, steps:[ “Run auto-numbering: Ctrl+Shift+N (number all device tags, wire numbers, terminals)”, “Review numbering: check no duplicates, no skips in critical areas”, “DRC — Design Rule Check: Options → Check → Run (flags errors: open connections, missing data)”, “Fix all errors before generating reports”, “Verify cross-references: every coil has contact cross-refs, every plug has counterpart”, “Peer review: second engineer checks schematic logic vs. functional spec”, ], }, { phase:“🖥️ Pro Panel Layout”, color:”#7c3aed”, steps:[ “Verify all parts have 3D models assigned”, “Create mounting panel page → insert enclosure”, “Auto-place from schematic → adjust manually for wiring access and maintenance”, “Insert cable ducts and mounting rails”, “Verify panel space: no overlap, adequate clearances (NEC/IEC requirements)”, “Generate drilling plan: Pro Panel → Drilling plan → export DXF”, “Wire routing: auto-route → review wire lengths for wire cut list”, ], }, { phase:“📊 Reports Generation”, color:”#e11d48”, steps:[ “Reports → Generate all standard reports (or run batch script)”, “Check each report: TOC, Device list, BOM, Terminal list, Wire list, Cable list, PLC list”, “Update form / column width if data is cut off in output”, “Export BOM to Excel → submit to procurement”, “Export PLC address list → hand off to PLC programmer”, “Export PDF (all pages) → submit for approval / IFA”, ], }, { phase:“📁 Close & Save”, color:”#16a34a”, steps:[ “Ctrl+S — save project”, “File → Backup → Full backup (.zw1) to server archive folder”, “Name backup: PROJECT_Rev[X.X]_DATE.zw1”, “Update revision log / change register in project docs folder”, “Email/share PDF to client or team if milestone reached”, “Update project tracker (Excel or PM tool): hours, pages completed, open items”, ], }, ]; // ════════════════════════════════════════════════════════════════════ // COMPONENT // ════════════════════════════════════════════════════════════════════ export default function EPLANReference() { const [mod, setMod] = useState(“shortcuts”); const [scCat, setScCat] = useState(“Navigation”); const [checked, setChecked] = useState({}); const [search, setSearch] = useState(””); const [expandedRep, setExpandedRep] = useState(null); const [expandedPP, setExpandedPP] = useState(null); const M = MODULES.find(m => m.id === mod); const toggle = k => setChecked(p => ({…p,[k]:!p[k]})); const allCheckKeys = useMemo(() => { let keys = []; DATA_MANAGEMENT.forEach((d,i) => d.steps?.forEach((*,j) => keys.push(`dm-${i}-${j}`))); PARTS_DB.forEach((d,i) => d.items?.forEach((*,j) => keys.push(`pd-${i}-${j}`))); DAILY_WORKFLOW.forEach((d,i) => d.steps?.forEach((*,j) => keys.push(`wf-${i}-${j}`))); PRO_PANEL.forEach((d,i) => (d.steps||d.items||[]).forEach((*,j) => keys.push(`pp-${i}-${j}`))); return keys; }, []); const done = allCheckKeys.filter(k => checked[k]).length; const Card = ({title,icon,items,steps,tip,shortcut,bg=”#07090d”}) => (
{icon} {title} {shortcut && {shortcut}}
{tip &&
💡 {tip}
} {(items||steps||[]).map((s,i) => (
{steps?“▸”:”•”} {s}
))}
); const CheckCard = ({title,icon,items,steps,tip,prefix}) => { const list = items||steps||[]; const doneCnt = list.filter((_,j) => checked[`${prefix}-${j}`]).length; return (
{icon} {title} {doneCnt}/{list.length}
{tip &&
💡 {tip}
} {list.map((s,j) => { const key=`${prefix}-${j}`; const isDone=checked[key]; return (
toggle(key)} style={{display:“flex”,alignItems:“flex-start”,gap:8,padding:“6px 8px”,borderRadius:6,cursor:“pointer”,background:isDone?”#031208”:“transparent”,border:`1px solid ${isDone?"#166534":"transparent"}`,marginBottom:3,transition:“all 0.15s”}}>
{isDone&&}
{s}
); })}
); }; const KeyChip = ({k}) => ( {k} ); return (
{/* HEADER */}

EPLAN Electric P8 + Pro Panel

Complete Daily Reference · Shortcuts · Workflows · Data Management · Reports · Automation · Folder Standards

{Math.round((done/Math.max(allCheckKeys.length,1))*100)}%
Tasks done
{/* Module tabs */}
{MODULES.map(m => ( ))}
```
{/* Search bar */} setSearch(e.target.value)} style={{width:"100%",background:"#080b0f",border:"1px solid #111820",borderRadius:8,padding:"8px 14px",color:"#bbb",fontSize:12,marginBottom:16,boxSizing:"border-box",outline:"none"}}/> {/* ══ SHORTCUTS ══ */} {mod==="shortcuts" && (
{Object.keys(SHORTCUTS).map(cat => ( ))}
{SHORTCUTS[scCat].filter(s => !search || s.desc.toLowerCase().includes(search.toLowerCase()) || s.keys.some(k=>k.toLowerCase().includes(search.toLowerCase()))).map((sc,i) => (
{sc.keys.map((k,ki) => )}
{sc.desc}
))}
{/* Quick cheat sheet */}
🏆 Top 10 Daily Power Shortcuts
{[["Ctrl+S","Save now — always!"],["Ctrl+Z","Undo last action"],["F1","Insert symbol"],["F3","Insert wire"],["Ctrl+Shift+N","Number all devices"],["Ctrl+0","Fit page to view"],["F9","Jump to cross-ref"],["Ctrl+F","Find in project"],["Ctrl+Shift+R","Generate reports"],["Alt+←","Page history back"]].map(([k,d],i) => (
{d}
))}
)} {/* ══ DATA MANAGEMENT ══ */} {mod==="data" && (
{DATA_MANAGEMENT.filter(d => !search || d.title.toLowerCase().includes(search.toLowerCase()) || d.steps?.some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((d,i) => (
))}
)} {/* ══ PARTS DATABASE ══ */} {mod==="partdb" && (
{PARTS_DB.filter(d => !search || d.section.toLowerCase().includes(search.toLowerCase()) || d.items?.some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((d,i) => (
))}
)} {/* ══ SYMBOLS ══ */} {mod==="symbols" && (
{SYMBOLS.filter(d => !search || d.section.toLowerCase().includes(search.toLowerCase()) || d.items?.some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((d,i) => (
))}
)} {/* ══ MACROS ══ */} {mod==="macros" && (
{MACROS.filter(d => !search || d.section.toLowerCase().includes(search.toLowerCase()) || (d.items||d.steps||[]).some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((d,i) => (
))}
)} {/* ══ TEMPLATES ══ */} {mod==="templates" && (
{TEMPLATES.filter(d => !search || d.section.toLowerCase().includes(search.toLowerCase()) || d.items?.some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((d,i) => (
))}
)} {/* ══ REPORTS ══ */} {mod==="reports" && (

Click any report to expand generation steps and checklist:

{REPORTS.filter(r => !search || r.name.toLowerCase().includes(search.toLowerCase()) || r.desc.toLowerCase().includes(search.toLowerCase())).map((r,i) => (
setExpandedRep(expandedRep===i?null:i)} style={{background:"#07090d",border:`1px solid ${expandedRep===i?M.color:"#0e1420"}`,borderRadius:10,padding:14,cursor:"pointer",transition:"all 0.2s"}}>
{r.name}
{r.code}
{expandedRep===i?"▲":"▼"}
{r.desc}
{expandedRep===i && (
HOW TO GENERATE
{r.trigger}
FORM FILE
{r.form}
KEY FIELDS
{r.fields}
📌 {r.notes}
)}
))}
📋 Standard Report Generation Sequence
{["1️⃣ Number all devices (Ctrl+Shift+N)","2️⃣ Run DRC — fix all errors","3️⃣ Generate Table of Contents","4️⃣ Generate Device List → check completeness","5️⃣ Generate Parts/BOM → export to Excel for procurement","6️⃣ Generate Terminal list + Graphical terminal diagram","7️⃣ Generate Wire list / Cable list","8️⃣ Generate PLC address list → share with PLC team","9️⃣ Generate Cross-reference list — verify all resolved","🔟 Export all pages as PDF → submit IFA/IFC"].map((s,i) => (
{s}
))}
)} {/* ══ PRO PANEL ══ */} {mod==="propanel" && (
{PRO_PANEL.filter(d => !search || d.section.toLowerCase().includes(search.toLowerCase()) || (d.steps||d.items||[]).some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((d,i) => (
setExpandedPP(expandedPP===i?null:i)} style={{background:"#07090d",border:`1px solid ${expandedPP===i?M.color:"#0e1420"}`,borderRadius:10,padding:14,cursor:"pointer"}}>
{d.icon} {d.section} {expandedPP===i?"▲":"▼"}
{expandedPP===i && (
{d.tip &&
💡 {d.tip}
} {(d.steps||d.items||[]).map((s,j) => (
{e.stopPropagation();toggle(`pp-${i}-${j}`);}} style={{display:"flex",alignItems:"flex-start",gap:8,padding:"5px 0",borderBottom:"1px solid #0a0d10",cursor:"pointer"}}>
{checked[`pp-${i}-${j}`]&&}
{s}
))}
)}
))}
)} {/* ══ AUTOMATION ══ */} {mod==="automation" && (
{AUTOMATION.filter(d => !search || d.section.toLowerCase().includes(search.toLowerCase()) || d.items?.some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((d,i) => (
))}
🤖 Automation Priority List
{[["HIGH","Auto-numbering + Report batch export — saves 45 min per project"],["HIGH","PLC tag import from client → EPLAN auto-placement of I/O symbols"],["MEDIUM","Parts DB sync from ERP → EPLAN parts management"],["MEDIUM","Revision stamp automation on save"],["LOW","eBUILD configurator for repeat standard panels"],["LOW","BOM export to procurement portal via API"]].map(([priority,desc],i) => (
{priority} {desc}
))}
)} {/* ══ FOLDER STANDARDS ══ */} {mod==="folders" && (
{FOLDERS.map((f,fi) => (
🌐 {f.root}
{f.children.map((ch,ci) => (
{ch.name}
{ch.desc}
{ch.sub.map((s,si) => (
{s}
))}
))}
))}
📏 File & Folder Naming Conventions
{["Item Type","Format","Example"].map(h => )} {FOLDER_NAMING.map((n,i) => ( ))}
{h}
{n.type} {n.format} {n.ex}
📋 Folder Maintenance Standard Procedures
{[["Weekly","Sync master data from server to workstation (pull latest symbols, parts, macros)"],["Weekly","Backup all active projects to archive (incremental .zw1)"],["Monthly","Review parts database for outdated/discontinued parts — mark obsolete"],["Monthly","Update macro library — add new standard circuits, version-control existing"],["Monthly","Check 3D model library — verify STEP models match current product versions"],["Quarterly","Archive completed projects — move to Archive\\YYYY\\ folder"],["Quarterly","Review and prune macro duplicates — consolidate similar macros"],["Annually","Full review of company symbol library — add new symbols, retire unused"],["Annually","Audit template library — update to current code / company standard"],["Per Project","Create project folder from template at project kickoff (use naming convention)"],["Per Project","Back up on project milestone dates: kickoff, IFA, approved-for-construction, as-built"]].map(([freq,proc],i) => (
{freq} {proc}
))}
)} {/* ══ DAILY WORKFLOW ══ */} {mod==="workflow" && (
{DAILY_WORKFLOW.filter(d => !search || d.phase.toLowerCase().includes(search.toLowerCase()) || d.steps.some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((d,i) => { const doneCnt = d.steps.filter((_,j)=>checked[`wf-${i}-${j}`]).length; return (
{d.phase}
{doneCnt}/{d.steps.length}
{d.steps.map((s,j) => { const key=`wf-${i}-${j}`; const isDone=checked[key]; return (
toggle(key)} style={{display:"flex",alignItems:"flex-start",gap:8,padding:"6px 0",borderBottom:"1px solid #080b0e",cursor:"pointer"}}>
{isDone&&}
{s}
); })}
); })}
)} {/* ══ IMPORT/EXPORT ══ */} {mod==="importexport" && (
{IMPORT_EXPORT.filter(r => !search || r.format.toLowerCase().includes(search.toLowerCase()) || r.use.toLowerCase().includes(search.toLowerCase()) || r.steps.some(s=>s.toLowerCase().includes(search.toLowerCase()))).map((r,i) => (
{r.format} {r.dir} {r.use}
{r.steps.map((s,j) => (
{s}
))}
))}
🔑 Import/Export Golden Rules
{["Always export .zw1 full backup BEFORE any major import operation — rollback if needed", "PDF: always export at end of every revision — date-stamped filename", "DXF: scale = 1:1 — never let recipients scale the file (add note in title block)", "Excel BOM: always lock formatting before sending to procurement (protect worksheet)", "PLC export: lock EPLAN I/O addresses before handing off to PLC programmer", "Parts import: validate 5 random parts after every bulk import — spot-check data integrity", "STEP 3D: verify units are millimeters on import — some suppliers export in inches", ].map((rule,i) => (
{rule}
))}
)}
EPLAN Electric P8 + Pro Panel · Complete Daily Reference · v2025 · Electrical Engineering Knowledge Base
``` ); }

Comments

Popular posts from this blog

Step-by-Step Guide to File ITR-1 Online (Sahaj Form)

Step-by-Step ITR-1 Filing Guide for Indians 📘 Step-by-Step Guide to File ITR-1 (Sahaj) in India This guide is perfect for salaried individuals like Neha — a software engineer earning ₹10L, owning one flat, and earning FD interest. Who Can File ITR-1? 👉 Resident Indians with total income ≤ ₹50L from: - Salary or Pension - One House Property (not rented) - Interest from Savings/FDs 🧾 Required Documents Document Details Form 16 Issued by employer — salary and TDS details Salary Slips Monthly salary record for cross-checking Bank Statements FD/Savings interest income details PAN & Aadhaar Mandatory for login and e-verification Form 26AS / AIS To verify TDS and reported income Investment Proofs ...

Taxation in Investments (India)

Taxation in Investments (India) 💸 Taxation in Investments (India) 📊 LTCG, STCG & Dividend Tax – At a Glance Asset Type Holding Period Short-Term Capital Gain (STCG) Long-Term Capital Gain (LTCG) Dividend Tax Equity Shares / Equity Mutual Funds > 12 months = LTCG 15% flat 10% above ₹1 lakh (no indexation) Taxable as per income slab Debt Mutual Funds > 36 months = LTCG As per income tax slab Removed from FY24-25 — Now taxed as per slab Taxable as per income slab Gold (Physical, ETFs, SGBs) > 36 months = LTCG As per income tax slab 20% with indexation Not applicable Note: SGB interest (2.5% p.a.) is taxable; redemption after 8 years is LTCG exempt. 💡 Popular Tax-Saving Investment Optio...

बुद्ध आणि राहुल यांच्यातील संवाद - एक जीवनाचा धडा

बुद्ध आणि राहुल यांच्यातील संवाद - एक जीवनाचा धडा बुद्ध: “ताटलीतलं पाणी पिण्यास योग्य आहे का?” राहुल: “नाही, अजिबात नाही!” बुद्ध: “मग तू सुद्धा त्या पाण्यासारखाच आहेस — मूळतः शुद्ध, पण सतत खोटं बोलल्यामुळे तू दूषित होतोस. आणि असं झालं की लोक तुला कधीच मूल्य देणार नाहीत.” 🌱 या संवादाचा अर्थ: या छोट्याशा संवादामध्ये बुद्ध खूप मोठा जीवनधडा देतात. ताटलीतलं पाणी हे "शुद्ध असलं तरी वापरामुळे अस्वच्छ" झालंय. त्याचप्रमाणे, राहुलदेखील मूलतः चांगला आहे, पण त्याची खोटं बोलण्याची सवय त्याचं सौंदर्य व विश्वासार्हता कमी करत आहे. 🧠 आत्मपरीक्षणासाठी संदेश: माणूस मुळात चांगला असतो, पण वागणुकीमुळे दूषित होतो. खोटं बोलणं आपल्या छबीवर व समाजातील स्थानावर वाईट परिणाम करतं. विश्वास गमावणं सोपं आहे, पण पुन्हा मिळवणं फार कठीण. बुद्धाचे ‘सम्यक वाचा’ म्हणजेच सत्य बोलणे हे अष्टांगिक मार्गाचं एक महत्त्वाचं अंग आहे. 💡 निष्कर्ष: आपण सुद्धा ताटलीतल्या पाण्यासारखे होऊ नये...