查看单个帖子
旧 2009-04-26, 07:59 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 对齐标注——dq 和 更改坐标原点——mc 程序原码

对齐标注——dq 和 更改坐标原点——mc 程序原码
www.dimcax.com
对齐标注——dq 和 更改坐标原点——mc 程序原码
图片:

对齐标注——dq 目的:使图面标注整洁
更改坐标原点——mc 有时标注尺寸时常会忘记定坐标 特别是检查模板漏标尺寸时 总是难免会忘记定坐标 这样 你就会用上 mc
(defun err(msg)
(if en(redraw en 4))
(if oldosmode(setvar"osmode"oldosmode))
(command"ucs""p")
(setq *error* errtmp)
)
(defun se()
(setq en(car(entsel"\n选取基准标注:"))
ed(entget en)iff 0)
(while iff
(if(=(cdr(assoc '0 ed))"dimension")
(progn
(setq xy (cdr(assoc 70 ed))
x2 (nth 1 (assoc 14 ed))
y2 (nth 2 (assoc 14 ed))
iff nil
)
(redraw en 3)
)
(progn
(setq en(car(entsel"\n选取基准标注:"))
ed(entget en)))
)
)
)
(defun c:dq(/ )
(setvar "cmdecho" 0)
(setq errtmp *error*)
(setq *error* err)
(command"ucs""w")(se)
(setq ene (ssget(list '(0 . "dimension"))))
(redraw en 4)
(setq index 0)
(while ene
(repeat(sslength ene)
(setq ede (entget (ssname ene index)))
(setq xyz (cdr(assoc 70 ede)))
(setq x22 (nth 1 (assoc 14 ede)))
(setq y22 (nth 2 (assoc 14 ede)))
(setq zz (nth 3 (assoc 14 ede)))
(if(and(or(= 38 xy)(= 166 xy))(or(= 38 xyz)(= 166 xyz)))
(progn
(setq ede (subst (cons 14 (list x2 y22 zz))(assoc 14 ede) ede))
(entmod ede)
)
)
(if(and(or(= 102 xy)(= 230 xy))(or(= 102 xyz)(= 230 xyz)))
(progn
(setq ede (subst (cons 14 (list x22 y2 zz))(assoc 14 ede) ede))
(entmod ede)
)
)
(setq index (1+ index))
)
(setq ene nil)
)
(command"ucs""p")
(setq *error* errtmp)
(setvar "cmdecho" 1)
(princ)
)
(defun c:mc(/)
(setvar "cmdecho" 0)
(setq errtmp *error*)
(setq *error* err)
(setq oldosmode(getvar"osmode"))
(setvar "osmode"39)
(command"ucs""w")
(setq new_ucs_point(getpoint"\n指定新原点:"))
(setq ent(ssget(list '(0 . "dimension"))))
(setq index 0)
(while ent
(repeat(sslength ent)
(setq edt (entget (ssname ent index)))
(setq xyz (cdr(assoc 70 edt)))
(setq lyn (cdr(assoc 8 edt)))
(command"layer""unlock"lyn"")
(if(or(= 38 xyz)(= 166 xyz)(= 102 xyz)(= 230 xyz))
(progn
(setq edt (subst (cons 10 new_ucs_point)(assoc 10 edt) edt))
(entmod edt)
)
)
(setq index (1+ index))
)
(setq ent nil)
)
(command"ucs""p")
(setvar"osmode"oldosmode)
(setq *error* errtmp)
(setvar "cmdecho" 1)
(princ)
)
7
非常实用《线割报价软件》
群16671234可下载
re:对齐标注——dq 和 更改坐标原点——mc 程序原码
不好用
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)