HiNC GUI Architecture
This section provides an architectural overview of the HiNC GUI applications. The General Rules document describes common patterns and conventions used throughout the codebase.
Source Code Repositories
WPF Desktop Application
The HiNC-2025-win-desktop project provides a native Windows desktop application built with WPF.
Web Service Application
The HiNC-2025-webservice project provides a web-based application using Vue.js for the frontend and ASP.NET Core for the backend.
Architecture Patterns
The following architectural patterns are used in the HiNC GUI applications:
- DictionaryService and DictionaryHub Pattern - Connection-scoped object indexing for hierarchical components
- Rendering Canvas on Web Service - WebSocket-based 3D canvas rendering architecture using SignalR Hub
GUI Component Structure
The HiNC GUI is organized into the following major components:
Core Framework
- Initialize HiAPI - Application initialization and HiAPI setup
- Main Panel - The main window layout and navigation structure
- Message Section - Status and message display area
Rendering and Visualization
- RenderingCanvas Tool Bar - 3D view control toolbar
- Player Panel - Simulation playback and visualization
Configuration Panels
- Preference Menu - Application settings and preferences
- Graphic-Cache Dropdown - Graphics caching configuration
Geometry and Mechanism
- Widget Components - Reusable GUI widgets (Vec3dControl, etc.)
- Geometry Panels - Geometry definition and management
- Transformers - Coordinate transformation components
- Fixture Page - Fixture configuration
- Workpiece Page - Workpiece definition
- ToolHouse Page - Tool library management
Operation
- Controller Page - Machine controller settings
- Mission Page - Machining mission management
Building a New HiNC Application
Tip
To build a new HiNC GUI application from scratch, see Getting Started for package configuration and setup instructions.
If you are building a new application, the following checklist provides a recommended implementation order:
- Create and configure an application project (x64 platform, add
HiNcpackages, addHi.WpfPlusfor WPF). - Create Main Window with Main Panel Layout.
- Implement Message Section.
- Initialize HiAPI at application entry point.
- Set up Navigation Menu/Project behavior.
- Create RenderingCanvas Tool Bar.
- Implement Player Panel.
- Implement Graphic-Cache Dropdown.
- Build widget components (Vec3dControl, etc.).
- Build Transformers, Geometry Panels.
- Build Fixture Page, Workpiece Page, Controller Page, ToolHouse Page.
Note
If you are using an AI agent to build the application, ask the AI to do only one job at a time to ensure quality. Compile to verify code works after each step.