|
|
@ -42,7 +42,13 @@ public class SmallBottleBufferPos { |
|
|
|
public Integer smallBottleBufDistributeZPos; //小瓶缓冲液吐液高度 |
|
|
|
public Integer detectMaterialDistributeZpos; //探测物质吐液高度 |
|
|
|
|
|
|
|
public SmallBottleBufferPos(){ |
|
|
|
public Integer cgetMAX_COL() {return 5;} |
|
|
|
|
|
|
|
public Integer cgetMAX_ROW() {return 5;} |
|
|
|
|
|
|
|
public Integer cgetBottomNum() {return 5 * 5;} |
|
|
|
|
|
|
|
public SmallBottleBufferPos() { |
|
|
|
g0TopLelf = new Pos2d(0, 0); |
|
|
|
g1TopLelf = new Pos2d(0, 0); |
|
|
|
g2TopLelf = new Pos2d(0, 0); |
|
|
@ -90,4 +96,39 @@ public class SmallBottleBufferPos { |
|
|
|
this.detectMaterialDistributeZpos = detectMaterialDistributeZpos; |
|
|
|
} |
|
|
|
|
|
|
|
Pos2d cgetTopLelf(Integer group) { |
|
|
|
return switch (group) { |
|
|
|
case 0 -> g0TopLelf; |
|
|
|
case 1 -> g1TopLelf; |
|
|
|
case 2 -> g2TopLelf; |
|
|
|
case 3 -> g3TopLelf; |
|
|
|
case 4 -> g4TopLelf; |
|
|
|
case 5 -> g5TopLelf; |
|
|
|
default -> null; |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
Pos2d cgetScanPos(Integer group) { |
|
|
|
Pos2d topLelf = cgetTopLelf(group); |
|
|
|
if (topLelf == null) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
return new Pos2d(topLelf.x + scanRelaPos.x, topLelf.y + scanRelaPos.y); |
|
|
|
} |
|
|
|
|
|
|
|
Pos2d cgetBottlePos(Integer group, Integer bottleIndex) { |
|
|
|
Pos2d topLelf = cgetTopLelf(group); |
|
|
|
assert topLelf != null; |
|
|
|
int col = bottleIndex % 5; |
|
|
|
int row = bottleIndex / 5; |
|
|
|
return new Pos2d(topLelf.x + col * xSpacing, topLelf.y + row * ySpacing); |
|
|
|
} |
|
|
|
|
|
|
|
Pos3d cgetBottlePiercedPos(Integer group, Integer bottleIndex) { |
|
|
|
Pos2d bottlePos = cgetBottlePos(group, bottleIndex); |
|
|
|
return new Pos3d(bottlePos.x, bottlePos.y, piercedZPos); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |