Last active
February 21, 2017 18:39
-
-
Save madhephaestus/21c02fc054a1a279cb16c9a6ae5a603a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.neuronrobotics.bowlerstudio.vitamins.*; | |
// Load an STL file from a git repo | |
// Loading a local file also works here | |
File servoFile = ScriptingEngine.fileFromGit( | |
"https://github.com/NeuronRobotics/BowlerStudioVitamins.git", | |
"BowlerStudioVitamins/stl/servo/smallservo.stl"); | |
// Load the .CSG from the disk and cache it in memory | |
CSG servo = Vitamins.get(servoFile); | |
//servo = servo.toZMax()// move servos maxZ to 0 | |
servo = servo.toZMin()// move servos minZ to 0 | |
//servo = servo.toXMax()// move servos maxX to 0 | |
servo = servo.toXMin()// move servos zminX to 0 | |
//servo = servo.toYMax()// move servos maxY to 0 | |
servo = servo.toYMin()// move servos minY to 0 | |
println "Maximum X dimention = " + servo.getMaxX() | |
println "Maximum Y dimention = " + servo.getMaxY() | |
println "Maximum Z dimention = " + servo.getMaxZ() | |
println "Minimum X dimention = " + servo.getMinX() | |
println "Minimum Y dimention = " + servo.getMinY() | |
println "Minimum Z dimention = " + servo.getMinZ() | |
println "Total X dimention = " + (-servo.getMinX()+servo.getMaxX()) | |
println "Total Y dimention = " + (-servo.getMinY()+servo.getMaxY()) | |
println "Total Z dimention = " + (-servo.getMinZ()+servo.getMaxZ()) | |
println "Center in X dimention = " + ((servo.getMinX()/2)+(servo.getMaxX()/2)) | |
println "Center in Y dimention = " + ((servo.getMinY()/2)+(servo.getMaxY()/2)) | |
println "Center in Z dimention = " + ((servo.getMinZ()/2)+(servo.getMaxZ()/2)) | |
/** | |
* You can make functions to center objects usig this information | |
*/ | |
CSG moveToXCenter(CSG incoming){ | |
return incoming.movex(((incoming.getMinX()/2)+(incoming.getMaxX()/2))) | |
} | |
CSG moveToYCenter(CSG incoming){ | |
return incoming.movey(((incoming.getMinY()/2)+(incoming.getMaxY()/2))) | |
} | |
CSG moveToZCenter(CSG incoming){ | |
return incoming.movez(((incoming.getMinZ()/2)+(incoming.getMaxZ()/2))) | |
} | |
return servo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment