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


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


 
 
主题工具 搜索本主题 显示模式
旧 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自动化论坛(仅游客可见)
 


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

高级搜索
显示模式

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

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



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


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