Skip to content

Planned feature list

Gram Stone edited this page Jul 1, 2020 · 11 revisions
  • Interactive pasteboard - Racket Graphical Interface Toolkit
  • 2d drawing commands
    • Create vectors
      • Create Rectangle
      • Create Circle
      • Create Ellipse
      • Create Polygon
      • Create Star
      • Draw Polyline
      • Create tangent lines
      • Create Arc
      • Draw Curve
      • Create Text
      • Convert text to curves
      • Text on Curve
    • Transform objects
      • Translate
      • Scale
      • Rotate
      • Reflect
      • Align
  • Rulers
  • Guidelines
  • Snapping
  • Tool database
  • Toolpath commands - Within this category, drilling and fluting essentially reduce to the problem of converting our vector representation into a series of g-code commands; they present no technical problem in themselves. Profile, pocket, and inlay toolpaths require the computation of offset polygons. Inlay toolpaths have the additional requirement that we convert all angles greater than 180 degrees into arcs with radius equal to the tool radius, but this is a minor technical problem compared to computing offset polygons.
    • Chen and McMains describe an algorithm for computing offset polygons with winding numbers. It appears that glu-tessellate can support fill-styles with a positive winding rule with slight modifications.
    • Drilling toolpath
    • Fluting toolpath
    • Profile toolpath
    • Pocketing toolpath
    • Inlay toolpath
  • Input and output
    • Supported file formats
      • SVG
      • EPS
      • DXF
      • AI
      • PDF
    • Post processors and TAP file output
  • 3d preview - Obviously, Pict3D. Perhaps, Text and Paths for Pict3D. Technical insight: representing the material as a heightmap allows us to simulate the effects of a toolpath as painting with a circular grayscale brush that only paints pixels lighter than the brush at each point, which encodes our intuition that a tool only removes material, and never adds it. A typical end mill would be represented by a solid color circle with radius equal to the tool radius, the color of which would transition from light to dark as the z-coordinate is adjusted. A ball-nose end mill would be represented by a grayscale radial gradient in the circle, once more with radius equal to the tool radius.

Clone this wiki locally