2011/3/13 Mark <[email protected]>: > I'd write a small program in c or python to solve this. > > You only need to solve the problem for 1/4 of the perimeter. After that, > rotate and mirror > > Here are my thoughts on solving it: > > - find parameteric equations for an arc of the circle in 1st quadrant and > the edge of the square > - http://en.wikipedia.org/wiki/Parametric_equation > - for simplicity, I'm assuming a radius of 1 > - circle: x=a*cos(t); y=a*sin(t); in first quadrant, 0<t<pi/2 > - line with slope -1: *x1=-t+1; y1=t; 0<t<1* > - circle with parameter range 0 to 1: *x2=cos(pi*t/2); y2=sin(pi*t/2); > 0<t<1* > - assuming material thickness of 1 unit, with the square on the bottom > at z=0: *z1=0; z2=1* > - compute n values of x1,y1,x2,y2 between 0 and 1 with a for loop > - use x2, y2, z2 as X,Y,Z in the gcode > - use x1, y1, z1, x2, y2, z2 to find values for A, B, and/or C >
Thanks! I am not sure that I understand correctly all the calculations You offer, but it gave me an idea, that since I am using circle as the basic shape, I could paste both contours in polar coordinate system and the difference of radius between both contours on each theta value would give me the horizontal distance between them. Adding vertical distance and I get value of the slope with atan function, theta value gives direction - they both are position commands for A/B and C axis respectively. Looks pretty simple on paper, but I do not know, how do I get proper g-code from it. I will spend some more time with Your formulas, maybe I will manage to understand them completely. Addressing these calcs with parametric equation approach seems promising to me. Viesturs ------------------------------------------------------------------------------ Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
