Metropoli BBS
VIEWER: solid7.irt MODE: TEXT (ASCII)
#
# Yet another simple 3D mechanical object. This one whas taken from
# PC MAGAZINE volume 8 number 2, January 31, 1989, page 34. This was example
# that was implemented under AutoCAD ver 10, and it looked nice so I tried
# it... It took me about an hour to complete.
#
#				Created by Gershon Elber,	Mar 89
#

save_mat = view_mat;
save_res = resolution;

resolution = 16;
view_mat = view_mat * trans(vector( 0.4, -0.1, 0.0));

#
# Create the big cylinder (no hole yet)
#
C1 = cylin(vector( 0.0, 0.0, 0.0), vector( 0.0, 0.0, 0.7), 0.2);

#
# And the small one (including the torus & sphere cut
#
C2 = cylin(vector( 1.0, 0.0, 0.05), vector( 0.0, 0.0, 0.4), 0.15);
resolution = 8;
T1 = circpoly(vector( 0.0, 1.0, 0.0), vector( 0.151, 0.0, 0.25), 0.03);
resolution = 16;
T2 = surfrev(T1) * trans(vector( 1.0, 0.0, 0.0));
free(T1);
B1 = C2 - T2;
free(C2);
free(T2);
resolution = 12;
S1 = sphere(vector( 1.0, 0.0, 0.0), 0.135);
B2 = B1 - S1;
free(B1);
free(S1);
view(list(B2), true);

v1 = vector( 0.0, 0.19, 0.35);
v2 = vector( 0.0,-0.19, 0.35);
v3 = vector( 1.0,-0.14, 0.35);
v4 = vector( 1.0, 0.14, 0.35);
CrossSec = poly( list(v1, v2, v3, v4 ));
E1 = extrude(CrossSec, vector( 0.0, 0.0, 0.07));
free(CrossSec);

B3 = C1 + E1 + B2;
free(C1);
free(J2);
free(B2);
view(list(B3), true);

#
# Time to do the final hole in the big cylinder. Note we couldnt do it before
# as E1 would have penetrate it...
#
resolution = 16;
C3 = cylin(vector( 0.0, 0.0,-0.1), vector( 0.0, 0.0, 0.9), 0.165);
B4 = B3 - C3;
free(B3);
free(C3);

final = convex(B4);
free(B4);
interact(list(final), false);

save("solid7", list(view_mat,final));
free(final);

resolution = save_res;
view_mat = save_mat;
[ RETURN TO DIRECTORY ]