Wiki
Clone wikiFlatCAM / betadocs
This section documents features that have not made it to the manual yet. They are simply missing from the manual or describe features that have not made it into a release yet (only in the development source).
SVG Import
FlatCAM supports importing Scalable Vector Graphics (SVG) as FlatCAM Geometry Objects. SVG drawings can be created with a multitude of applications such as Inkscape or Illustrator.
It's important to understand that FlatCAM Geometry Objects are made of paths (lines) only, therefore, certain SVG features cannot be imported. Polygons for instances are imported as only their boundary (perimeter). Texts, gradients, and other features are not supported and are simply ignored.
Shell Commands
aligndrill
Create excellon with drills for alignment.
#!text > aligndrill <name> [-dia <3.0 (float)>] -axis <X|Y> [-box <nameOfBox> -minoffset <float> [-grid <10 (float)> -gridoffset <5 (float)> [-axisoffset <0 (float)>]] | -dist <number>] name: Name of the object (Gerber or Excellon) to mirror. dia: Tool diameter box: Name of object which act as box (cutout for example.) grid: aligning to grid, for thouse, who have aligning pins inside table in grid (-5,0),(5,0),(15,0)... gridoffset: offset of grid from 0 position minoffset: min and max distance between align hole and pcb axisoffset: offset on second axis before aligment holes axis: Mirror axis parallel to the X or Y axis. dist: Distance of the mirror axis to the X or Y axis.
aligndrillgrid
Create excellon with drills for alignment grid.
#!text > aligndrillgrid <outname> [-dia <3.0 (float)>] -gridx <float> [-gridoffsetx <0 (float)>] -gridy <float> [-gridoffsety <0 (float)>] -columns <int> -rows <int> outname: Name of the object to create. dia: Tool diameter gridx: grid size in X axis gridoffsetx: move grid from origin gridy: grid size in Y axis gridoffsety: move grid from origin colums: grid holes on X axis rows: grid holes on Y axis
subtract_poly
Subtract polygon from the given Geometry object.
#!text > subtract_poly <name> <x0> <y0> <x1> <y1> <x2> <y2> [x3 y3 [...]] name: Name of the geometry object, which will be subtracted. xi, yi: Coordinates of points in the polygon.'
join_excellons
Runs a merge operation (join) on the excellon objects.
#!text > join_excellons <out_name> <obj_name_0>... out_name: Name of the new excellon object. obj_name_0... names of the objects to join
panelize
Simple panelize geometries.
#!text > panelize <name> [-box <nameOfBox>] [-spacing_columns <5 (float)>] [-spacing_rows <5 (float)>] -columns <int> -rows <int> [-outname <n>] name: Name of the object to panelize. box: Name of object which act as box (cutout for example.) for cutout boundary. Object from name is used if not specified. spacing_columns: spacing between columns spacing_rows: spacing between rows columns: number of columns rows: number of rows outname: Name of the new geometry object.
subtract_rect
Subtract rectangle from the given Geometry object.
#!text > subtract_rect <name> <botleft_x> <botleft_y> <topright_x> <topright_y> name: Name of the geometry object, which will be subtracted. botleft_x, botleft_y: Coordinates of the bottom left corner. topright_x, topright_y Coordinates of the top right corner.
geocutout
Cut holding gaps from geometry.
#!text > geocutout <name> [-dia <3.0 (float)>] [-margin <0.0 (float)>] [-gapsize <0.5 (float)>] [-gaps <lr (8|4|tb|lr|2tb|2lr)>] name: Name of the geometry object dia: Tool diameter margin: Margin over bounds gapsize: size of gap gaps: type of gaps example: #isolate margin for example from fritzing arduino shield or any svg etc isolate BCu_margin -dia 3 -overlap 1 #create exteriors from isolated object exteriors BCu_margin_iso -outname BCu_margin_iso_exterior #delete isolated object if you dond need id anymore delete BCu_margin_iso #finally cut holding gaps geocutout BCu_margin_iso_exterior -dia 3 -gapsize 0.6 -gaps 4
Updated