- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用AutoLISP语言实现零件尺寸公差的自动标注
摘要:利用AutoCAD 提供的AutoLISP 语言编写了一个尺寸公差自动标注程序,应用该程序可自动检索以数据文件形式存贮的常用尺寸公差数值,实现尺寸公差的自动标注。1 引言尺寸公差的标注是应用AutoCAD进行机械设计时的一个重要内容。用text命令进行手工标注,不仅速度慢,而且容易出错;而通过对话框设定参数进行标注时,对每个不同的公差值都要设定一次,相当繁琐。此外,采用上述方法进行尺寸公差标注时常常需要翻阅设计手册,给设计带来很多不便。在AutoCAD为用户提供的AutoLISP语言、ADS、ARX等开发工具中,AutoLISP语言是一种简便易学的解释性语言,具有很强的数据表格处理功能,是开发AutoCAD的一种重要手段。因此笔者利用AutoLISP语言编写了一个尺寸公差自动标注程序,设计时只需选择基本尺寸和公差带代号即可自动标注尺寸公差,避免了翻阅手册的繁琐,可显著提高标注尺寸公差的速度和准确性。 2 公差值数据的存贮在公差标注过程中,由于标准公差值取决于基本尺寸和公差等级,基本偏差则取决于基本尺寸和基本偏差代号,因此对于一定的基本尺寸而言,根据基本尺寸、公差等级和基本偏差代号查询出公差大小以及公差带的位置是实现自动标注的关键。 首先根据标准公差数值和基本偏差表定义三个数据文件data1、data2、data3,并以“.txt”为文件名保存。data1代表孔的基本偏差表,data2代表轴的基本偏差表,data3代表标准公差表。标准公差表的数据文件(data3.txt)格式如图1。 在数据文件data3中,若基本尺寸为15mm,公差等级为6,则其标准公差为0.011。因查询函数是以字符位置获取公差值,公差数值表应对位整齐,否则所获取的公差值将出错(需要说明的是,孔、轴的公差值数据是两个数据文件,在标注孔、轴的公差时应调用相应的数据文件)。
图1 标准公差表的数据文件(data3. txt)格式IT01 IT00 IT1 IT2 IT3 IT4 IT5 IT6 IT7 (本行实际文件中没有)(0.0003 0.0005 0.0008 0.0012 0.002 0.003 0.004 0.006 0.010 …); dimt0~3mm(0.0004 0.0006 0.001 0.0015 0.0025 0.004 0.005 0.008 0.012 …); dimt3~6mm(0.0004 0.0006 0.001 0.0015 0.0025 0.004 0.006 0.009 0.015 …); dimt6~10mm(0.0005 0.0008 0.0012 0.002 0.003 0.005 0.008 0.011 0.018 …); dimt10~18mm……3 公差数值的查询为了自动查询出所需的公差数值而编制了两个函数。首先用record()函数检索出数据文件中符合基本尺寸(dimt)范围的数据行,用read()函数将该行中所有值赋给相应的变量h1。如要查询data3中的标准公差值,当获取的基本尺寸为15mm时,得到的数据行号为4,该行上的数值全部赋给hi,程序如下:
(defun read(record fname) (setq fp(open fname“r”)) (if( = fp nil) (alert“not open datatxt!”) (progn (repeat record(setq h(read(read-line fp)))) (setq n(length h)) (setq b’()i 1) (while( (setq b(append b(list(read(strcat“h”(itoa i)))))) (setq i(1 + i)) ) (setq i 0) (while( (setq name(nth i b)value(nth i h) ) (set name value) (setq i(1 + i)) ) (close fp) ))
)
*********************
(defun record(dimt)( cond(( ((and( dimt 3)( ((and( dimt 6)( ((and( dimt 10)( ……;因篇幅所限,以下数行略 )
) 根据给定的公差等级和公差带代号即可从数据文件中查询出标准公差数值和基本偏差数值,然后再根据公差带代号判断所得基本偏差是上偏差还是下偏差。例如,若标注轴公差,则公差带代号为a~h时的基本偏差为上偏差,公差带代号为k~zc时基本偏差为下偏差;若公差带代号为j(jc),则上下偏差相等,根据标准公差值可计算出上偏差或下偏差值。 4 公差的自动标注在标注公差时,首先应根
您可能关注的文档
最近下载
- 四年级上册语文知识竞赛试卷及答案.pdf VIP
- 食材食品分拣区作业管理.docx VIP
- 李鲁-卫生事业管理(第二版)第17章医学科教管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第16章中医药管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第15章药品监督管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第14章妇幼卫生管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第12章公共卫生管理.pptx VIP
- 《国际贸易(第三版)》课后参考答案 李丹 崔日明.pdf VIP
- 李鲁-卫生事业管理(第二版)第11章医政管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第9章卫生信息管理.pptx VIP
原创力文档


文档评论(0)