iCAx开思网
标题:
顶针标注自动化
[打印本页]
作者:
zjf227
时间:
2005-6-30 22:22
标题:
顶针标注自动化
今天应一位朋友的相邀,写了一个顶针标注的程序,经多人使用后得到很好的评价,现将此程序上传与大家一起分享,请大家多多支持,本程序不加密,方便大家学习和高手的指点,本程序较大的特点是不采用属性块的写法,便于大家的修改,以免属性块被炸开之后
由于时间仓促语法难免有所松散,请见谅.
(defun c:zjf()
(command"undo" "group")
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(command "units" "2" "2" "1" "2" "0" "y")
(command "LAYER" "M" "dim" "")
(command "LAYER" "c" "3" "" "")
(COMMAND "STYLE" "Zjf" "SIMFANG.TTF" "2.5" "0.85" "0" "" "" "")
(setq en (entsel"\nPlease get the pin:"))
(setq endata (entget(car en)))
(if (/= (cdr (assoc 0 endata)) "CIRCLE")
(setq en (entsel"WRING!!!! NOT A PIN Please get the pin again :")))
(setq endata (entget(car en)))
(setq n 1)
(get_pts)
(command"undo" "group")
(command"pline" pt1 pt2 pt3 pt4 "c")
(command"line" pta ptb "")
(command"line" ptc ptd "")
(command"line" pte ptf "")
(command "text" tp1 0 "序号")
(command "text" tp2 0 "X坐标")
(command "text" tp3 0 "Y坐标")
(command "text" tp4 0 "直径")
(COMMAND "STYLE" "Zjf" "SIMFANG.TTF" "5" "0.85" "0" "" "" "")
(command "text" tp5 0 "水平向右为X正向")
(command "text" tp6 0 "注:垂直向上为Y正向")
(command"insert" "FX" inspt 1 1 0 "")
(get_data)
(get_pt1)
(COMMAND "STYLE" "Zjf" "SIMFANG.TTF" "2.5" "0.85" "0" "" "" "")
(command "text" ptt1 0 1)
(command"pline" p1 p2 p3 p4 "")
(command"line" pp1 pp2 "")
(command"line" pp3 pp4 "")
(command"line" pp5 pp6 "")
(command "text" ta 0 n)
(command "text" tb 0 (rtos xx 2 2))
(command "text" tc 0 (rtos yy 2 2))
(command "text" td 0 (rtos circle 2))
(prin1)
(setq np1 p2)
(setq ap1 pp2)
(setq ap3 pp4)
(setq ap5 pp6)
(while en
(setq en (entsel"\nPlease get the pin:"))
(get_data)
(setq np2 (polar np1 (* pi 0.5) 6))
(setq np3 (polar np2 0 68))
(setq np4 (polar np1 0 68))
(setq ap2 (polar ap1 (* pi 0.5) 6))
(setq ap4 (polar ap3 (* pi 0.5) 6))
(setq ap6 (polar ap5 (* pi 0.5) 6))
(setq tta (polar np1 (* pi 0.12) 6))
(setq ttb (polar ap1 (* pi 0.12) 5))
(setq ttc (polar ap3 (* pi 0.12) 5))
(setq ttd (polar ap5 (* pi 0.12) 4.5))
(setq n (+ n 1))
(command"pline" np1 np2 np3 np4 "")
(command"line" ap1 ap2 "")
(command"line" ap3 ap4 "")
(command"line" ap5 ap6 "")
(get_data)
(command "text" ptt1 0 n)
(command "text" tta 0 n)
(command "text" ttb 0 (rtos xx 2 2))
(command "text" ttc 0 (rtos yy 2 2))
(command "text" ttd 0 (rtos circle 2))
(setq np1 np2)
(setq ap1 ap2)
(setq ap3 ap4)
(setq ap5 ap6)
(command "undo" "end")
)
(setvar "cmdecho" 1)
(setvar "osmode" "695")
(prin1)
(prompt"********Designed by【 ZJF 】********")
(prin1)
)
(defun get_pt1()
(setq p1 pt4)
(setq x (car p1))
(setq y (cadr p1))
(setq p2 (list x (+ y 6) 0))
(setq p3 (polar p2 0 68))
(setq p4 (polar p1 0 68))
(setq pp2 (polar pp1 (* pi 0.5) 6))
(setq pp4 (polar pp3 (* pi 0.5) 6))
(setq pp6 (polar pp5 (* pi 0.5) 6))
(setq ta (polar p1 (* pi 0.12) 6))
(setq tb (polar pp1 (* pi 0.12) 5))
(setq tc (polar pp3 (* pi 0.12) 5))
(setq td (polar pp5 (* pi 0.12) 4.5))
)
(defun get_data()
(setq endata (entget (car en)))
(setq circle (* 2 (cdr (assoc 40 endata))))
(setq pt1 (cdr (assoc 10 endata)))
(setq org (getvar "ucsorg"))
(setq orgx (car org))
(setq orgy (car (cdr org)))
(setq ptx (car pt1))
(setq pty (car (cdr pt1)))
(setq pt11 (list (- ptx orgx) (- pty orgy)))
(print)
(command "donut" "0" "0.5" pt11 "")
(setq ptt1 (polar pt11 (* pi 0.125) (+ (cdr (assoc 40 endata)) 0.5)))
(setq xx (nth 0 pt11))
(print xx)
(setq yy (nth 1 pt11))
(print yy)
(print)
)
(defun get_pts()
(setq pt1 (getpoint"\n请选择插入点:"))
(x_y)
(setq pt2 (list (+ x 68) y 0))
(setq inspt (list (+ x 71) (+ y 1) 0))
(setq pt3 (list (+ x 68) (+ y 6) 0))
(setq pt4 (list x (+ y 6) 0))
(setq pta (list (+ x 12) y 0))
(setq ptc (list (+ x 32) y 0))
(setq pte (list (+ x 52) y 0))
(setq ptb (list (+ x 12) (+ y 6) 0))
(setq ptd (list (+ x 32) (+ y 6) 0))
(setq ptf (list (+ x 52) (+ y 6) 0))
(setq tp1 (list (+ x 3) (+ y 1.6) 0))
(setq tp2 (list (+ x 17) (+ y 1.6) 0))
(setq tp3 (list (+ x 37) (+ y 1.6) 0))
(setq tp4 (list (+ x 56.5) (+ y 1) 0))
(setq tp5 (list (+ x 81) (+ y 2.5) 0))
(setq tp6 (list (+ x 72) (+ y 10.5) 0))
(setq p4 p1)
(setq pp1 ptb)
(setq pp3 ptd)
(setq pp5 ptf)
)
(defun x_y()
(setq x (car pt1))
(setq y (cadr pt1))
)
作者:
llllqqw
时间:
2005-6-30 22:36
怎么用啊?
作者:
zjf227
时间:
2005-6-30 22:39
下载后里面有详细的使用说明和图片
作者:
zjf227
时间:
2005-6-30 22:42
照详细说明里面的步骤做完后进入CAD,用zjf命令调出使用,当然使用前要用UCS命令设定原点
作者:
llllqqw
时间:
2005-6-30 22:43
明白了,不错,多谢了
作者:
shonyoung
时间:
2005-7-1 15:12
好东东,厉害!顶!!!!!!!
作者:
fishers
时间:
2005-7-1 16:43
多谢,高手
作者:
wy0816
时间:
2005-7-1 21:24
xiexie!
作者:
fishers
时间:
2005-7-2 09:45
谢谢,很实用!
作者:
shmilyhkmd
时间:
2005-7-3 15:58
ok
作者:
meich_sz
时间:
2005-8-27 14:23
我加载后使用时只有文本输入难道不是X=? ,Y=?,的吗?
作者:
荣和模具
时间:
2005-8-27 15:19
好东东!!
作者:
ADSHENG
时间:
2005-8-27 17:13
顶!!!顶!!!可否把命令的使用说得仔细点.不胜感激!!!
作者:
干锅肥肠
时间:
2005-8-27 21:06
hehe!
作者:
奥博118
时间:
2005-8-30 17:18
好
作者:
chenqinggao
时间:
2005-9-6 14:26
good
作者:
kimi_zl816
时间:
2005-9-7 17:38
高手啊·
作者:
醉卧雾中
时间:
2005-9-7 23:16
谢谢呀?
作者:
SUNING-202
时间:
2005-9-8 12:53
下载了但不会用,把程序加到CAD文件中后,进入CAD设好原点,输入zjf,显示指今不存在.请指点一下好吗?谢谢!
作者:
welldesign
时间:
2005-9-9 15:26
装上去了,很好用,多谢!
作者:
ljj19822002
时间:
2005-9-18 15:21
OK
作者:
HZJAEYOUNG
时间:
2005-10-22 14:29
很好用,多谢了!
但是,如果想要把顶针右上方的1 2 3...等序号改为E1 E2 E3...如何修改程序?
作者:
jiayun
时间:
2005-11-10 16:20
请教zjf227兄,本人特需要此程序,可下载不下来,请指教。xiexiexiexie
作者:
lanyu_flypig
时间:
2005-11-16 14:06
ding
作者:
zd8211347
时间:
2006-10-9 15:50
怎么没有看到可以下载的付件
作者:
jiang8
时间:
2006-10-10 17:14
没有可下载的附件啊!
作者:
cwqp8090
时间:
2007-6-6 12:39
附件
作者:
2009-boy
时间:
2010-6-4 21:51
怎么用的啊
本人有点笨
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3