几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » 数据库ObjectDBX
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-28, 03:55 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】绝对好用的粗糙度标注程序

绝对好用的粗糙度标注程序
www.dimcax.com
绝对好用的粗糙度标注程序
管理提醒: 本帖被 tandongchi 从 autodesk技术、教程、资料交流区 移动到本区(2008-02-27) 图片:

搜索了一下论坛,发现有好几个粗糙度标注程序,但不是有使用次数限制就是效果不理想,现推荐各位使用以下的粗糙度标注程序。
此程序功能如下:
1、使用当前图层
2、使用当前标注样式和全局标注比例
加载方法:菜单—工具—加载应用程序。如要永久加载,则要把程序添加到启动组中。
使用方法:命令ccd,在要标注粗糙度的线条旁边单击,然后在命令行中输入粗糙度值。
注:原程序由网上下载,本程序已针对原程序的不足作了适当修改。
把以下文字复制到记事本中,以lsp为文件后缀名保存为ccd.lsp即可。
;;;程序名 :ccd.lsp
;;;粗糙度标注程序
;;;在当前层上画粗糙度符号,键入0或单个字符后,画不加工符号。
;;;使用当前标注样式中的文字样式和字高书写粗糙度数值
(defun dtr(ang)
(setq ang (/ (* ang pi) 180))
)
(defun rtd(ang)
(setq ang (* (/ ang pi) 180))
)
(defun c:ccd ( / aper box os sty dsty size scale h h0 hh
pt1 pt2 ang number) ;;不包括str string
(setvar "cmdecho" 0) ;;关闭回显提示
(setq aper (getvar "aperture")) ;;当前靶框大小
(setvar "aperture" 8) ;;靶框大小设为8
(setq box (getvar "apbox")) ;;当前靶框属性
(setvar "apbox" 0) ;;显示靶框
(setq os (getvar "osmode")) ;;当前捕捉模式
(setvar "osmode" 64) ;;捕捉插入点
(setq sty (getvar "textstyle")) ;;当前文字样式
(setq dsty (getvar "dimtxsty")) ;;当前标注文字样式
(setvar "textstyle" dsty) ;;设为当前文字样式
(setq size (getvar "dimtxt")) ;;当前标注文字高度
(setq scale (getvar "dimscale")) ;;当前标注比例因子
(setq size (* size scale)) ;;当前标注文字实际高度
(setq h0 (* size 1.4)) ;;符号短边高度
(setq hh (* h0 2)) ;;符号长边高度
(if (<= size 7) (setq hh (+ hh 1)) (setq hh (+ hh 2)))
(setq h (* h0 1.1547)) ;;符号短边长
(setq hh (* hh 1.1547)) ;;符号长边长
(setq pt1 (getpoint "\n插入点")
pt2 (osnap pt1 "near"))
(if (= pt2 nil)
(setq ang (dtr 90) pt2 pt1)
(setq ang (angle pt2 pt1))
)
(if (null str) (setq str "6.3"))
(prompt "\n输入粗糙度值(0, 0.8, 1.6, 3.2, 6.3, 12.5, 25) <")
(princ str)
(prompt ">:")
(setq string (getstring))
(if (= string "") (setq string str) (setq str string))
(setvar "osmode" 0) ;;无捕捉模式
(command "undo" "be")
(setq number (strlen string))
(if (= number 1)
(progn
(command "pline" (polar pt2 (- ang (dtr 30)) hh)
pt2
(polar pt2 (+ ang (dtr 30)) h) "")
(command "circle" (polar pt2 ang (* h0 0.6667))
(* h0 0.3333))
)
(command "pline" (polar pt2 (- ang (dtr 30)) hh)
pt2
(polar pt2 (+ ang (dtr 30)) h)
(polar pt2 (- ang (dtr 30)) h) "")
)

(setq pt (polar pt2 ang (+ h0 (+ (/ size 2) 1.5))))
(if (and (>= (rtd ang) 30) (< (rtd ang) 210))
(setq roa (- (rtd ang) 90)) ;;数字在符号上方
(setq roa (+ (rtd ang) 90)) ;;数字在符号下方
)
(if (/= number 1)
(command "text" "j" "mc"
pt
size
roa
string
)
)
(command "undo" "e")
;;恢复系统中的原设置
(setvar "osmode" os)
(setvar "apbox" box)
(setvar "aperture" aper)
(setvar "textstyle" sty)
(setvar "cmdecho" 1) ;;打开回显提示
(princ)
)
(princ "\n粗糙度标注程序成功加载!命令行以ccd启动!")

这玩意也要辅助工具啊?
自己做一下块,复制一下就行了。

:
这玩意也要辅助工具啊?
自己做一下块,复制一下就行了。
没用过是不会知道其中的好处的。
各位先不要妄下定论,最好用过后再发表评论。(反正又不用花钱)
本程序的好处在于能自动和全局标注比例匹配

在2008版本下试过,有乱码出现

这个lisp原作者应该是来自
蓝蓝的天,白白的云.

:
小弟好笨!!1要保存在哪啊??说清楚点好不???
可以随便放在任何不会误删的文件夹中,建议放在acad安装目录中。

还好用, 谢谢你。

自己画个能要多少时间啊,
何况这些常用的东西,大家都会做个摸板放在手边的啊

太谢谢楼住了 真的很好用啊 感谢 我自己很懒 谢谢啊
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 08:35 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多