openfl: hacking fl with the form 1+ api

29

Upload: formlabs

Post on 27-Jan-2017

139 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: OpenFL: Hacking FL with the Form 1+ API
Page 2: OpenFL: Hacking FL with the Form 1+ API
Page 3: OpenFL: Hacking FL with the Form 1+ API
Page 4: OpenFL: Hacking FL with the Form 1+ API
Page 5: OpenFL: Hacking FL with the Form 1+ API
Page 6: OpenFL: Hacking FL with the Form 1+ API
Page 7: OpenFL: Hacking FL with the Form 1+ API
Page 8: OpenFL: Hacking FL with the Form 1+ API
Page 9: OpenFL: Hacking FL with the Form 1+ API
Page 10: OpenFL: Hacking FL with the Form 1+ API
Page 11: OpenFL: Hacking FL with the Form 1+ API
Page 12: OpenFL: Hacking FL with the Form 1+ API

Use customized material files with PreForm and your Form 1/1+

[PrintSettings]OuterBoundaryOffset = 0.03 Distance from the model boundary - theoretically is laser's radiusInnerBoundaryOffset = 0.12 Distance between any inner boundary offsetScanlineBoundaryOffset = 0.03 Distance from the innermost boundary offset - defines raster outlinesScanlineSpacing = 0.09 SliceHeight = 0.025 OffsetsNum = 3 The number of outlinesXcorrectionfactor = 1.008 x shrinkage-correction scaleYcorrectionfactor = 1.008 y shrinkage-correction scale

[perimeter]modellaserpowermw = 20.7modelxyfeedrate = 800 ; mm/ssupportlaserpowermw = 24.84supportxyfeedrate = 800baselaserpowermw = 24.84basexyfeedrate = 800

[fill]modellaserpowermw = 20.7...

Page 13: OpenFL: Hacking FL with the Form 1+ API
Page 14: OpenFL: Hacking FL with the Form 1+ API

OpenFL.PrinterOpenFL.FLP

Page 15: OpenFL: Hacking FL with the Form 1+ API
Page 16: OpenFL: Hacking FL with the Form 1+ API
Page 17: OpenFL: Hacking FL with the Form 1+ API

[<TimeRemaining(1891 s) at 0x10b668470>, <XYMoveClockRate(60000 Hz) at 0x10b668890>, <ZCurrent(80) at 0x10b6688f0>, <TiltCurrent(80) at 0x10b668950>, <TiltFeedRate(472 usteps/s) at 0x10b6689b0>, <TiltMove(2362 usteps) at 0x10b668a10>, <ZFeedRate(132 usteps/s) at 0x10b668a70>, <ZMove(-665 usteps) at 0x10b668ad0>, <ZFeedRate(4000 usteps/s) at 0x10b668b30>, <WaitForMovesToComplete() at 0x10b668b90>,... <LaserPowerLevel(39099) at 0x106e97b90>, <XYMove(3 points) at 0x10b667c18>, <LaserPowerLevel(0) at 0x106e97bf0>, <XYMove(1 points) at 0x10b667c80>, <LaserPowerLevel(39099) at 0x106e97c50>, <XYMove(2 points) at 0x10b667ce8>, <LaserPowerLevel(0) at 0x106e97cb0>,...]

Page 18: OpenFL: Hacking FL with the Form 1+ API

>>> print laserSequence[<LaserPowerLevel(39099) at 0x106e97c50>, <XYMove(3 points) at 0x10b667c18>, <LaserPowerLevel(0) at 0x106e97bf0>]

>>> print laserSequence[1].points((38352, 32099, 69), (38322, 32069, 3), (38262, 32166, 8))

Page 19: OpenFL: Hacking FL with the Form 1+ API

[ZCurrent(moving=True), TiltCurrent(moving=True), TiltFeedRate(usteps_per_s=472), ZFeedRate(usteps_per_s=132), TiltMove(usteps=2362), ZMove(usteps=-665), WaitForMovesToComplete(), TiltCurrent(moving=False), ZCurrent(moving=False)]

Page 20: OpenFL: Hacking FL with the Form 1+ API

from OpenFL import FLPfrom OpenFL import Printerfrom examples.insert_material_swaps import insert_pause_before

p = Printer.Printer() # Connect to the printerlayer_i = 8flp = p.read_block_flp(layer_i)flp = insert_pause_before(flp, zJog_mm=150.0 - 0.2*i)# Overexpose the next layer w/ 6 more copies of the laser moves:flp += [laser for laser in flp if isinstance(laser, FLP.LaserCommand)] * 6p.write_block_flp(layer_i, x) # Send it back to the printerp.start_printing(0, 16) # Print!

Page 21: OpenFL: Hacking FL with the Form 1+ API
Page 22: OpenFL: Hacking FL with the Form 1+ API
Page 23: OpenFL: Hacking FL with the Form 1+ API
Page 24: OpenFL: Hacking FL with the Form 1+ API
Page 25: OpenFL: Hacking FL with the Form 1+ API
Page 26: OpenFL: Hacking FL with the Form 1+ API
Page 28: OpenFL: Hacking FL with the Form 1+ API
Page 29: OpenFL: Hacking FL with the Form 1+ API