HAPI System Overview
HAPI System Overview
Purpose
This note defines what HAPI is and how the foundation concepts fit together.
Source Priority
- HAPI User Manual.pdf
- HAPI Quick Start Guide.pdf
- FeatureCatalogue.json
- GlobalConfiguration.json
- Old implementation Markdown notes
Definition
HAPI stands for HyD Automated Plotting Interface. It is a collection of Dynamo scripts for Autodesk Civil 3D that supports survey data exchange, plan drafting, plan production, and Existing Conditions Modelling (ECM).
HAPI is not only a plotting tool. It is a structured Civil 3D workflow built around standardised survey records, Point Codes, Feature Codes, Style Codes, object catalogues, and drafting configuration.
Main Workflow Families
| Workflow Family | Purpose | Typical Outputs |
|---|---|---|
| Data Exchange | Import, export, and migrate survey data. | COGO Points, Feature Lines, blocks, point data files. |
| Drafting Aids | Improve drawing clarity and manage presentation. | Spot text visibility changes, LIC basemap overlays, topographic patterns. |
| Plan Production | Prepare layout-level drawing outputs. | Grid references, legends, title block support. |
| ECM Modelling | Convert 2D survey drawings into ECM deliverables. | Standalone ECM objects, linear ECM objects, stair tread objects. |
Script Directory Model
| Directory | Purpose |
|---|---|
HAPI-2D | Survey data exchange and plan drafting scripts. |
HAPI-ECM | BIM modelling and Existing Conditions Modelling scripts. |
Key Foundation Concepts
| Concept | Role |
|---|---|
| Point_Code | Field-data descriptor controlling how surveyed records are interpreted. |
| Feature_Code | Primary identifier for the surveyed feature. |
| Feature_Type | Mathematical routing channel: 1POINT, 2POINT, LINEAR, or POLYGON. |
| Style_Code | ECM descriptor defining physical appearance of real-world objects. |
| Feature_Catalogue | Central rulebook for routing, drafting behaviour, block references, styles, and object availability. |
| Global_Configuration | Project-wide defaults and mathematical thresholds. |
Conceptual Workflow
Point Data / Drawing Entity
↓
Raw Description
↓
Point Code + optional Style Code
↓
Feature Code resolution
↓
Feature Catalogue lookup
↓
Feature Type routing
↓
Civil 3D drafting object / ECM object
Positioning of Obsidian
Obsidian is the knowledge-management layer. It should organise, link, and preserve HAPI logic, but it does not execute the HAPI automation itself.
Related Notes
Open Questions
- Confirm whether future HAPI-NxtGen documentation should use the same script family names as the Dynamo-era manual, or introduce separate names for PythonNet3/C# modules.