2016年3月24日 星期四
sla 3d printer 研究筆記 : printObject
private void printObject() throws Exception {
System.out.println("Printing Object layers");
CommandBase cmd;
SVGElement element;
// Object layers
// loop layers
int total = Consts.sFLAG_DEBUG_MODE ? Math.min(6, root.getNumChildren()) : root.getNumChildren();
int layerSteps = printingInfo.getStepsPerLayer();
int layerExpoTime = printingInfo.getLayerExpoTimeInMillis();
int upSteps = printingInfo.getUpLiftSteps();
int downSteps = upSteps - layerSteps;
System.out.println(String.format("Object layers upSteps: %d, layerSteps: %d, downSteps: %d",
upSteps, layerSteps, downSteps));
for (int i = 1; i < total; i++) {
layerIndex = i;
// Go up
cmd = PrinterScriptFactory.generatePlatformMovement(PlatformMovement.UP, upSteps);
processCommand(cmd);
// Wait a little bit
cmd = PrinterScriptFactory.generatePauseCommand(delayAfterAction);
processCommand(cmd);
// Go down
cmd = PrinterScriptFactory.generatePlatformMovement(PlatformMovement.DOWN, downSteps);
processCommand(cmd);
// Exposure layer
element = children.get(i);
publish(element);
for (int restExpoTime = layerExpoTime; restExpoTime > 0; restExpoTime -= Consts.MAX_EXPOSURE_MILLIS) {
int expoTime = restExpoTime >= Consts.MAX_EXPOSURE_MILLIS ? Consts.MAX_EXPOSURE_MILLIS : restExpoTime;
cmd = PrinterScriptFactory.generatePauseCommand(expoTime);
processCommand(cmd, expoTime);
}
publish(layerCircle);
cmd = PrinterScriptFactory.generatePauseCommand(delayAfterAction);
processCommand(cmd);
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言