# # a plunger # macro InnerPlunger define(PlungerRadius0, @arg1 ) # Argument of the call define(PlungerAngle, eval(@arg2*@pi/180) ) # Argument of the call define(PlungerInnerRadius, eval(100e-3/2) ) define(PlungerCurvature, 16e-3) -gbor material= 10 origin= (eval(cos(PlungerAngle)*PlungerRadius0),\ eval(sin(PlungerAngle)*PlungerRadius0),\ 0) zprimedirection= (eval(-cos(PlungerAngle)*PlungerRadius0),\ eval(-sin(PlungerAngle)*PlungerRadius0),\ 0) rprimedirection= (0,0,1) range= (0,360) clear # point= (z,r) point= (0,0) point= (0, eval(PlungerInnerRadius-PlungerCurvature) ) arc, radius= PlungerCurvature, size= small, type= counterclockwise point= (eval(-PlungerCurvature), PlungerInnerRadius) point= (-170e-3, PlungerInnerRadius) point= (-170e-3, 0) doit endmacro # InnerPlunger