明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: userzhl

[求助]如何能设置标注点到标注线的距离?(禁止liminnet xchrimp跟贴)

    [复制链接]
发表于 2009-7-18 15:09:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-7-18 16:05:00 | 显示全部楼层
本帖最后由 作者 于 2009-7-21 1:28:03 编辑

见24楼

 楼主| 发表于 2009-7-18 19:40:00 | 显示全部楼层
liminnet,搞得了?
发表于 2009-7-18 21:57:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2009-7-19 17:13:00 | 显示全部楼层

?????????????????????????

发表于 2009-7-19 17:40:00 | 显示全部楼层
  1. (defun get-dim-pt (ent / entlst pt10 pt10-1 pt12 pt13 pt13-1 pt14)  
  2.   (setq entlst (entget ent))
  3.   (if (= "DIMENSION" (dxf 0 entlst))
  4.     (progn
  5.     (setq pt10 (dxf 10 entlst)pt14 (dxf 14 entlst)pt13 (dxf 13 entlst))
  6.     (setq pt10-1 (polar pt10 (+ (* 0.5 pi) (angle  pt10 pt14)) 2))
  7.     (setq pt13-1 (polar pt13 (angle pt14 pt10) 2))
  8.     (setq pt12 (inters pt10 pt10-1 pt13 pt13-1 nil))
  9.     (list ent pt10 pt14 pt12 pt13)
  10.     )
  11.     nil
  12.   )
  13. )
  14. (defun dxf (i ent)
  15.     (if (= (type ent) 'ENAME) (setq ent (entget ent)))
  16.     (cdr (assoc i ent))
  17. );defun
  18. (defun c:test( / dis ent entlst entptlst lst n pt10 pt12 pt13 pt13-new pt14 pt14-new ss)
  19. (princ "\n修改标注线的长短,选择标注:")
  20. (if (setq ss (ssget "+.:S:E" (list (cons 0 "DIMENSION"))))
  21.   (progn
  22.    (setq ent (ssname ss 0) entptlst (get-dim-pt ent))
  23.    (setq dis (distance (nth 1 entptlst)(nth 2 entptlst)))
  24.     (foreach n (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "DIMENSION"))))))
  25.     (setq lst (get-dim-pt n) entlst (entget n))
  26.     (setq pt10 (nth 1 lst) pt12 (nth 3 lst) pt13 (nth 4 lst) pt14 (nth 2 lst))
  27.     (setq pt13-new (polar pt12 (angle pt12 pt13) dis))
  28.     (setq pt14-new (polar pt10 (angle pt10 pt14) dis))
  29.     (setq entlst (subst (cons 13 pt13-new) (assoc 13 entlst) entlst))
  30.     (setq entlst (subst (cons 14 pt14-new) (assoc 14 entlst) entlst))
  31.     (entmod entlst)
  32.     (entupd n)
  33.     )   
  34.   )
  35. )
  36. )
 楼主| 发表于 2009-7-19 18:57:00 | 显示全部楼层

xshrimp,厉害!!

非常感谢!

 楼主| 发表于 2009-7-19 21:47:00 | 显示全部楼层
经过测试,有问题,当标注起点与标注线距离为0时,会有出错。
 楼主| 发表于 2009-7-20 13:30:00 | 显示全部楼层

liminnet忽悠了。

不想他跟我的贴。

发表于 2009-7-20 14:19:00 | 显示全部楼层

你指望他liminnet 帮你整?嘿嘿~看看他的东西都是东凑西凑的,要他能估计得问好多人了!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-2 14:38 , Processed in 0.168328 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表