欢迎来到天天文库
浏览记录
ID:62039624
大小:555.00 KB
页数:7页
时间:2021-04-16
《在AutoCAD中基于LISP程序简易标注粗糙度.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途在AutoCAD中基于AutoLISP程序简易标注粗糙度陕西关中工具制造有限公司 (陕西凤翔721400)张科岐王建卫对经常使用AutoCAD绘制二维机械图的用户来说,标注表面粗糙度是一件烦琐的事情。常用的方法是先画好粗糙度的符号,再将粗糙度值定义为属性,最后将符号和粗糙度定义为块。标注时插入这个块,按提示输入粗糙度值完成。笔者结合自己在工作中的实际经验,利用AutoCAD提供的AutoLISP程序二次开发功能编写了一个粗糙度标注程序。使用该程序标注粗糙度,操作简单、快捷、准确、美观。现将程序内容及使用方法介绍如下,供大家参考。程序
2、全文如下:(defunrad->deg(rad) (/ (*rad180.0) pi))(defun Deg->Rad(Deg) (*pi(/Deg180.0)) )(defun rgh() (setvar "CMDECHO" 1) (setqsvar_old(getvar"osmode")) (setqsvar_new0)(setvar"osmode"svar_new)(setqpos_pt(getpoint"n标注位置:")) (setq sym_dir (getpoint"符号方向:"))(setq sym_hgt(getreal"
3、\n符号高度<5>:")) (setqtxt (getstring"数值大小<3.2>:"))(if(=txt"") (setqtxt"3.2") ) (setq txt_hgt(getreal"\n字符高度<2.5>:"))(if(=txt_hgtnil) (setqtxt_hgt 2.5)) (if(=sym_hgt nil)(setq sym_hgt5.0) ) (setqsym_lgt(/ sym_hgt (cos(/ pi 6.0))))(setqsym_angle(anglepos_ptsym_dir))(setqsym_p
4、t1(polar pos_pt (+(/pi3.0)sym_angle)(*0.5sym_lgt)))个人收集整理勿做商业用途 (setqsym_pt2(polarpos_pt(+(/ pi3.0)sym_angle)sym_lgt)) (setqsym_pt3(polar pos_pt(+(/(*2pi)3.0)sym_angle)(* 0.5sym_lgt)))(setqtxt_pt1(polarpos_pt(+ (/(*2pi)3.0)sym_angle)ﻩ (/(+ (*0.5(+sym_hgttxt_hgt)) 1.0) (cos(/ p
5、i 6.0))ﻩﻩ)ﻩ ) )(setqsym_ptx1(carsym_pt3 )) (setqsym_ptx2 (carpos_pt ))(setqsym_ptx3(car sym_pt1))(setqsym_pty1(cadrsym_pt3))(setqsym_pty2(cadr pos_pt)) (setqsym_pty3(cadrsym_pt1))(setqsym_cen(listﻩ (/(+sym_ptx1sym_ptx2sym_ptx3)3.0)(/ (+sym_pty1sym_pty2sym_pty3) 3.0)ﻩﻩ ) )(setqs
6、ym_rad (*ﻩ(/(sqrt3.0) 6.0)ﻩﻩsym_lgt0.5) )(setqtxt_pt2(polar pos_pt(+(/pi3.0)sym_angle)ﻩﻩ (/(+(*0.5(+sym_hgt txt_hgt))1.0)ﻩ(cos(/pi 6.0))ﻩﻩ)ﻩ ) ﻩ)(setqtxt_dist1(distancetxt_pt1txt_pt2))(setqtxt_dist2 (* txt_hgt(strlentxt)))(setqtxt_scale(/(-txt_dist11.0)txt_dist2))(setqtxt_xp
7、t1(cartxt_pt1))(setqtxt_ypt1 (cadrtxt_pt1))(setqtxt_xpt2 (cartxt_pt2))(setqtxt_ypt2(cadrtxt_pt2)) (setqtxt_cenx(/(+txt_xpt1txt_xpt2) 2.0))(setqtxt_ceny(/ (+txt_ypt1txt_ypt2)2.0))(setqtxt_cen (listtxt_cenxtxt_ceny)) (cond ((<= sym_angle (*0.5pi)) (setqtxt_angle sym_angle) )((an
8、d (> sym_angle(* 0.5pi))(<=sym_an
此文档下载收益归作者所有