Quintic.Core
0.1.0
See the version list below for details.
dotnet add package Quintic.Core --version 0.1.0
NuGet\Install-Package Quintic.Core -Version 0.1.0
<PackageReference Include="Quintic.Core" Version="0.1.0" />
<PackageVersion Include="Quintic.Core" Version="0.1.0" />
<PackageReference Include="Quintic.Core" />
paket add Quintic.Core --version 0.1.0
#r "nuget: Quintic.Core, 0.1.0"
#:package Quintic.Core@0.1.0
#addin nuget:?package=Quintic.Core&version=0.1.0
#tool nuget:?package=Quintic.Core&version=0.1.0
Quintic - Industrial Cam Editor
Quintic is a universal industrial electronic cam profile design platform compliant with the VDI 2143 standard, developed using C# + WPF.
This project is built for automation engineers who demand extreme performance and user experience. It provides a data-intensive, professional dark mode UI, benchmarking the interactive experience of top-tier commercial software such as Beckhoff TwinCAT 3, CODESYS SoftMotion, and Siemens TIA Portal.
Core Features
- Golden UI Layout: Classic "Left List + Right Canvas" layout, maximizing widescreen usage, perfectly balancing macroscopic rhythm and microscopic precision.
- VDI 2143 Standard Kernel: Built-in industrial standard motion laws, generating Position (S), Velocity (V), Acceleration (A), and Jerk (J) curves via a high-precision mathematical kernel.
- Polynomial 5: The most common Rest-in-Rest curve.
- Cycloidal: Suitable for high-speed, low-vibration applications.
- Modified Trapezoid: Finite jerk, extremely smooth.
- Constant Velocity / Dwell: Basic linear and dwell segments.
- High-Performance Plotting: Industrial-grade curve rendering based on
OxyPlot, supporting smooth zooming and panning of hundreds of thousands of points. - Real-time Compilation: WYSIWYG interactive experience; modifying table data triggers millisecond-level recalculation and instant curve refresh.
- Interactive Design: Drag control points directly on the canvas to intuitively shape the motion profile.
- Safety First: Global physical limit validation ($V_{max}, A_{max}$) with real-time visual alarms on charts and data grids.
- History Management: Full Undo/Redo support for safe experimentation.
- CSV Export: One-click export of high-precision point tables, supporting direct import into mainstream motion controllers like Siemens, Beckhoff, and Omron.
- Professional Visuals: Comes with a modern dark theme (charcoal background + electric blue/orange highlights) to reduce visual fatigue for engineers working long hours.
Tech Stack
- Framework: .NET 6+ / WPF
- Plotting Engine:
OxyPlot.Wpf - Architecture Pattern: MVVM (Model-View-ViewModel) + Command Pattern
- Math Core: C# Native Implementation (Ported from Python NumPy kernels)
Quick Start
- Open the
Quintic.slnsolution. - Restore NuGet packages:
dotnet restore - Start the
Quintic.Wpfproject.
Directory Structure
Quintic.Wpf/Core/: Core business logicKernels/: Mathematical motion law implementations (Poly5, Cycloidal, etc.)Services/: Cam compiler and calculation servicesModels/: Core data models
Themes/: XAML resource dictionaries (Dark theme definitions).ViewModels/: MVVM business logic and data binding.Views/: UI interface files.
Built with ❤️ for Motion Control Engineers.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows7.0 is compatible. |
-
net10.0-windows7.0
- MathNet.Numerics (>= 5.0.0)
- OxyPlot.Wpf (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
# Release Notes
## v0.5.0 - Advanced Motion Kernels
**Date:** 2026-03-26
### 🚀 New Features
- **Advanced Motion Laws**: Added comprehensive support for industrial standard curves:
- **Polynomial 7 (4-5-6-7)**: Provides smoother motion with zero jerk at boundaries compared to Poly5.
- **Simple Sine**: Basic harmonic motion for simple mechanisms.
- **Gutman (Freydenstein)**: Sinus-combination curve designed for vibration suppression.
- **7-Segment S-Curve**: Standard trapezoidal acceleration profile used in servo positioning.
- **Automatic Continuity**: `CamCalculator` now automatically propagates end-velocity and end-acceleration to the next segment (enabling C2 continuity for Poly5).
### 🛠 Improvements
- **Architecture**: Refactored Motion Kernels to use a unified `BaseMotionKernel` and `IMotionKernel` interface.
- **Stability**: Enforced zero-displacement logic for `Dwell` segments to prevent user configuration errors.
- **Namespace**: Unified all Core logic under `Quintic.Wpf.Core` namespace.