Controller Page
The Controller Page is responsible for configuring and managing the CNC controller settings for the machine tool.
Key Models
The key models used by the Controller Page are:
The MachiningProjectDisplayee contains IsoCoordinateEntryDisplayee and HeidenhainCoordinateEntryDisplayee. They are used in this GUI.
Connection with Main Panel
The Controller Page is activated through the Main Panel's Environment menu. It retrieves the MachiningProject from the Main Panel and updates the model.
Layout
- Controller Page
- Manage Panel
- Coordinate Table Tab
- ISO Coordinate Table Panel
- NcEnv.IsoCoordinateTable Display (Note that The XYZ is not sortable on the table.)
- ISO Coordinate Table Panel
- Datum Preset Table Tab (Only visible for Heidenhain controllers)
- HeidenhainDatumPresetTable Panel
(Note that The XYZ is not sortable on the table.)
- Show Datum Preset Toggle Button for HeidenhainCoordinateEntryDisplayee
- HeidenhainDatumPresetTable Panel
(Note that The XYZ is not sortable on the table.)
- Datum Shift Table Tab (Only visible for Heidenhain controllers)
(Note that The XYZ is not sortable on the table.)
- HeidenhainDatumShiftTable Panel
- Show Datum Shift Toggle Button for HeidenhainCoordinateEntryDisplayee
- Offset Table Tab
- MillingToolOffsetTable Panel
- Set Ideal Offset Dependent on Tool House Checkbox
- MillingToolOffsetTable Panel
- Machine Tab
- RapidFeedrate_mmdmin Settings
- ToolingTime Settings
- Linear Axis Limits Table
- StrokeLimitXyz_mm Min and Max for X, Y, Z
- Rotary Axis Table
- StrokeLimitAbc_rad Min and Max for A, B, C
- MaxRotarySpeedABC_radds for A, B, C
- Brand Tab
- CncBrand Selection Dropdown
- Brand-specific Settings Panel (content varies based on selected brand)
- Config Tab
- SetToolHeightCompensationOnFeatureNormal Setting
- EnableShortestRotary Setting
- Coordinate Table Tab
- Viewer Panel
- Viewer Toolbar
- RenderingCanvas Tool Bar
- Rendering Items SubMenu See Rendering Items SubMenu from Player extended RenderingCanvas Tool Bar.
- RenderingCanvas
- Viewer Toolbar
- Manage Panel
Tip
Viewer Panel is not essential in the single user desktop application if this page raises a new window so that there arises a duplicate rendering content with the Main Window. This page should have a code-behind boolean property to add / remove the Viewer Panel. There should not preserve space for the un-existed Viewer Panel.
Apply SetViewToIsometricView() on initialization if Viewer Panel has enabled.
Tip
Add a resizable splitter between the Manage Panel and Viewer Panel to allow users to customize the interface layout according to their needs.
Behavior
ISO Coordinate Table
The ISO coordinate table allows users to edit and manage coordinates for the IsoCoordinateTable. Each entry consists of:
- An index identifier
- X, Y, Z coordinate values
- Action buttons to set the entry to program zero or machine zero
Datum Preset and Shift Tables (Heidenhain)
These tables are specific to Heidenhain controllers and provide interfaces for:
- Setting datum preset positions in HeidenhainDatumPresetTable
- Configuring datum shifts in HeidenhainDatumShiftTable
- Visualizing selected datum in the 3D viewer with HeidenhainCoordinateEntryDisplayee
Offset Table
Manages tool offsets with the following capabilities:
- Display and edit ideal radius and height values in MillingToolOffsetTable
- Configure radial and axial wear values
- Option to automatically set ideal offset based on the MachiningToolHouse configuration
- Add new tool offset entries (when not using tool house dependency)
Machine Configuration
Controls machine-specific settings:
- RapidFeedrate_mmdmin (mm/min)
- ToolingTime (seconds)
- Stroke limits (minimum and maximum) for linear axes (StrokeLimitXyz_mm)
- Stroke limits and maximum speeds for rotary axes (StrokeLimitAbc_rad and MaxRotarySpeedABC_radds)
Brand Selection
Allows switching between different CNC controller brands via CncBrand:
Each brand may have specialized settings that appear when selected.
Config Options
General configuration options including:
- SetToolHeightCompensationOnFeatureNormal setting
- EnableShortestRotary optimization
Single-User WPF Application Source Code Path
- Numerical/Controller/ControllerWindow
- Numerical/Controller/IsoCoordinateTablePanel
- Numerical/Controller/DatumPresetTablePanel
- Numerical/Controller/DatumShiftTablePanel
- Numerical/Controller/ControllerExtendedRenderingCanvasToolBar
see this page for git repository.