Skip to content

Curved Line Spacing Problem #661

@TarGz

Description

@TarGz

Issue Description:

I am encountering inconsistency in line spacing, particularly with curved lines.

Problem Details:

The issue manifests as inconsistent spacing between curved lines. When lines are drawn in one direction, they are positioned too closely together, while lines drawn in the opposite direction have excessive spacing.

Initially, I suspected that plotting in the opposite direction might be causing issues with my pen plotter. However, after a series of tests, I have concluded that this is not the root cause of the problem. Intriguingly, I created an SVG in Illustrator where half of the lines were reversed, and there were no issues encountered during the plotting process.

Steps to Reproduce:

  1. Enable the "linesort" option (note: the "flip" option is activated by default).
  2. Attempt to create a plot.
  3. Compare the line spacing consistency with a plot created without enabling the "flip" option.

Test Results:

  • Test0: linesimplify + linesort → (KO)
  • Test1: No options → (OK)
  • Test2: linesimplify → (OK)
  • Test4: linesimplify + manually reversing half of the lines → (OK)
  • Test5: linesimplify + linesort --two-opt → (KO)
  • Test6: linesimplify + linesort --no-flip → (OK)

This issue affects the consistency of line spacing in curved lines. I would greatly appreciate your assistance

vpype version 1.12.1

vpype --config gwrite.config read $1 layout -m 0mm a3 linemerge --tolerance $simplify_tolerance linesimplify linesort --no-flip stat forlayer gwrite -p megaplot $opt_filename"_%_name or _lid%.svg".gcode show end
My gwrite.config 

[gwrite.megaplot]
document_start = "M3S120\nG21\nG17\nG90\nG28\n$H\n"
segment_first =  "G1 Z0 F10000\nG0 X{x:.4f} Y{y:.4f} F15000\nG1 Z0 F6000\n M3S80\n\nG4 P0.5\n"
segment = "G1 X{x:.4f} Y{y:.4f} F10000\n"
segment_last = "G1 X{x:.4f} Y{y:.4f} F10000\n M3S120\n\nG4 P0.5\n"
document_end = "M3S120\n"
unit = "mm"
vertical_flip = true
info= "gwrite w04 :megaplot profile"

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions