CAD最全的快捷键{6}
song1989108
2013年10月22日 12:02:47
只看楼主

AutoCAD环境下的机构动画演示 Posted on Sunday, October 23, 2005 2:25 PM #CAD 知识收集 AutoCAD 是一种非常普及的设计软件,广泛应用于机械、电子、建筑、服装等不同领域,以它强大的实用性、良好的用户界面、优良的价格性能比、简单易学等诸多优点,深受广大工程技术人员的青睐。更为重要的是它具有开放的体系结构,允许用户在几乎所有方面对其扩充和修改,能更大限度的满足用户的特殊要求。AutoCAD

AutoCAD环境下的机构动画演示
Posted on Sunday, October 23, 2005 2:25 PM #CAD 识收集
AutoCAD 是一种非常普及的设计软件,广泛应用于机械、电子、建筑、服装等不同领域,以它强大的实用性、良好的用户界面、优良的价格性能比、简单易学等诸多优点,深受广大工程技术人员的青睐。更为重要的是它具有开放的体系结构,允许用户在几乎所有方面对其扩充和修改,能更大限度的满足用户的特殊要求。AutoCAD 的二次开发方法很多,较为常见和传统的是基于AutoLISP语言上的开发。
本文试以机械传动中最常见的四杆机构在AutoCAD环境中的动画演示和运动分析为例,说明在此环境下实现动画的一种方法。其实,任何动画都是多个相近的瞬时静止画面(即帧)的集合连续播放。在AutoCAD 中也是这样,只不过我们对机构模型进行更为精确的定量化,添加了相应的几何约束,如图的曲柄摇杆机构,

曲柄受到支点A 约束只能绕A点做旋转运动,由于它的转动,带动连杆和摇杆在不同的约束下做相应的运动,是一对一的对应关系,是符合我们推断出的方程式的运动,这个方程式,就是我们用AutoLISP语言实现动画和运动分析的关键。我们先给出机构的初始位置和一个曲柄旋转的增量,下一个位置就交给计算机计算了。在这里我们可以用多义线画出模型连线,机构的运动,也就成了不时的修改该多义线的顶点(亦即铰链)的位置。

有关四杆机构的运动方程式这里就不再敖述,下面简述此程序命令的使用方法和设计思路

把后附程序文件拷贝到任何文字处理软件上(如记事本),并以 *.lsp 格式存盘(如sg.lsp) 该程序文件应放在CAD 能搜索的目录下(如..\program files\acad2000\Support ),打开AutoCAD ,在命令行内输入(load "sg") 即可调入该程序,成功调入时,命令行内出现“《四杆机构运动分析程序》已成功装载,输入sg 运行!”此时,在命令行内输入sg 即可运行该程序。也可以在 Tools->Load Application... 单按钮下,调入程序加载对话框,找到已经存盘的sg.lsp 文件,按下 Load 钮,也可调入程序文件。后一种方法的优点是可以不受搜索路径的限制。如果不能正确调入程序,请检查sg.lsp 是否保存在适当的目录下,文件内容是否完整。

正确调入程序后,应该事先做好该机构的初始状态位置,然后再在命令行内输入sg,运行命令吧!依次捕捉曲柄接地的铰链A, 曲柄与连杆的铰链,连杆与摇杆的铰链和摇杆接地的铰链B 个点。输入V 调节旋转速度,输入C 实现自动连续观察,输入L 可自动画出运动轨迹,在默认情况下,直接按回车键,可步进观察。在进行连续观察时,只能用取消键[Esc] 退出运行。退出时,给出需要的相应数据(根据需要,添加不同的扩充语句)。

我们通过观察和测试后,可能要对机构做适当的调整,为了省去再画初始位置图和再捕捉接点位置的麻烦,我们可以用夹点方式对机构做适当的调整。只有在删除原机构模型后,才能再次重建模型。

用此方法,我们还能够创建其它机构模型,如曲柄滑块机构等,也可以是几种简单机构组成的复合机构模型。本人已成功创建了一个分析GC6150M 高速平缝机送布机构的机构模型程序,提高了分析问题和解决问题的速度。当然,我们也可以运用其它绘图软件如Pro-E,SolidWorks 进行机构分析,同样也能达到我们的目的,但它需要我们掌握其运用的能力。

附: sg.lsp 文件内容

(defun c:sg(/ os ff1 w1 w2 w tt x y e f g kf tis)

(setvar "cmdecho" 0)

(setvar "osmode" 0)

(initget 7 " ")

(if ba (setq jc (entget ba)))

(setq tis nil)

(if (null jc)(setq ba nil))

(if (null ba)(setq ppa (getpoint "\n请连续给出四个铰链点的起始位置\n 第一点:")))

(if (null ba)(setq ppb (getpoint ppa "\n 第二点:")))

(if (null ba)(setq ppc (getpoint ppb "\n 第三点:")))

(if (null ba)(setq ppd (getpoint ppc "\n 第四点:")))

(if ba

(progn

(setq tm 1 jc (cdr jc))

(while jc

(if (= '10 (car (car jc)))

(progn (cond ((= tm 1)(setq ppa (cdr (car jc))))

((= tm 2)(setq ppb (cdr (car jc))))

((= tm 3)(setq ppc (cdr (car jc))))

((= tm 4)(setq ppd (cdr (car jc))))

)

(setq tm (1+ tm))

)

)

(setq jc (cdr jc))

)

)

)

(setq ll1 (distance ppa ppb))

(setq ll2 (distance ppb ppc))

(setq ll3 (distance ppd ppc))

(if (null ba) (progn (command "pline" ppa ppb ppc ppd "")

(setq ba (entlast))

)

)

(setq ff1 (angle ppa ppb))

(setq w1 (angle ppc ppb) w2 (angle ppc ppd))

(if (< w1 w2) (setq w 1))

(if (null zzs)(setq zzs 0.1 kai 0))

(princ " \n[Esc] 退出 \\V 速度 \\C连续\\L轨迹线\\< 进运行>:")

(setq tt (strcase (getstring)))

(if (= tt "V")(get_v))

(while (or (= tt "L")(= tt "")(= tt "C"))

(setq x (- (car ppd) (car ppa)) y (- (cadr ppd) (cadr ppa)))

(setq e (* 2 ll3 (- x (* ll1 (cos ff1)))))

(setq f (* 2 ll3 (- y (* ll1 (sin ff1)))))

(setq g (- (+ (* x x) (* y y) (* ll1 ll1) (* ll3 ll3)) (* ll2 ll2) (* 2 x ll1 (cos ff1)) (* 2 y ll1 (sin ff1))))

(setq kf (- (+ (* e e) (* f f)) (* g g)))

(if (> 0 kf)(setq zzs (- 0 zzs) kai 1)(setq kai 0))

(if (= kai 0) (if (= w 1)(setq ff3 (* 2 (atan (/ (+ f (sqrt kf)) (- e g))))) (setq ff3 (* 2 (atan (/ (- f (sqrt kf)) (- e g)))))))

(command "pedit" ppa "e" "n" "m" (polar ppa ff1 ll1) "n" "m" (polar ppd ff3 ll3) "x" "")

(if (= tt "L")(command "line" ppc (polar ppd ff3 ll3) "" "line" ppb (polar ppa ff1 ll1) ""))

(setq ppb (polar ppa ff1 ll1) ppc (polar ppd ff3 ll3))

(if (not (or (= tt "L")(= tt "C")))(setq tt (strcase (getstring)) tis 0)(setq tis 1))

(if (= tt "V")(get_v))

(setq ff1 (+ ff1 zzs))

)

)



(defun get_v()

(initget 1 " ")

(setq zzs (getreal "\n 输入速度(0.1 5)<1>:"))

(if (= zzs "") (setq zzs 1))

(setq zzs (* zzs 0.1) kai 0)

(princ " \n[Esc] 退出 \\V 速度 \\C连续\\L轨迹线\\< 进运行>:")

(setq tt (strcase (getstring)))

(if (= tt "V")(get_v))

)

(princ " 《四杆机构运动分析程序》已成功装载,输入sg 运行!")[转]

免费打赏
song1989108
2013年10月22日 12:07:20
2楼
没人看么?
回复
jwwlkj2013
2013年10月22日 13:16:42
3楼
╮(╯▽╰)╭
回复

相关推荐

APP内打开