AUTOCAD关于Lisp语言的二次开发的实验报告.docx
- 文档编号:5582190
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:17
- 大小:48.71KB
AUTOCAD关于Lisp语言的二次开发的实验报告.docx
《AUTOCAD关于Lisp语言的二次开发的实验报告.docx》由会员分享,可在线阅读,更多相关《AUTOCAD关于Lisp语言的二次开发的实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
AUTOCAD关于Lisp语言的二次开发的实验报告
AUTO-CAD关于Lisp语言的二次开发的实验报告
CAD/CAM综合实验报告
CAD/CAM综合实验
一、实验目的:
CAD/CAM是一门多学科综合性应用新技术,发展十分迅速,应该十分广泛。
CAD/CAM综合性实验是要针对一种具体的CAD软件通过二次开发了解从参化设计到菜单设计到对话框
定义和驱动的全过程。
实验项目要求在此基础上进行零件类的应用程序设计,在这一过程中,
了解相关软件开发环境和程序设计的一般过程。
本综合性实验选用了AutoCAD软件进行高级应用开发,利用其内部嵌入的LISP语言环境,进行参数化设计,并完成相关的界面设计和驱动。
1.加深对讲授内容的理解,掌握计算机辅助设计的重要方法;
2.了解和熟悉机械CAD技术所能完成的主要工作和手段;
3.学会如何在该系统上编辑AutoLISP程序,如何在AutoCAD中调用、调试和运行AutoLISP程序,并通过运行AutoLISP程序,初步了解AutoLISP程序的特点;
4.掌握参数化设计的一般方法和基本步骤,加深对参数化设计的一般要求的理解,体会参数
化程序在CAD中的重要性;
5.掌握AutoCAD对话框的组成和AutoCAD对话框构件的属性,熟悉DCL对话框设计原则与规范,通过对常用轴段的对话框设计,加深对DCL的理解和运用;6.掌握对话框驱动程序及图形参化程序驱动程序的设计;
7.学会上机调试程序。
二、实验内容:
1.内六角圆柱头螺钉(GB/T70.1—20000)的参数化设计;
2.十字槽沉头螺钉(GB/T819.1—2000)的参数化设计。
三、内六角圆柱头螺钉的设计
1.通过分析得知可以以螺钉的直径d和长度l作为设计的主要参数,参数图样如下:
2.
1采用点击菜单后出来对话框的形式,从而选择主要参数,其它参数在程序中设定。
3.CAD/CAM综合实验报告
(defundraw_ld()
(cond((and(=d3)(>=l18)(<=l30))(setqp0.5b18dk5.5k3t11.3s2.5e2.87r0.1))
((and(=d4)(>=l20)(<=l40))(setqp0.7b20dk7k4t12s3e3.44r0.2))
((and(=d5)(>=l22)(<=l50))(setqp0.8b22dk8.5k5t12.5s4e4.58r0.2))
((and(=d6)(>=l24)(<=l60))(setqp1b24dk10k6t13s5e5.72r0.25))
((and(=d8)(>=l28)(<=l80))(setqp1.25b28dk13k8t14s6e6.86r0.4))
((and(=d10)(>=l32)(<=l100))(setqp1.5b32dk16k10t15s8e9.15r0.4))
((and(=d12)(>=l36)(<=l120))(setqp1.75b36dk18k12t16s10e11.43r0.6))
((and(=d14)(>=l40)(<=l140))(setqp2b40dk21k14t17s12e13.72r0.6))
((and(=d16)(>=l44)(<=l160))(setqp2b44dk24k16t18s14e16.00r0.6))
((and(=d20)(>=l52)(<=l200))(setqp2.5b52dk30k20t110s17e19.44r0.8))
(t(alert"不存在此类螺栓!
")(exit)))
(setqp0(getpoint"\n请输入基点:
"))
(setqang(getangle"\n请输入旋转角:
"))
(setqp1(polarp0(+ang(*0.5pi))(/dk2.0))
p2(polarp1(+angpi)k)
p3(polarp0(+angpi)k))
(setqp4(polarp3(+ang(*0.5pi))(/e2.0))
p5(polarp4angt1)
p8(polarp3angt1)
p6(polarp8(+ang(*0.5pi))(*e0.25))
p7(polarp3(+ang(*0.5pi))(*e0.25))
p9(polarp0(+ang(*0.5pi))(/d2.0)))
(setqp10(polarp9ang(-lb))
p12(polarp10(+ang(*1.5pi))(/d2.0))
p11(polarp12(+ang(*0.5pi))(*(/d2.0)0.85))
p14(polarp11angb)
p15(polarp12angb)
p16(polarp15(+angpi)(*0.15d))
p13(polarp16(+ang(*0.5pi))(*0.5d)))
(setqp17(polarp15ang(*1.5dk)))
(setqp18(polarp17(+ang(*0.5pi))(/e2.0)))
(setqp19(polarp17(+ang(*0.83pi))(/e2.0)))
(setqp20(polarp17(+ang(*1.17pi))(/e2.0)))
(setqp21(polarp17(+ang(*1.5pi))(/e2.0)))
(setqp22(polarp17(+ang(*1.83pi))(/e2.0)))
(setqp23(polarp17(+ang(*0.17pi))(/e2.0)))
(setqr(*0.5dk))
(setqpc1(polarp15angk)
pc2(polarp3(+angpi)k))
(setqpc3(polarp17(+angpi)(*0.8dk))
pc4(polarp17ang(*0.8dk))
pc5(polarp17(+ang(*0.5pi))(*0.8dk))
2
CAD/CAM综合实验报告
pc6(polarp17(+ang(*1.5pi))(*0.8dk)))
(setvar"osmode"0)
(command"layer""s""中心线""")
(command"line"pc1pc2"")
(command"line"pc3pc4"")
(command"line"pc5pc6"")
(command"layer""s""粗实线""")
(command"pline"p0p1p2p3"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"pline"p9p13p14p15"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"pline"p10p12"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"pline"p13p16"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"circle"p17r"")
(command"pline"p18p19p20p21p22p23p18"")
(command"layer""s""细实线""")
(command"line"p11p14"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"layer""s""虚线""")
(command"pline"p4p5p6p7"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"line"p6p8"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
)
4.对话框程序如下:
ld:
dialog{label="内六角圆柱头螺钉";
:
column{:
boxed_column{label="图例";
:
image{key="lld";width=60;aspect_ratio=0.5;color=0;}}
:
boxed_row{label="螺钉参数";
:
popup_list{label="螺钉参数"d:
";list="M3\nM4\nM5\nM6\nM8\nM10\nM12\nM14\nM16\nM20";key="zhijin";width=16;fixed_
width=true;}
:
popup_list{label="螺栓长度l:
";list="5\n6\n8\n10\n12\n16\n20\n25\n30\n35\n40\n45\n50\n55\n60\n65\n70\n80\n90\n100\n110\n13
CAD/CAM综合实验报告
20\n130\n140\n150\n160\n180\n200";key="changdu";width=16;fixed_width=true;}}}
:
row{width=60;fixed_width=true;height=4;ok_button;spacer;
:
text{label="第一组(GB/T70.1--2000)";}cancel_button;}}
对话框预览如下:
5.
整个驱动程序如下:
(defunc:
ld()
(setqload_id(load_dialog"ld1.dcl"))
(if(<=load_id0)(alert"\n加载失败!
")
(progn(setqdisp_id(new_dialog"ld"load_id))
(if(notdisp_id)(alert"\n无法正常显示对话框!
")
(progn(action_tile"accept""(get_date)(done_dialog1)")
(action_tile"cancel""(done_dialog0)")
(showslide)
(setqstart_id(start_dialog))
))))
(if(=start_id1)(draw_ld)(unload_dialogload_id))
);
(defunget_date()
(setqid1(atoi(get_tile"zhijin")))
(setqzj_list(list"3""4""5""6""8""10""12""14""16""20"))
(setqd(atof(nthid1zj_list)))
(setqid2(atoi(get_tile"changdu")))
(setqcd_list(list"5""6""8""10""12""16""25""30"
"35""40""45""50""55""60""65""70""80""90""100"
4
CAD/CAM综合实验报告
"110""120""130""140""150""160""180""200"))
(setql(atof(nthid2cd_list))));
(defunshowslide()
(start_image"lld")
(setqmaxx(dimx_tile"lld")maxy(dimy_tile"lld"))
(fill_image200maxxmaxy-2)
(slide_image200maxxmaxy"ld.sld")
(end_image));
(defundraw_ld()
(cond((and(=d3)(>=l18)(<=l30))(setqp0.5b18dk5.5k3t11.3s2.5e2.87r0.1))
((and(=d4)(>=l20)(<=l40))(setqp0.7b20dk7k4t12s3e3.44r0.2))
((and(=d5)(>=l22)(<=l50))(setqp0.8b22dk8.5k5t12.5s4e4.58r0.2))
((and(=d6)(>=l24)(<=l60))(setqp1b24dk10k6t13s5e5.72r0.25))
((and(=d8)(>=l28)(<=l80))(setqp1.25b28dk13k8t14s6e6.86r0.4))
((and(=d10)(>=l32)(<=l100))(setqp1.5b32dk16k10t15s8e9.15r0.4))
((and(=d12)(>=l36)(<=l120))(setqp1.75b36dk18k12t16s10e11.43r0.6))
((and(=d14)(>=l40)(<=l140))(setqp2b40dk21k14t17s12e13.72r0.6))
((and(=d16)(>=l44)(<=l160))(setqp2b44dk24k16t18s14e16.00r0.6))
((and(=d20)(>=l52)(<=l200))(setqp2.5b52dk30k20t110s17e19.44r0.8))
(t(alert"不存在此类螺栓!
")(exit)))
(setqp0(getpoint"\n请输入基点:
"))
(setqang(getangle"\n请输入旋转角:
"))
(setqp1(polarp0(+ang(*0.5pi))(/dk2.0))
p2(polarp1(+angpi)k)
p3(polarp0(+angpi)k))
(setqp4(polarp3(+ang(*0.5pi))(/e2.0))
p5(polarp4angt1)
p8(polarp3angt1)
p6(polarp8(+ang(*0.5pi))(*e0.25))
p7(polarp3(+ang(*0.5pi))(*e0.25))
p9(polarp0(+ang(*0.5pi))(/d2.0)))
(setqp10(polarp9ang(-lb))
p12(polarp10(+ang(*1.5pi))(/d2.0))
p11(polarp12(+ang(*0.5pi))(*(/d2.0)0.85))
p14(polarp11angb)
p15(polarp12angb)
p16(polarp15(+angpi)(*0.15d))
p13(polarp16(+ang(*0.5pi))(*0.5d)))
(setqp17(polarp15ang(*1.5dk)))
(setqp18(polarp17(+ang(*0.5pi))(/e2.0)))
(setqp19(polarp17(+ang(*0.83pi))(/e2.0)))
(setqp20(polarp17(+ang(*1.17pi))(/e2.0)))
(setqp21(polarp17(+ang(*1.5pi))(/e2.0)))
(setqp22(polarp17(+ang(*1.83pi))(/e2.0)))
5
CAD/CAM综合实验报告
(setqp23(polarp17(+ang(*0.17pi))(/e2.0)))
(setqr(*0.5dk))
(setqpc1(polarp15angk)
pc2(polarp3(+angpi)k))
(setqpc3(polarp17(+angpi)(*0.8dk))
pc4(polarp17ang(*0.8dk))
pc5(polarp17(+ang(*0.5pi))(*0.8dk))
pc6(polarp17(+ang(*1.5pi))(*0.8dk)))
(setvar"osmode"0)
(command"layer""s""中心线""")
(command"line"pc1pc2"")
(command"line"pc3pc4"")
(command"line"pc5pc6"")
(command"layer""s""粗实线""")
(command"pline"p0p1p2p3"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"pline"p9p13p14p15"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"pline"p10p12"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"pline"p13p16"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"circle"p17r"")
(command"pline"p18p19p20p21p22p23p18"")
(command"layer""s""细实线""")
(command"line"p11p14"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"layer""s""虚线""")
(command"pline"p4p5p6p7"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
(command"line"p6p8"")
(setqss(entlast))
(command"mirror"ss""pc1pc2"")
);
四、十字槽沉头螺钉的设计
1.
通过分析得知可以以螺钉的直径d和长度l作为设计的主要参数,参数图样如下:
6
CAD/CAM综合实验报告
2.
用对话框来实现,并采用下拉列表选择两个主要参数螺钉直径d和螺钉长度l,其它的参数在
驱动程序中设定。
3.
绘制螺钉的程序
(defundraw_hld()
(setqp0(getpoint"\n请输入基点:
"))
(setqang(getangle"\n请输入旋转角:
"))
(setqp1(polarp0(+ang(*0.5pi))(/dk2.0))
p2(polarp1ang(*0.07dk))
p3(polarp0ang(*0.07dk)))
(setqp4(polarp3(+ang(*0.5pi))(/m2.0))
p5(polarp0angk)
p6(polarp0angcs)
p7(polarp5(+ang(*0.5pi))(*d0.5))
p8(polarp5anga)
p9(polarp8(+ang(*0.5pi))(*(/d2.0)0.85))
p10(polarp8(+ang(*0.5pi))(/d2.0)))
(setqp11(polarp0angl)
p12(polarp11(+ang(*0.5pi))(*(/d2.0)0.85))
p13(polarp11(+ang(*0.5pi))(/d2.0)))
(setqp14(polarp11ang(*1.5dk))
p15(polarp14(+ang(*0.75pi))(*m0.5))
p16(polarp14(+ang(*1.25pi))(*m0.5))
p17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AUTOCAD 关于 Lisp 语言 二次开发 实验 报告