好文档 - 专业文书写作范文服务资料分享网站

机械原理基本杆组分析法

天下 分享 时间: 加入收藏 我要投稿 点赞

’’ 2

x’4 = x’2 + A2 hθ1–A1 hθ1 ’+ Ahθ’ 2 y’4 = y’2 + A1 hθ1 2 1

(39)

由上述式子可设计出 RPP杆组运动分析子程序(见程序单)。

/* 机械原理平面机构运动分析子程序 */

/*(含单杆,RRR,RRP,RPR,PRP, RPP杆组) */

#define PI #include <> #include <>

double l, l 1, l 2, l v1, l v2, l a1, l a2, r, af, ct, cv, ca, ct1, cv1, ca1, ct2, cv2, ca2; double u, v, u1, v1, u2, v2, x1, y11, xv1, yv1, xa1, ya1, x2, y2, xv2, yv2, xa2, ya2; double x3, y3, xv3, yv3, xa3, ya3, x4, y4, xv4, yv4, xa4, ya4, a1, a2, a3, a4, a5, a6, a7, a8; double c, d, d7, d8, dt, e, e1, e2, e3, f, f1, f2, f3, g, h, h1, h2, i1, k, k1, k2, n, n7, w; int m;

/* 各公共子程序 */

/* 单杆运动分析子程序 */

void SSL() {

x2 = x1 + l * cos(ct); y2 = y11 + l * sin(ct); x3 = x1 + r * cos(ct + af ); y3 = y11 + r * cos(ct + af ); xv2 = xv1 - l * sin(ct) * cv; yv2 = yv1 + l * cos(ct) * cv;

xa2 = xa1 - l * sin(ct) * ca - l * cos(ct) * cv * cv; ya2 = ya1 + l * cos(ct) * ca - l * sin(ct) * cv * cv; xv3 = xv1 - (y3 - y1) * cv;

yv3 = yv1 + (x3 - x1) * cv;

xa3 = xa1 - (y3 - y11) * ca - (x3 - x1) * cv * cv; ya3 = ya1 + (x3 - x1) * ca - (y3 - y11) * cv * cv; }

/* RRR杆组运动分析子程序 */

void RRR() {

u = x2 - x1; v = y2 - y11; u1 = xv2 - xv1; v1 = yv2 - yv1; u2 = xa2 - xa1; v2 = ya2 - ya1;

c = (u * u + v * v + l 2 * l 2 – l 1 * l 1) / 2 / l 2; k = v * v + u * u - c * c; if ( k < 0 )

Cout<<( \ else

{ n7 = v + m * sqrt(k); d7 = u – c;

ct2 = 2 * atan ( n7 / d7 );

if ( d7 < 0 && n7 > 0 ) ct2 += 2 * PI; else if ( d7 < 0 && n7 < 0 ) ct2 -= 2 * PI; { n = v + l 2 * sin ( ct2 );

d = u + l 2 * cos ( ct2 ); ct1 = atan ( n / d );

}

if ( d < 0 && n > 0 ) ct1 += PI; else if ( d < 0 && n < 0 ) ct1 -= PI; a1 = -l 1 * sin(ct1); a2 = l 1 * cos(ct1); a3 = l 2 * sin(ct2); a4 = -l 2 * cos(ct2); d = a1 * a4 - a2 * a3; if ( fabs ( d ) < 1e-9 )

cout<<( \

else

{ cv1 = (a4 * u1 - a3 * v1) / d; cv2 = (a1 * v1 - a2 * u1) / d;

e = u2 + a2 * cv1 * cv1 + a4 * cv2 * cv2; f = v2 - a1 * cv1 * cv1 - a3 * cv2 * cv2;

ca1 = (a4 * e - a3 * f) / d;

ca2 = (a1 * f - a2 * e) / d;

}

} }

/* RRP杆组运动分析子程序 */

void RRP() {

u = x2 - x1; v = y2 - y11; u1 = xv2 - xv1;

v1 = yv2 - yv1; u2 = xa2 - xa1; v2 = ya2 - ya1;

k1 = l 1 * l 1 - pow ( ( u * sin ( ct2 ) - v * cos ( ct2 ) ) , 2 ); if (k1 < 0)

cout<<(\ else

{ k2 = u * cos(ct2) + v * sin(ct2); l 2 = -k2 + m * sqrt(k1); n = v + l 2 * sin(ct2); d = u + l 2 * cos(ct2); ct1 = atan ( n / d );

if ( d < 0 && n > 0 ) ct1 += PI; else if ( d < 0 && n < 0 ) ct1 -= PI; a1 = -l 1 * sin(ct1); a2 = l 1 * cos(ct1); a5 = -cos(ct2); a6 = -sin(ct2); g = u1 + l 2 * a6 * cv2; h = v1 – l 2 * a5 * cv2; d8 = a1 * a6 - a2 * a5; If ( fabs(d8) <=1e-9)

cout<<(\ else

{ cv1 = (a6 * g - a5 * h) / d8; l v2 = (a1 * h - a2 * g) / d8;

e1 = u2 + a2*cv1*cv1 + 2*a6*l v2*cv2 + l 2*a5*cv2*cv2 + l 2*a6*ca2; f1 = v2 - a1*cv1*cv1 - 2*a5* l v2*cv2 + l 2*a6*cv2*cv2 – l 2*a5*ca2; ca1 = (a6 * e1 - a5 * f1) / d8;

机械原理基本杆组分析法

’’2x’4=x’2+A2hθ1–A1hθ1’+Ahθ’2y’4=y’2+A1hθ121(39)由上述式子可设计出RPP杆组运动分析子程序(见程序单)。<
推荐度:
点击下载文档文档为doc格式
4g4wf00wi568ub00wtu64vbt01gdo5005eg
领取福利

微信扫码领取福利

微信扫码分享