机械CADCAM-参数化设计-截止阀

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机械CAD/CAM
Parametric Drawing Report
参数化绘图
姓名:
班级序号:
学号:
专业:机械设计制造及其自动化
指导老师:文国军
Introduction of object to be drawn:
本次参数化绘图所要绘制的是截止阀的阀体,二维图和三维图分别如图1、图2所示。

图1 阀体的二维图
图2 阀体的三维模型图
Program codes:
bolt:dialog
{
label="截止阀";
:row
{
:column
{
:edit_box
{
label="阀孔直径d(60-80):";
key="d";
edit_limit=5;
edit_width=5;
fixed_width=true;
}
}
:image_button
{
key="fa_image";
color=3;
width=20;
fixed_width=true;
height=8;
}
}
ok_cancel;
}
(defun C:FA ()
(setq filename "FA")
(if (> (setq index_value (load_dialog filename)) 0) (progn
(setq do_what 8)
(while (> do_what 1)
(if (new_dialog filename index_value)
(progn
(start_image "fa_image")
(setq max_x (dimx_tile "fa_image"))
(setq max_y (dimy_tile "fa_image"))
(slide_image 0 0 max_x max_y "bolt")
(end_image) ;关闭图像按钮
(action_tile "d" "(setq d (atof $value))")
(setq do_what (start_dialog))
)
(alert "不能显示对话框!")
)
)
(unload_dialog index_value)
)
(alert "不能加载对话框!")
)
(if (= do_what 1)
(draw_a d)
)
)
(defun a (d)
;找点
(setq p0 (getpoint "\n 输入基点:"))
(setq p1 (polar p0 pi 57))
(setq p2 (polar p0 pi 73))
(setq p3 (polar p2 (* pi 1.5) 17))
(setq p4 (polar p3 (* pi 1.75) (* 1.414 3))) (setq p5 (polar p4 0 10))
(setq p6 (polar P5 (* pi 1.5) 4.5))
(setq p7 (polar p6 pi 30))
(setq p8 (polar p7 2.356 (* 1.414 5)))
(setq p9 (polar p8 1.571 21))
(setq p10 (polar p9 2.356 (* 1.414 5)))
(setq p11 (polar p10 pi 15))
(setq p12 (polar p11 (* pi 1.5) 25.5))
(setq p13 (polar p12 pi 4))
(setq p14 (polar p13 (* pi 1.5) (+ 114 (- d 76)))) (setq p15 (polar p14 0 4))
(setq p16 (polar p15 (* pi 1.5) 25.5))
(setq p17 (polar p16 0 15))
(setq p18 (polar p17 0.7854 (* 1.414 5))) (setq p19 (polar p18 1.57 21))
(setq p20 (polar p19 (* pi 0.25) (* 1.414 5))) (setq p21 (polar p20 0 30))
(setq p22 (polar p21 (* pi 1.5) 7.5))
(setq p23 (polar p22 (* pi 1.75) (* 1.414 5))) (setq p24 (polar p23 0 25))
(setq p25 (polar p24 (* pi 1.5) 4))
(setq p26 (polar p25 (* pi 1.75) (* 1.414 3)))
(setq p27 (polar P26 0 27))
(setq p28 (polar p25 0 30))
(setq p29 (polar P28 0 12))
(setq p30 (polar p29 (* pi 1.5) 3)) (setq p31 (polar P3 0 73))
(setq p32 (polar P5 0 60))
(setq p33 (polar P22 0 60))
(setq p34 (polar P4 0 5))
(setq p35 (polar P6 pi 10))
(setq p36 (polar p24 0 30))
(setq p37 (polar P0 pi 65))
(setq p38 (polar P37 (* pi 0.5) 3)) (setq p39 (polar p37 (* pi 1.5) 15)) (setq p40 (polar p1 0 114))
(setq p41 (polar p40 (* pi 1.5) 12)) (setq p42 (polar p41 3.1416 7)) (setq p43 (polar p42 (* pi 1.5) 26)) (setq p44 (polar p43 0 69))
(setq p45 (polar p44 (* pi 1.5) d)) (setq p46 (polar p45 3.1416 69)) (setq p47 (polar p46 (* pi 1.5) 12)) (setq p48 (polar p47 3.1416 9)) (setq p49 (polar p48 (* pi 1.5) 4)) (setq p50 (polar P49 3.1416 6)) (setq p51 (polar P48 3.1416 6)) (setq p52 (polar P51 3.1416 10)) (setq p53 (polar P52 (* pi 1.5) 6)) (setq p54 (polar P53 3.1416 25)) (setq p55 (polar P52 3.1416 25)) (setq p56 (polar P42 3.1416 50)) (setq p68 (polar P41 0 10))
(setq p69 (polar P47 0 5))
(setq p70 (polar p0 (* pi 1.5) d)) (setq p71 (polar p70 0 125)) (setq p72 (polar p70 3.1416 125)) (setq p73 (polar p70 1.57 80)) (setq p74 (polar p70 (* pi 1.5) 75 )) (setq p75 (polar p70 0 34))
(setq p76 (polar p70 3.1416 34))
;圆心
(setq CP1 (polar p70 0 300)) (setq CP2 (polar p70 (* pi 1.5) 200)) (setq CP3 (polar CP1 0.7854 70)) (setq CP4 (polar CP2 1.57 65))
(setq P77 (polar CP1 0 88))
(setq P78 (polar CP1 3.1416 88))
(setq P79 (polar CP1 1.57 88))
(setq P80 (polar CP1 (* pi 1.5) 88 ))
(setq P81 (polar CP2 0 80))
(setq P82 (polar CP2 3.1416 80))
(setq P83 (polar CP2 1.57 80))
(setq P84 (polar CP2 (* pi 1.5) 80))
(setq p85 (polar CP3 3.927 6))
(setq p86 (polar CP4 2.356 2))
(setq P87 (polar CP3 0.7854 8))
(setq P88 (polar CP3 3.9270 8))
(setq p89 (polar CP4 1.57 4))
(setq p90 (polar CP4 (* pi 1.5) 4))
(setvar "osmode" 0) ;去除对象捕捉
;图层1
(command "layer" "m" 1 "c" 7 1 "L" "continuous" 1 "lw" 0.3 1 "")
(command "pline" p0 p1 p2 p3 "A" p4 "L" p5 p6 p7 "A" p8 "L" p9 "A" p10 "L" p11 p12 p13 p14 p15 p16 p17 "A" p18 "L" p19 "A" p20 "L" p21 P22 "A" P23 "L" P24 P25 "A" P26 "L" P27 "");外轮廓多段线
(setq pc1 (entlast));将多段线
(command "line" p34 p35 "")
(setq pc2 (entlast))
(command "pline" p40 p41 p42 p43 p44 p45 p46 p47 p48 p49 p50 p51 p48 p52 p53 p54 "") (command "arc" p43 p75 p46);三点圆弧代替相贯线
(command "arc" p21 "E" p6 "r" (+ 60 (- d 76)));圆弧
(command "line" p52 p55 "")
(command "line" p42 p56 "")
(command "line" p3 p31 "")
(command "line" p5 p32 "")
(command "line" p7 p20 "")
(command "line" p9 p18 "")
(command "line" p10 p17 "")
(command "line" p12 p15 "")
(command "line" p22 p33 "")
(command "line" p24 p36 "")
(command "line" p42 p56 "")
(command "pline" p28 p29 p30 "")
;画圆
(command "circle" CP1 (/ d 2) )
(command "circle" CP1 57 )
(command "circle" CP1 82.5 )
(command "circle" CP2 25 )
(command "circle" CP2 35 )
(command "circle" CP2 41 )
(command "circle" CP2 50 )
(command "circle" CP2 57 )
(command "circle" CP2 73 )
(command "circle" cp3 5.25 )
(setq pz1 (entlast))
(command "circle" cp4 1.65 )
(setq px1 (entlast))
;图层3
(command "layer" "m" 3 "c" 1 3 "L" "ACAD_ISO04W100" 3 "lw" 0.05 3 "")
(command "line" p71 p72 "")
(command "line" p74 p73 "")
(command "line" p77 p78 "")
(command "line" p79 p80 "")
(command "line" p81 p82 "")
(command "line" p83 p84 "")
(command "line" p87 p88 "")
(setq pz3 (entlast))
(command "pline" p89 p90 "")
(setq px3 (entlast))
(command "line" p38 p39 "")
(setq pc3 (entlast))
(command "mirror" pc1 pc2 pc3 "" p73 p74 "n");镜像
(command "circle" cp1 70 )
(command "circle" cp2 65 )
; 图层2
(command "layer" "m" 2 "c" 7 2 "L" "continuous" 2 "lw" 0.05 2 "")
(command "bhatch" "p" "ansi31" 2 0 p68 p69 "");填充
(command "arc" p85 "C" cp3 "A" 270)
(setq pz2 (entlast))
(command "arc" p86 "C" cp4 "A" 270)
(setq px2 (entlast))
(command "array" pz1 pz2 pz3 "" "p" CP1 4 360 "Y");阵列
(command "array" px1 px2 px3 "" "p" CP2 6 360 "Y")
)
Running results:
在CAD绘图面中,点击【管理】,选择【加载应用程序】,加载所编写的程序,如图3所示,需要加载文件【fa】【a】。

程序加载完成之后,在主界面输入命令【a】,在出现如图4所示对话框,输
入一个在60-80之间的数,确定。

在CAD绘图界面左键单击,生成所绘制的图像,结果如图5所示。

图3 加载应用程序
图4输入参数
图4 运行结果
Thought and suggestion
这次的报告,从一开始运行书本上的程序,到自己慢慢编模仿,然后查阅参考书自己编写,可以说是一个从无到有的过程,虽说只是学会了一些皮毛,但总归是自己一点点的做的。

由于时间的关系,并没有做好,而且本图的尺寸太多,在输入参数时如果设置太多最后画出来的图就会太乱,所以只设置了一个参数的输入。

在最后,我想对老师提一个建议,这个参数化建模并不一定需要在老师上完这一堂课才能布置。

我想,老师如果能够提前布置下来,而且给更多的时间,我
想,或许收获会更大。

相关文档
最新文档