实例介绍
采用LISP语言进行CAD二次开发编程案例,通俗易懂。
计算机辅助设计课程设计说明书 第3页共16页 二、总体设计 1、实现的方法和主要技术路线 首先用 AutoCaD绘制出阀休的二维工程视图,再参照二维工程视图,用 AutoCaD 的高级语言 Auto lisp语言编写程序,实现对阀体的参数化设计。编完程序,并修改正 确后,用户可在ⅵ isual lisp集成开发环境中,也可以在 AutocaD环境中加载、运行 Auto lisp程序。其实现介绍如下: 1)一旦在ⅵ isual lis的文本编辑器中编写了程序或打开已有的程序就可以加载并 运行了。运行时需在控制台窗口中,在$提示符后输入用括号括起来的函数名 后按Fner键目可。 2)在 Visual lisP集成开发环墩中编写 Auto lisp程序并加载、运行证明程序上俯 后,就可以脱离ⅵ isual lisP环境,在 Autocad环境中运行了。 2、绘制二维工程图 技术要求 L辑 民寸r 阀体:m 園广0.北碰0, 河北 大 学 减 0453 E2 4↓ 图1二维工程图 计算机辅助设计课程设计说明书 第4页共16页 3、程序流程图 定义函数(函数名24hg 设定合适图幅参数 图框及标题栏设置 设置需求的视图参数 绘制主视图、左视图及俯视图 剖面填充、尺寸标注、粗糙度及标注 图2程序框图 计算机辅助设计课程设计说明书 第5页共16页 、详细设计 AutoCaD二次开发的应用之 典型零件的参数化设计在产品设计中发挥了越 来越大的优势,而参数化设计的重要环节是程序的編写,其在设计开发中占要想当大的 比重,是参数化设计的核心,是整个设计任务的最精华的部分。现将本次开发阀体的参 数化设计的程序的详细设计作如下介绍: 定义函数名 例如: (defun c:24hg()) 2、设置图层 根据所选的阀体工程图,需建立中心线、粗实线、细实线、标注线四个图层, 分别定义其层名、线型、线宽、颜色,实现方法是在 Auto lisp中调用 AutoCAD的 图层命令,命令格式举例如下: ( command"aver""n""中心线""c"4"中心线""l"" center""中心线""lw"0.3"中 心线"") ( command" layer"n'"粗实线""c"7"粗实线""T" continuous""粗实线""lw"0.6 粗实线") ( command" laver""n""细实线""c"1"细实线"" continuous""细实线""lw"O.3 细实线"" ( command"aver""n""标注线""c"3"标注线""I"" continuous""标注线""w"0.3 标注线"") 画不同的线型时需调用其对应的图层,其调用有多种命令,现提供两种可供参考, 命令如下: comman d" layer"s""细实线"" ( command" layer"s"粗实线"") ( command"ayer"n"标注线"" ( command" layer"n""中心线" 计算机辅助设计课程设计说明书 第6页共16页 3、设定参数 为得到不同的阀体结构,可设定阀体的总长L、总高H、总宽W、进油口内径d1l、出油 ∏内径d2等参数。其命令格式可参考下例: ( sctq d1( genral"hn输入进油口内径<15>:") 而对不合理的参数可用i语句来判定并给与提示,其实现命令格式如下: ( setg dl( cereal"Ⅶn输入进油口内径<15>:") ( setq d2( cereal"Ⅶn输入出油冂内径(15>:")) (if d1 (distance z3 z 4)) (princ ok") (setq dl (*k (distance z3 z4)(/15 400)) (if ( d2 (distance z11 212) (princ "ok") (setq d2 (k (distance z11 z12)(/15 30))) 4、由参数选择合适作图图框并填写标题栏 叫由参数选择最合适图框,用户输入参数后由讠算札再根据参数按比例处理。图框 的绘制可用绘制四边形的命令来实现,且全屏显示如: command" layer""s""细实线"") ( setq width( actral"hn输入图幅宽度(297):") ( setq highty( cereal"hn输入图幅高度(210):") ( command" limits"(00)p0"∠oom"a");全屏显示 (command""(00) pO ( command"ofet"5"p0"@-20,20”"") 而标题栏的绘制可用直线及偏移命令来实现例如: (command"line"p5 p6 p7") (command"offset"20 p9 p4") (command"offset"45 p9 p4) 计算机辅助设计课程设计说明书 第7页共16页 (command"offset"15 p8 p3") (command"offset"30 p8 p3) (command" offset"55 p8 p3) (command"line"p4 p3 (command"line"p9"(@-60,0 (command"line"p8"(55,0") 标题栏填写之前须对文字样式进行定义及转化可由如下命令实现: (command"style"hz""WiN_GB2312 7070"n""n""n") 标题栏文字的填写可用如下命令 (command"style""hz"1J7_GB2312 7070"n""n""n") command"mtext"pI""mc "p6""") (command"mtext"p5 h"4"j""mc""@15,-8Ek bI"") ( ommand" mtext"p8"h"4"i""me""@15,-8""1:1"") (command"mtext"from" p5"@15,0"h"4"j""mc"@15, 8 "3X ir "") 5、绘制俯视图 为得到合理的视图布局,可俯视图画起,取其冖间圆心的点(fO来确定,再确定工程各视 图上的基点(z0),可由卜述程序实现: (setq pIo(o (setq xI((90 width)297) yl((48 highty)210) (setq lo(polar (list 00)(angle(list 0o)(list xl yl))(disLance( 00)(list xl yl) 再由该基点定义主、左视图上各个点,为了占便,对对称的图形可定义一半的点, 再由镜像来完成另一半,例如程序 (command"line"f7 f6") (command line"f6 f5 (command line" f8 f9) (command"line"f9 f10") 计算机辅助设计课程设计说明书 第8页共16页 (command"line "f10 f12") (command"line"[12 fI) (command line"fI f2) (command"line"f1l f10") ( command" layer""s""粗实线"" (command"circle"f0( 51)118))o 对于作图过程中多余的辅助边要及时剪切,例如:剪切771边,有如下程序 command"arc"f4" flr"(w2) (command"arc"f"e"f2"I"((23 w)56)) ( setq f61(polar f705)) (setq f31(polar f0( pi 4)(/ w 2)) (command"trim" f61) 6、添加倒圆 添加过渡圆角要选择合适的线上点,不取交点和二异点。过程可参下: (setq clot(polar cl0(-05 pi)5) (setq cal(polar c8(0.5 pi)5)) 91(polarc905) (command"filletr3filletc8l cyl) (command"fillet""r"3 fillet"c91 clOd) 7、绘制主视图 主视图及左视图的绘制与俯视图相同,主要是选取的主视图基点要和俯视图联系, 达到等比例联系变化,例如:( setq ZI@ polar f0(*0.5pi)(+(*0.5w)15)) 并再次设置参数,程序为: ( setq dI( efren"n输入进油口内径<15>:") (seqd2( cereal"n输入出油口内径<15>:") (if(< dI (distance z3 z4)) (princ"ok ") 计算机辅助设计课程设计说明书 第9页共16页 (setq dI((distance 23 24)(/15 40)) (if(< d2(distance z1I zI2)) "ok (setq d2((distance z11 712)(1530))) 8、绘制左视图 左视图的绘制与俯视图近似相同,主要是选取的左视图基点要和主视图联系,达到 等比例联系变化,例如: 取点命令 ( setq cl( polar zl0(+((*881)118)(w2)) (setq c2(polar cl pi(/w 2))) (setq c3(polar c2(/ pi 2)h)) (setq c4(polar c30 (w2))) tq c5(polar c40(w2)) (setq cb(polar c5(:-05 pi)h)) tq c7(polar cl( pi 2)/(70 h)105))) 8(poac7pi((*20w)56) qc( pular ea8(pi2)((*20h)105) (setq cIo( 9((*40w)56) 画线命令: ( ommand" layer""s""粗实线 (command" line"cl c2 c3 c5 c6cI (comMand line"c8c9cl0cll (command"line"c14cI5) (command"linc"c16 c13 (command"line"c14c13 (command"arc"c8e" r"((20 w)56) (command"circle"c7(dI 2) 并再次使用剪切命令: 计算机辅助设计课程设计说明书 第10页共16页 ( setq c151(polar c15 (-0.5 pi) 2)) (selq cl6l(polar cl6(*-05 Pi)2)) (setq clll (polar c7(-025 pi)(( 20 w)56))) (command"trim"clllc151 (command"trim"clllc161) 9、剖面填充 程序的编写参考∫ AutocAD的命令,先设定若干参考点,冉由参考点偏栘得钊填充 面域的内部点进而选中所要填充的剖面,主要是选择图形一定要闭合设置,其实现由下 列所示: command" layer"s"细实线"" (setq pp l(polar z2( pi 4)5)) (setq pp2 (polar z24(pi 4)2)) (setq pp3(polar z16(pi 4)5)) (setq pp4(polar z22(pi 4)2)) (command"bhatch""p""""ppl pp2 pp3 pp4 10、添加螺纹 设置蜗纹可以用连点法,也可以用画矩形命令。但前者较好,因为螺纹一般要在剖面线 后加(为了違免剖面线不能填充),用后者也不能用镜像命令。例如程序: ( command" layer"s"细实线") (coMmand"rectang 224 233) (setq z34 (polar z33(-05 pi)(+dI 2)) (command"rectang Z34 z25 ( command" layer"s"粗实线") (command"line"734 733) 11、尺寸标注 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论