明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4181|回复: 11

[求助]标注问题

  [复制链接]
发表于 2007-6-19 14:25:00 | 显示全部楼层 |阅读模式

最近接了套扇形建筑,标注大部分都是对齐标注,修改起来极不方便,哪位朋友能帮编个,对齐标注转线性标注 和线性标注转对齐标注。

在下先谢了。

发表于 2007-6-21 08:55:00 | 显示全部楼层

我试着编了一个,但发现在2004下用不了,在R14下却可以用,也不知道为什么,可能2004与R14的结构不一样了。

如果能找到2004以上的方法更好,但我帮不了你了,如果不行,你可以将你的图形转为R14,再用R14打开,修改好尺寸后再用2004或以上的打开。但不要用转换器,用2007另存为R14。你也可以把图放上来,我可以给你转。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2007-6-21 09:33:00 | 显示全部楼层
修改了一下,这个可在2004下使用了,在其它未做调试。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2007-6-21 09:44:00 | 显示全部楼层

又修改了一下,原来这样也行!

当然,这样改尺寸是会变的,不变是不可能的,不然就不是实际尺寸了。

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2007-6-21 15:29:00 | 显示全部楼层

我试了下06的不行,找了个04的,转换了标注会乱跳

 我现在只能用线性标注去旋转角度,工作量挺大

发表于 2007-6-22 09:20:00 | 显示全部楼层
本帖最后由 作者 于 2007-6-22 9:40:12 编辑

那试试这个吧,这个将你原来的尺寸删除,而新建一个,我用entmod不能成功,改用了entmake

(defun c:g-l (/ ss n lst)
  (setq ss (ssget '((0 . "dimension"))))
  (if ss
    (progn
      (setq n 0)
      (repeat (sslength ss)
 (setq lst (entget (ssname ss n)))

 (setq ang (angle (cdr (assoc 13 lst)) (cdr (assoc 14 lst))))
 (setq lst
        (list

   (assoc 0 lst)
   '(100 . "AcDbEntity")

   '(100 . "AcDbDimension")
   (assoc 2  lst)
   (assoc 10 lst)
   (assoc 11 lst)

   '(70 . 32)
   (assoc 1 lst)
   (assoc 3 lst)
   '(100 . "AcDbAlignedDimension")
   (assoc 13 lst)
   (assoc 14 lst)
   (cons 50 ang)
   '(100
     .
     "AcDbRotatedDimension"
    )
        );list

 );setq

 (entdel (ssname ss n))
        (entmake lst)
 (setq n (1+ n))
      );repeat
    );progn
  );end if
(princ"\n转换完成!")
  (princ)
)

发表于 2007-6-22 09:50:00 | 显示全部楼层

上面那个我在2007下试了,可以用,如果要将线性改为对齐,可用下面的代码,但尺寸位置可能就变了。

(defun c:l-g (/ ss n lst)
  (setq ss (ssget '((0 . "dimension"))))
  (if ss
    (progn
      (setq n 0)
      (repeat (sslength ss)
 (setq lst (entget (ssname ss n)))

;;; (setq ang (angle (cdr (assoc 13 lst)) (cdr (assoc 14 lst))))
 (setq lst
        (list

   (assoc 0 lst)
   '(100 . "AcDbEntity")

   '(100 . "AcDbDimension")
   (assoc 2  lst)
   (assoc 10 lst)
   (assoc 11 lst)

   '(70 . 33)
   (assoc 1 lst)
   (assoc 3 lst)
   '(100 . "AcDbAlignedDimension")
   (assoc 13 lst)
   (assoc 14 lst)
   (cons 50 0)
;;;   '(100
;;;     .
;;;     "AcDbRotatedDimension"
;;;    )
        );list

 );setq

 (entdel (ssname ss n))
        (entmake lst)
 (setq n (1+ n))
      );repeat
    );progn
  );end if
(princ"\n转换完成!")
  (princ)
)

 楼主| 发表于 2007-6-22 23:22:00 | 显示全部楼层

感谢英雄无敌帮了我大忙

线性转对齐时,长短脚不一样确实会乱跳,幸好我有剪标注线的

非常好,再次QQQ英雄无敌

发表于 2007-6-23 15:09:00 | 显示全部楼层
能给你带来方便我也很高兴,在这个过程中我也学到了不少,有些东西当你无法ENTMOD的时候,你可以ENTMAKE它。
发表于 2007-7-2 11:20:00 | 显示全部楼层

修改了一下,修正了线性转对齐时,标注会改变的问题,但程序是以保留第14脚,修改第13脚的位置来实现的,没有采用保留短脚或长脚的方法,但可以实现。

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本版积分规则

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

GMT+8, 2025-4-21 12:23 , Processed in 0.161406 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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