Friday Challenge - part two

WARNING!! Another Kirk Gordon-length message coming up.
A couple of the suggestions came pretty close to the way the job was =
Dan's example would no doubt work on a more fancy machine than the one=20
I use (12K of memory, no drip-feed & only three axis moving =
set some limits) Morris' idea combined with Dan's CBN wheel was how it =
formatting link

(I could've sworn I used tailstock support, but pictures don't lie...)
The part was grounded lengthwise by repeating a closed-loop sub-program,=20
and using a 150mm bronze-bonded CBN wheel wit a full 2mm radius:
%MPF 9
G0 G90 X0 Y35 Z0=20
R1=3D1.125 (step increment in B)=20
G1 F200 Y24.345=20
L9 P1=20
Y24.343 Z.206=20
L9 P1=20
Y24.337 Z.413=20
L9 P1....
Lather, rinse, repeat 160 times (180 degrees)=20
Move back to start point, change value of R1 to minus,
and repeat another 160 times
G0 G90 X0 Y35 Z0=20
R1=3D -1.125=20
G1 Y24.343 Z-.206=20
L9 P1=20
Y24.337 Z-.413=20
L9 P1=20
Y24.327 Z-.619=20
L9 P1....=20
%SPF 9
G1 G91 Y-2.52 F300=20
G03 X1.32 Y-2.48 U3 F100 (radius at base)=20
G1 X55 B151.4 F2000 (cylindrical part)
X63 Y-2.22 B173.42 (taper)
Y7.22 F1000=20
G0 X-119.32 B-324.82=20
B=3D R1=20
G1 G90 F500=20
1.125 degree for step increment was the smallest step I could use.
Otherwise the number of lines was too large to fit in memory.
The *real* tricky thing was calculating the placement of the wheel =
each sub call. At first I calculated it for a circle rotating around a =
outside it's circumference. This was simple geometry, and produced a =
round "tail" ..but only when you measured it parallel to the centerline =
of the
part - not to the tail.
And that was not all... During a full rotation of the part, the contact =
between the wheel and the part would gradually change from the one side =
of the
wheel to the other, further complicating things.
I called the customer, and had his engineer adding a 2mm fillet round =
tail perpendicular to the centerline of the part
(They use ProE - how they managed to do it without VX I'll never know =
The engineer mailed back an egg-shaped 2D polyline drawing of the =
center of
the fillet. Now all I had to do was to was offset that polyline 2mm, and=
had the profile my wheel should follow.
My plan was to rotate the polyline in AutoCAD - find the quadrant =
and repeat the process over 180 degree. I could then mirror the points =
to get
a full profile... or so I thought, but there's no "quadrant tangent" when
you're dealing with polylines in ACAD.=20
After painstakingly constructing a new "arcs only" profile, deviating =
about 0.002mm from the original polyline, I finally managed to produce a =
of points(*). After joining the points with lines I ran the whole =
through our ancient DOS cam program to get a program with the =
Then it was only a matter of working the program over in a text editor
(with macro) to change work plane, and inset sub calls.
) Okay, I cheated when it came to constructing those points. Here's =
pathetic cry for help I posted in alt.cad.autocad :
I'm working on a job where a LISP program would be the obviously =
Unfortunately I never got into the LISP language except for some *very* =
stuff more than a decade ago.
The task is simple, but repetitive, hence the need for LISP.
I have an ellipse (actually a polyline constructed from arcs) which are
rotated in point 0/0 in one degree increments for a total of 180 degrees.=
After each rotation a tangent point is placed on the polyline at the =
quadrant resulting in an "arc" of 180 points which are later used in a =
As it is now, I pick "Rotate," pick the object, and enter the coordinates=
rotation angle. I then pick "points" and place the point... that's five =
clicks and five pecks at the keyboard - multiply with 180 and you can see=
problem. I have already done one of these jobs and I feel a severe case =
tendonitis looming in the horizon.=20
I'm dreaming of a simple LISP program which would rotate the object =
having to enter the variables every single time. A "Do While..." loop,
where all I had to do was point at the quadrant and click. It would =
the number of inputs by a factor of ten!
If time was no problem I would use the trial-and-error approach and try =
write the proggie myself in my spare time (since I hate to ask favors I =
repay), but I'm all out of spare time and the boss will probably do the
eyebrow thing if I spend too much time at the PC instead of keeping the
machines running.
A nice German cad guy, Jurgen, took pity of me, and wrote a nice little=
program, which helped tremendously. Thanks Jurgen...
Well, that's about it. Who's next for another show & tell case story? =
Reply to
J. Nielsen
Loading thread data ...
Not a true ellipse, but a shape composed from arcs. I needed the easternmost tangent point after each increment rotation. AutoCrap = (ver.14)=20 will only pick that point from a circle or an arc, not an ellipse. That's why I chose to grind *along* the helix, not *around* it - the = part would be finished in only one revolution.=20
I'm not sure, I believe it would still need to follow an ellipse. Only= this time you wouldn't have to compensate for the wheel radius. (not to mention the wheel would collide with the base of the part.)
Reply to
J. Nielsen
J. Nielsen wrote in news:
Hey Jan,
Just wunderin but why did you use the splined spindle instead of using the actual *pigtail* with a stripper plate as the method of un-screwing the part from the mold? Was there some feature on the bottom that would prohibit doing that? Resin choice issue?
I've made molds with high type helix cores that we succesfully stripped that way.
Just wondering.
Reply to
It was the customers decision. IIRC the spindle was drawn back w/air before opening the mold. I never saw a drawing of the mold, and the "stripper" plate was probably stationary. I did see a model of the part it was making; It was quite sophisticated - one of those you wouldn't expect being outsourced to China any time soon.
Reply to
Jan Nielsen

Site Timeline

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.