import static uk.co.nickthecoder.foocad.chamferedextrude.v1.ChamferedExtrude.* class NozzleChangeTool : Model { @Custom var size = Vector2( 60, 18 ) @Custom var socketD = 7.7 @Piece fun holeSizeTest() : Shape3d { val piece = Cylinder(6,6) - Cylinder( 100, socketD/2 ).sides(6) // Measure 1/4 of an inch, which is the stadard size sockets. val preview = Cube( 2, 25.4 / 4, 20 ).centerXY().previewOnly() return piece + preview } override fun build() : Shape3d { val hex = Circle(size.x/2).sides(6).roundAllCorners(5) val hole = Cylinder( 100, socketD/2 ).sides(6).translateZ(3) return hex.chamferedExtrude( size.y, 2 ) - hole } }