LibMCCore: Refine hatch interpolation handling and improve nonlinear factor processing#37
Merged
Merged
Conversation
…factor processing
- Core toolpath logic (amc_toolpathlayerdata.cpp):
- Introduced compile-time switch `USEALLMODIFICATIONFACTORS` to control whether
all modification factors (F/G/H) or only factor F are processed.
- Added safeguard when assigning nonlinear interpolation data to avoid
out-of-range vector access when `nSubInterpolationCount` is zero.
- ScanLabSMC driver (CSMCJobInstance):
- Added parsing and output of new active channel data (`active0`, `active1`) in
SMC v1.0 simulation files.
- Updated CSV field mapping to include new channels, replacing placeholder
unused entries.
- Extended data table schema to add `active0` and `active1` columns.
- Populated active channel values in the output table and reset corresponding
vectors after use.
- LibMCEnv layer evaluation (libmcenv_toolpathlayer.cpp):
- Commented out exception throw for incomplete hatch profile evaluation to
allow partial evaluation without interrupting execution.
Signed-off-by: Yury Rodzikau <y.rodzikau@c1-technologies.com>
…table channel filling - Renamed simulation column `active0` to `power` to reflect actual laser power semantics in SMC v1.1 job data output. - Updated simulation data export to write laser power values into the new `power` column. - Implemented `fillScatterplotChannel` in `libmcenv_datatable.cpp`:
…a display in point inspector - Added a new "powerramp" color mode in LayerView for visualizing laser power distribution across the toolpath. - Implemented computeChannelColumnRange(...) to detect the min/max of a data column and normalize power values for coloring. - Added makeLaserPowerColors() to convert normalized power values to HSL-based RGB gradient for visual representation. - Extended point inspector to display per-point laser power. - Updated data loading logic to correctly populate the "power" channel from backend stream data. - Updated Vue integration to cycle `laseron → powerramp → uniform → time` when toggling color modes. Signed-off-by: Yury Rodzikau <y.rodzikau@c1-technologies.com>
alexanderoster
approved these changes
Oct 20, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LibMCCore: Refine hatch interpolation handling and improve nonlinear factor processing
Core toolpath logic (amc_toolpathlayerdata.cpp):
USEALLMODIFICATIONFACTORSto control whether all modification factors (F/G/H) or only factor F are processed.nSubInterpolationCountis zero.ScanLabSMC driver (CSMCJobInstance):
active0,active1) in SMC v1.0 simulation files.active0andactive1columns.LibMCEnv layer evaluation (libmcenv_toolpathlayer.cpp):