5.1.44.3689
3/17/2026
Changes made for Pathfinder V5 PC's.
On a teardrop hem step the clamp was only raising to the minimum clamp opening height parameter which means most of the time the segment that needed to be smashed can't get under the clamp. The change was to calculate an appropriate height for the clamp to go to before making the tear drop hem. The height is the segment length plus the hem clearance parameter.
What was wrong:
The original teardrop code was in a code path that was never reached (HEMINSIDE=True but code checked !HEMINSIDE) When we added a calculation, it was on the CLOSE step (after the smash) instead of the BEND step (before the smash) There's a timing issue where OperationManager may copy step values before FoldingSolution has calculated them What we changed:
FoldingSolution.cs — On the BEND step, when the next step is a teardrop close, we now calculate the open height using polyline MaxY + safetyFactor (same approach as inside hems — accounts for the flange being at an angle, not straight up). Removed the old calculation from the CLOSE step.
OperationManager.cs — Added a fallback on the bend operation using crushSegmentLength + hemClearance in case FoldingSolution hasn't populated the step value yet (timing issue). Only raises the value, never lowers it.
PolylineGenerationExtensions.cs — Restored the teardrop polyline graphic (was commented out), using ClampClosedPosition as a proxy for thickness since IProfile doesn't have a Thickness property.
Changes made for Pathfinder V5 PC's.
Added rev G as an option to any 5226 board missing them. Added H and I rev to all configurations that are for a 5226 controller to be ready for new rev's in the future.
Changes made for Pathfinder V5 PC's.
Full names were too big for this area. Reverted back to initials.
Changes made for Pathfinder V5 PC's.
Here's what was added:
Program.cs — Times two phases in Main() before ApplicationManager.Start():
Setup Disposables State Management Setup Overall pre-init total ApplicationManager.cs — Times 13 phases within Start():
Splash Screen Setup USB Backup Configuration File Check SmartPath Library Loading Database Initialization and Configuration Selection Configuration Validation and Setup Language Loading Machine Type Check Configuration Loading Communication Initialization SmartPath Initialization Global Data Setup Main Dialog Creation Maintenance Manager Init Cloud Services Location FoldGuard Log Cleanup Diagnostics and Services Setup Plus a final total line: [Startup Timing] ===== Total ApplicationManager.Start() Time: Xms =====
All entries go to logfile.txt via LoggerFactory.GetSystemLogger() with the prefix [Startup Timing], so they're easy to search for. The build hasn't been verified yet since MSBuild wasn't found on PATH.
Changes made for Pathfinder V5 PC's.
What it does A new "Jog Gripper Backstop" button in the jog screen (under Gripper Open/Close). When pressed, it opens a "Select Backstop" dialog showing Normal, Backstop 1, 2, 3 positions (same values from GetBackstopExtendPositions()). After selection, it sends the chosen distance as a ParameterStore value (ObjectId 0x0064, AttributeId 0x6060) down to the controller via SendParameterStore. The selected value persists across dialog opens.
Visibility Only visible when HasBackstopExtend == true AND IsGripperEnabled == true.
Files Modified JogPanel (shared UI control - used by both jog screens):
JogPanel.cs - Added IsBackstopJogEnabled property, SetBackstopJog() to show/hide rows 15-16, OnBackstopJogClick() handler that opens SelectionDialog and fires BackstopJogDistanceSend event. _selectedBackstopDistance is static so it persists. JogPanel.Designer.cs - RowCount 36?38, added rows 16-17 (64px backstop + 5px spacing), shifted all controls below gripper by +2 rows. Added btnBackstopJog (Button, column span 0-2), backstopJogInfoPanel with lblBackstopJogHeader/lblBackstopJogValue. ManualJogDialog (popup jog dialog):
ManualJogDialog.cs - Sets IsBackstopJogEnabled, subscribes to BackstopJogDistanceSend, converts float to ParameterStore(0x0064, 0x6060), fires BackstopJogParameterSend. Tools View (side panel jog screen):
ToolsView.cs - Sets _jogPanel.IsBackstopJogEnabled, subscribes to BackstopJogDistanceSend, converts float to ParameterStore, calls manager.OnBackstopJogParameterSend(). Event chain (Tools View path):
ToolsViewManager.cs - Added BackstopJogParameterSend event + OnBackstopJogParameterSend() handler. ToolsViewPresenter.cs - Added BackstopJogParameterSend event, subscribes to manager, bubbles up. IToolsViewPresenter.cs - Added BackstopJogParameterSend to interface. Event chain (both paths converge):
MainDialogPresenter.cs - Subscribes to BackstopJogParameterSend from both jogPresenter (ManualJog) and toolsPresenter (ToolsView), bubbles to ApplicationManager. ApplicationManager.cs - OnBackstopJogParameterSend() calls MachineCommunicationManager.Instance.SendParameterStore(parameter). Event Flow
JogPanel.OnBackstopJogClick ? SelectionDialog ? BackstopJogDistanceSend(float) +- ManualJogDialog ? ParameterStore(0x0064, 0x6060) ? ManualJogDialogPresenter ¦ ? MainDialogPresenter ? ApplicationManager ? SendParameterStore +- ToolsView ? ParameterStore(0x0064, 0x6060) ? ToolsViewManager ? ToolsViewPresenter ? MainDialogPresenter ? ApplicationManager ? SendParameterStore
Changes made for Pathfinder V5 PC's.
Added two timing measurements in UsbDriveBackup.cs:
Zip Creation (line 142-146) — times CreateAutoBackupArchive() and also logs the archive size in MB File Copy to USB (line 205-207) — times File.Copy() inside the background thread Both log to logfile.txt with the [Startup Timing] prefix. Note the copy runs on a background thread so its timing entry will appear asynchronously in the log.
Changes made for Pathfinder V5 PC's.
What it does Adds a "Retract Backstops" button to the backgauge calibration screen, below the Modify Offset button. When pressed, it sends 0.0 to parameter 0x0064/0x6060 (Backstop Jog Distance), retracting the backstops. A red warning label below reads: "Hit Retract Backstops Before Taking Measurement and Pressing Modify Offset Button".
It also resets the jog screen's remembered backstop distance to 0.0 so both screens stay in sync.
Visibility Only appears on Backgauge 1/2 calibration screens when HasBackstopExtend == true.
Files Modified CalibrationUC.cs - Added _retractBackstopsButton, _retractBackstopsWarningLabel, RetractBackstopsParameterSend event, click handler sends 0.0 via ParameterStore and calls JogPanel.ResetBackstopDistance() ToolsViewManager.cs - Wired RetractBackstopsParameterSend to existing OnBackstopJogParameterSend (reuses the jog screen's event chain to reach SendParameterStore) JogPanel.cs - Added ResetBackstopDistance() static method to zero out the persisted selection FormResource.resx + FormResource.Designer.cs - Added RetractBackstops and RetractBackstopsWarning resource strings Event Flow
CalibrationUC.retractBackstopsButton_Click ? ParameterStore(0x0064, 0x6060, value=0.0) ? RetractBackstopsParameterSend ? ToolsViewManager.OnBackstopJogParameterSend ? ToolsViewPresenter ? MainDialogPresenter ? ApplicationManager ? SendParameterStore
- JogPanel.ResetBackstopDistance() (syncs jog screen label)
Changes made for Pathfinder V5 PC's.
What it does Adds a "Gripper Offset" panel to the one-step bend screen, positioned between the BG Position and Overbend columns. Contains:
"Gripper Offset" label "Select Backstop" button that opens the backstop selection dialog (Normal, Backstop 1, 2, 3) Below, the selected backstop value displayed in bold The selected backstop distance becomes the GripperOffset value in the OperationNormalBend that gets sent in the profile.
Visibility Only shows when HasBackstopExtend == true AND IsUpperBendingBeamEnabled == true (same conditions as the jog screen and calibration screen backstop buttons).
Files Modified OneStepView.cs - Added gripper offset panel with backstop select button, dynamically inserts column between BG Position and Overbend in bendTabTableLayoutPanel, fires GripperOffsetChanged event on selection IOneStepView.cs - Added GripperOffsetChanged event and SetCurrentGripperOffset method OneStepViewPresenter.cs - Added _gripperOffset field, handles GripperOffsetChanged to store value and trigger PrepOrRun(), sets GripperOffset on OperationNormalBend FormResource.resx + FormResource.Designer.cs - Added SelectBackstop resource string
Changes made for Pathfinder V5 PC's.
Rev F V4.04.25, Rev G V5.00.24