-
Notifications
You must be signed in to change notification settings - Fork 0
Geometry2d
Convert 2D polygons into machine paths Convert machine paths into Gcode There are quite some requirements and settings to take into account.
In order to debug and divide the work among several people we divide the algorithms into seperate units
The main input will be 2D polygons, which shall be processed to more 2Dpolygons representing machinepaths that in turn can be converted to gcode.
###create the initial 2Dpolygons Either by slicing a STL as in Geometry3d or be reading a SVG for cutting/engraving - the greyscale color of a path could be interpreted as laserpowersetting.
###Inset/outsetting : Utilize CGAL to create a machine path on a 2D polygon that is either the insert or the outset. (minkowski sums?) This has to take several config parameters into account
- the width of the laserbeam - to make sure that a machinepath does not go out side the object / croses other machinepaths?
- The different insets, the shell is constructed of several paths along the outline - the should not be at exactly ½-laserwidth but the user might want to overlap. or just be plain weird when placing theese.
###Hacthing Filling the inside og the object There can/should? be an overlap between the inner parts of the shell and the hatching. Here we do not the inset/out set algorithm to determine the exact area to cover. Furthermore the pattern shall not be the same in each layer - thus we shall be able to rotate the angle og the haching etc. It is hoped that CGAL's boolean operateions will prove to be usefull here, is hacthing = HACTHINGPATTERN && inset(MODEL)
###Generate Gcode Take several 2d polygons and cvonvert them to gcode whilst respecting the limitations og the machine, acceleration boundaries, setting the correct beampower etc etc If somebody likes a challenge this can be considered as a traveling salesman problem to optimize the route.. However we do have some restrcitions - shelling and hatching a two seperate steps.