ImageVerifierCode 换一换
格式:PDF , 页数:4 ,大小:187.86KB ,
资源ID:3127552      下载积分:2 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/3127552.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(新增标注粗糙度工具.pdf)为本站会员(a****2)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

新增标注粗糙度工具.pdf

1、用用 VisualLISP 开发开发 AutoCAD 表面粗糙度标注工具表面粗糙度标注工具 汪国荣(中国南车集团眉山车辆厂铸锻公司,四川,眉山,620032)摘 要 首先对嵌入在 AutoCAD 系统内的 LISP 语言特点作了简要介绍,然后详细地介绍了如何利用 LISP 语言编写和调用表面粗糙度标注程序,来增强 AutoCAD 系统功能。关键字 表面粗糙度;AutoCAD;LISP 语言;函数;绘图 0、前言、前言 AutoCAD 是美国 Autodesk 公司 1982 年推出的微机交互式图形系统,通过 20 多年的发展,其功能得到了很大的扩展和增强,已是目前最流行的计算机辅助设计软件之一

2、,它以其强大而又完善的功能以及方便、快捷的操作在机械、建筑和工程设计领域中得到了广泛应用,但遗憾的是在该系统中未提供表面粗糙度的标注功能,这给经常绘制金属零件加工图的工程人员带来不便。不过,利用捆绑在 AutoCAD(R14 以后的版本)中的 VisualLISP 集成开发环境进行 LISP 语言二次开发,可以帮 AutoCAD 系统实现粗糙度标注功能。1、LISP 语言简介语言简介 1986 年,Autodesk 公司 为 了 便于 用 户 在AutoCAD 基础上作二次开发,形成专业化的计算机辅助设计系统,自 R2.18 版本开始,Autodesk公司在 AutoCAD 内部嵌入了 Aut

3、oLISP 语言,并采用了与标准的 LISP 语言最为相近的语法和约定,同时还扩充了许多适用于 CAD 应用和专用功能。形成了能在 AutoCAD 系统内以解释方式运行的函数求值型语言。随着计算机软硬件技术的飞速发展,AutoLISP 由于缺乏集成开发环境,源程序只能在一般文本编辑软件上编辑,不具备其他语言常用的跟踪、断点、单步等程序调式手段,已不能适应 AutoCAD 环境下的较大型用户化CAD 应用系统开发,因此 Autodesk 公司不断地推出新的开发系统,从 R11 开始推出 ADS,从 R13开始推出 ARX,但都是基于 C 语言的开发环境,用户不易在短期内掌握。终于在 1998 年

4、 3 月,Autodesk 公司从 R14 开始推出新一代可视化 LISP编程软件VisualLISP。2、编写标注表面粗糙度的编写标注表面粗糙度的 LISP 程序程序 1)编程绘图的基本思路 、定义点坐标。如图 1 所示,首先按照国标GB/T 131-96 对表面粗糙度符号的规定,以用户输入的第一点(PB1B)为基点,线段PB1BPB2B与水平线成60 度,定义表面粗糙度符号各端点的坐标,相关线段的角度和长度。、绘出粗糙度基本图形。已知各点的坐标,利用绘图函数(pline)绘出粗糙度符号的初始图形。、求出旋转角度。如图 1 所示,以PB1B为基点,用户鼠标指针在屏幕上的坐标点为P,利用求角度

5、函数(getangle)可以求线段PB1BP与水平线的倾角,即求得粗糙度基本图形旋转的角度。、求得文本放置对角线坐标。根据旋转角,利用求极坐标函数(polar)求出放置粗糙度数值文本的对角线坐标点txt_pB30B和txt_pB4B。、旋转图形。利用绘图函数(rotate)将起初绘好的粗糙度基本图形旋转角度、填写粗糙度数值。已知txt_pB4B和txt_pB30B对角坐标,以及旋转角度,利用文本函数(Mtext),绘出表示粗糙度数值的文本。以上是编程绘图的基本思路,当然具体编程不会这么简单,因为粗糙度的标注有三种情况,每种情况的粗糙数值又不同。表示粗糙度数值的文字方向又有两种情况,因此要利用条

6、件函数将不同情形区分开来,分别处理,才能保证程序更加完善。2)运行 VisualLISP 软件和保存 LISP 文档 11.p 3.txt_p 30.txt_p 4p 1p(x,y)30p 42图 1 标注粗糙度编程原理图 编写LISP程序,首先运行AutoCAD,然后依次打开“工具(UTU)”“AutoLISP(USU)”“Visual LISP 编辑器”,在VisualLISP菜单栏打开“文件(UFU)”“新建文件(UNU)”,系统将打开一个未命名的空白LISP文档,进入编辑状态,可在编辑器内输入LISP源程序,如图 2 所示。程序输入完毕后,在菜单栏打开“文件(UFU)”“保存文件(US

7、U):”,出现“另存为”对话框,在“保存在(UIU)”所对应的目录列表框内选取AutoCAD系统目录,确保LISP文件保存在AutoCAD目录下。在“文件名(UNU):”对应的文本框内输入“ACAD”,在“文件类型(UTU):”所对应的下拉式组合框内选取“LISP 源文件”,最后点击“保存(USU):”按钮完成文件保存,如图 3 所示。3)编写 LISP 程序(defun C:roughness()(setvar osmode 15359)(set pt1(getpoint n请确定要标注表面粗糙度起始点位置:)(setvar osmode 0)(set ang_pt4(/pi 3)(set

8、ang_pt3(*pi 0.66667)(set ang_circle(/pi 2)(set distance_p1_p2 12.7017)(set distance_p1_p34 5.7735)(set distance_p1_circle_center 3.33333)(set radius_center 1.66667)(set distance_p1_p3040 11.3725)(set ang_pt40 1.31415)(set ang_pt30 1.82744)(set pt2(polar pt1 ang_pt4 distance_p1_p2)(set pt3(polar pt1

9、ang_pt3 distance_p1_p34)(set pt4(polar pt1 ang_pt4 distance_p1_p34)(set rough_type(getstring n 请选择表面粗糙度符号:去除材料(1)/不去除材料(2)/任何方法(3)(击回车键表示选“1”):)(if (or(=rough_type 1)(=rough_type)(setq rough(getstring n请键入表面粗糙度数值(击回车键表示数值 6.3):)(setq rough(getstring n请键入表面粗糙度数值(击回车键表示无数值):)(if(and(=rough)(or(=rough_

10、type 1)(=rough_type)(setq rough 6.3)(if(or(=rough_type 1)(=rough_type)(setq l1(command pline pt2 w 0.08 0.08 pt1 pt3 pt4)(if(or(=rough_type 2)(=rough_type 3)(setq l1(command pline pt2 w 0.08 0.08 pt1 pt3 )(setq line1(entlast);求旋度 (setvar osmode 15359)(setq rotate_ang(getangle pt1 n请确定表面粗糙度符号旋转角度(起始点

11、到鼠标坐标点所成矢量的角度):)(setvar osmode 0)(if(=orthomode 1)(command ortho off)(command rotate line1 pt1(rad_degree rotate_ang d)(set txt_pt4(polar pt1(+rotate_ang ang_pt4)distance_p1_p34)图 2 VisualLISP 开发环境 图 3 保存文件对话框 (set txt_pt30(polar pt1(+rotate_ang ang_pt30)distance_p1_p3040)(set circle_center(polar pt

12、1(+rotate_ang ang_circle)distance_p1_circle_center)(if(and(-rotate_ang(/pi 2)0)(=(-rotate_ang(/pi 2)pi)(setq txt_angle(+rotate_ang pi)(setq txt_angle rotate_ang)(if(/=rough)(command mtext txt_pt4 r(rad_degree txt_angle d)j mc txt_pt30 rough)(if(=rough_type 3)(command circle circle_center radius_cent

13、er)(setvar osmode 15359)(set pt1 nil)(。)(defun rad_degree(a k)(if(=k d)(setq a1(/(*a 180)3.1415)(setq a1(*(/a 180)3.1415)4)调用 LISP 程序 、使 AutoCAD 自动装载 LISP 程序 当用户运行AutoCAD时,ACAD.LSP文件将自动加载到用户打开的第一个图形文件中,为了确保用户在打开每一个图形文件时AutoCAD都装载ACAD.LSP,可在AutocAD系统命令行输入系统变量“TACADLSPASDOC”,使其值为T1,或者进行系统选项设置:用鼠标在菜单栏选

14、取“工具(UTU)”“选项(UNU)”,选取“系统”属性卡,如图 4 所示,在“基本选项”栏里复选“每个图形均加载 Tacad.lspT”。进入AutoCAD系统后,roughness就成了系统命令,可以在命令行输入此命令随时调用粗糙度标注程序,然而,每次使用时都要手工输入命令,太繁锁,因此有必要将该命令与工具栏按钮建立关联。、自定义与 LISP 程序相关联的按钮 用鼠标选取“工具(UTU)”“自定义(UCU)”“工具栏(UTU)”,选取“命令”卡片,在左栏中的“分类(UGU)”列表框内选取“用户定义”,在右栏中的“命令(U0U)”列表框里选取“用户定义的按钮”,并将其拖放到“标注”工具条上。

15、点击刚拖放的空白按钮,出现如图 5所示的属性页,点击“编辑”按钮,通过“按钮编辑器”绘制一个表示粗糙度的图案,然后在“与 此 按 钮 关 联 的 宏”栏 里 输 入“CC_roughness”,点击“应用”按钮即可完成自定义按钮的关联设置。用户自定义按钮的使用 当完成了自定义按钮的关联设置后,新增按钮就成了系统新的工具,用鼠标点击它,系统会立即调用粗糙度标注程序,相当方便实用。3、结束语 有了 VisualLISP 集成开发环境,大大方便了AUTOCAD 用户和 LISP 语言爱好者,大家可以充分发挥自己的才智,开发出更多、先进的绘图工具、程序和 CAD 系统,供大家互相学习和交流,共同推动我国 CAD 水平不断提高。图 5 按钮特性设置 图 4 系统选项设置 参考文献 1 孔宪庶、刘仁杰,计算机绘图,辽宁科学技术出版社,1996 年 6 月 附:作者简介:汪国荣(1973),男,湖南衡山人,工程师,1999 年毕业于大连铁道学院材料科学与工程系塑性成形工艺及设备专业,工学学士,现从事锻压设备维修技术与管理工作。联系方式:1、Email:W 2、Tel:0833-8503158(办),0833-8355359(小灵通)

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2