10.01.2013 Views

ComputerAided_Design_Engineering_amp_Manufactur.pdf

ComputerAided_Design_Engineering_amp_Manufactur.pdf

ComputerAided_Design_Engineering_amp_Manufactur.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

to generate a new contact line with respect to itself. So, the degree of freedom for p1 with respect to p2<br />

is {plane_z::rot_x,rot_z} . For p2 with respect to p1,<br />

p2 can translate along the cylindrical surface of p1,<br />

and p2 can move itself along the x-axis and rotate about the z-axis.<br />

The degree of freedom for p2 is<br />

{cyl_x::lin_y,rot_z} .<br />

A rule-based system is adopted for assisting in the process of selecting an appropriate set of spatial<br />

relationships and for inferring the final state of degrees of freedom. From the above definitions, surfaces<br />

characterize degrees of freedom. For a plane_n_a degree of freedom, a body may move on a planar surface<br />

along two lin_n directions. When a new plane_z_b is introduced, the remaining degree of freedom is derived<br />

by intersecting these two planes. For ex<strong>amp</strong>le, if plane_z_a is parallel to plane_z_b,<br />

then the degree of<br />

freedom may be either plane_z_a or plane_z_b;<br />

if they are not parallel, then lin_n is the degree of freedom<br />

obtained from the intersection of plane_z_a and plane_z_b.<br />

The intersection degrees of freedom are obtained<br />

by intersection of two geometry entities, (e.g., circle_n is the result of intersecting plane_n with cyl_n (or<br />

sph_n) together). In the intersection of two rotational degrees of freedom, e.g., rot_z_a and rot_z_b, if they<br />

share the same rotational axis, then rot_z_a or rot_z_b remains; if not, they cancel each other. In the above<br />

ex<strong>amp</strong>les, we demonstrate some simple rules for the reduction of degrees of freedom, but in some cases,<br />

such as combining the spatial relationships with numbers of rotational degrees of freedom, the solution<br />

becomes complicated. We show some general reduction rules based on our earlier work as follows:<br />

1. {{plane_z_a::rot_za}�{plane_z_b::rot_z_b} | |vec_of(z_a) . vec_of(z_b)| �� 1} � {lin_n_c| lin_n_c �<br />

intersect(plane_z_a, plane_z_b)}<br />

2. {{plane_z_a::rot_z_a}�{lin_v_b}| | vec_of(z_a) . vec_of(z_a)| �� 0} � {fix_c}<br />

3. {{plane_z_a::rot_x_a,rot_z_a}�{plane_z_b::rot_x_b,rot_z_b}| x_a � x_b, |vec_of (z_a) . vec_of<br />

(z_b)|�1} � {lin_x_c::rot_x_c| lin_x_c � cent_of(x_a) � cent_of(x_b), rot_x_c � rot_x_a �<br />

rot_x_b}<br />

4. {{plane_z_a::rot_z_a} � {lin_x_b::rot_x_b}| |vec_of(z_a) . vec_of (z_b)| � 1} � {fix_c:: rot_x_c<br />

| rot_x_c � rot_x_b}<br />

5. {{plane_z_a::rot_x_a,rot_y_a,rot_z_a}�{plane_z_b::rot_x_b,rot_y_b,rot_z_b}| cent_of(x_a,y_a,<br />

z_a) � cent_of (x_b,y_b,z_b), vec_of (z_a) � vec_of(z_b), |vec_of (rot_z_a) �<br />

vec_of(rot_z_b)| � 0} � {plane_z_c::rot_z_c, rot_x_c| plane_z_c � plane_z_a or plane_z_b,<br />

rot_z_c � rot_z_a or rot_z_b, x_c � axis (cent_of(rot_x_a), cent_of(rot_x_b))}<br />

6. {{plane_z_a::rot_x_a,rot_z_a}�{plane_z_b::rot_x_b,rot_y_b, rot_z_b}|vec_of(z_a) � vec_of<br />

(z_b), vec_of(rot_z_a) � vec_of(rot_z_b) � 0} � {plane_z_c::rot_z_c|plane_z_c � plane_z_a:<br />

or: plane_z_b, rot_z_c � rot_z_a: or :rot_z_b}<br />

7. {{plane_z_a::rot_z_a} � {plane_z_b::rot_x_b, rot_y_b,rot_z_b}| 0�|vec_of (z_a)cdot vec_of<br />

(z_b)| ��<br />

1} � {lin_n1_c::rot_n2_c| lin_n1_c � intersect (plane_z_a, plane_z_b), point_of(n2_c)<br />

� cent_of(x_b,y_b,z_b), vec_of(n2_c) � vec_of(z_a)}<br />

8. {{lin_n1_a::rot_n2_a} � {plane_z_b::rot_x_b,rot_y_b,rot_z_b}| vec_of(n2_a) cdot vec_of(z_b)<br />

� 0} � {lin_n1_c | lin_n1_c � lin_n1_a}<br />

9. {{lin_n1_a} � {plane_z_b::rot_x_b,rot_y_b,rot_z_b}| vec_of(n1_a) cdot vec_of(z_b) � 0} �<br />

{fix_c}<br />

where<br />

Axis is a translation or rotation axis that contains a start and a vector.<br />

point_of(Axis) returns start point of Axis.<br />

vec_of(Axis) returns vector of Axis.<br />

cent_of(Axis_x, Axis_y, Axis_z) returns origin of the Axis_x, Axis_y, Axis_z coordinate frame. (Also,<br />

this origin is a center point of a sphere.)<br />

axis(Point_a, Point_b) returns an Axis with Point_a as start point and Point_b-Point_a as direction.<br />

intersect(Dof_a, Dof_b) returns intersection of two degrees of freedom.<br />

fix is the origin of degrees of freedom representation.<br />

Figure 9.8 shows an ex<strong>amp</strong>le of assembly with spatial relationships and the intersection of degrees of<br />

freedom. Degrees of freedom are the allowable relative motion between mating components derived from<br />

© 2001 by CRC Press LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!