明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: xman00

朋友们请进,求助 标注归层

  [复制链接]
发表于 2012-10-15 22:13:13 | 显示全部楼层
本帖最后由 1993063 于 2012-10-15 04:16 编辑
1993063 发表于 2012-10-15 03:53
(defun c:Dim2Layer (/ ss i ename err)
  (vl-load-com)
  (setq ss (ssget "_X" '((0 . "DIMENSION"))) ...

不会是没有"DIMENSION"实体吧根据提示是没有标注对象
发表于 2012-11-13 15:30:15 | 显示全部楼层
看看!!!
发表于 2012-12-24 00:42:34 | 显示全部楼层
本帖最后由 ucuc2003 于 2012-12-24 23:13 编辑

(defun C:bz1 (/ LayIn bz)
  (princ "\n改变对象图层,或创建 尺寸标注 图层")
  (setvar "cmdecho" 0)
;;这部分:确定是否建立"尺寸标注"图层
  (setq LayIn (getvar 'clayer))
  (if (tblsearch "layer" "标注") ""
      (progn
         (command "-layer" "new" "标注" "color" "2" "标注" "")
         (command "clayer" LayIn)
       )
   )
  (setq s1 (ssget '((0 . "leader,dimension,arc_dimension"))))
  (if (= s1 nil)
      (command "-LAYER" "S" "尺寸标注" "");改变当前图层
      (progn
         (command "change" s1 "" "" "la" "0" ""  ;改变对象图层
                         "_setbylayer" s1 "" "y" "y"      ;线型改为随层
                         "change" s1 "" "" "la" "标注" "")  ;改变对象图层
      )
    )
  (princ)
);end

编的烂凑活着用,测试环境AutoCAD2008
发表于 2012-12-24 00:48:15 | 显示全部楼层
本帖最后由 ucuc2003 于 2012-12-24 23:14 编辑

(defun C:bzc(/ s2)
   (setvar "cmdecho" 0)
;;这部分:确定是否建立新图层
   (if (and (tblsearch "LAYER" "尺寸标注"));and
       ""
       (command "-layer" "new" "标注" "color" "2" "标注" "")
    );if
;;;这部分主程序
   (setq s2 (ssget "X" '((-4 . "<or")(0 . "leader")(0 . "dimension")(0 . "arc_dimension")(-4 . "or>"))))
   (if (= s2 nil) (princ "")
       (progn
          (command "change" s2 "" "P" "la" "0" ""   ;改变对象图层
                          "_setbylayer" s2 "" "y" "y"      ;线型改为随层
                          "change" s2 "" "P" "la" "标注" "")  ;改变对象图层
        );progn
    );if
   (princ "\n标注已置于“标注层”")
   (princ)
);end defun
发表于 2012-12-24 02:06:39 来自手机 | 显示全部楼层
都不一样,,高手啊
发表于 2012-12-30 20:53:05 | 显示全部楼层
ucuc2003 果然好用
学习中.......
发表于 2012-12-30 21:10:28 | 显示全部楼层
将成仔的"DIM"改为"标注"
拿来一用
谢谢成仔
(defun c:tt ()
  (if (= (tblsearch "Layer" "标注") nil)
    (command "Layer" "new" "标注" "color" "4" "标注" "")
  )
  (setq ss (ssget "X" '((0 . "DIMENSION"))))
  (command "Chprop" ss "" "layer" "标注" "")
)
发表于 2012-12-31 09:54:45 来自手机 | 显示全部楼层
没有考虑块中块标注情况,有一点遗憾。
发表于 2020-8-10 23:51:37 | 显示全部楼层
成仔 发表于 2012-10-13 16:12
(defun c:tt ()
  (if (= (tblsearch "Layer" "DIM") nil)
    (command "Layer" "new" "DIM" "color" "4 ...

如何自由选择不是强行全部归层呢
发表于 2020-8-11 08:09:22 | 显示全部楼层
感谢明经,感谢原作者,感谢原作者,谢谢,我只是转了
;;;这样在没有DIM图层的情况下自动加一个
;;;提取所有标注,最好顺便自动将过滤出来的标注转换到dim层
(defun c:ttd(/ ss)
  (command "layer" "M" "DIM" "C" "3" "" "LT" "CONTINUOUS" "" "");设置一个标注图层
  (princ "\n框选标注归到DIM层")
  (setq ss (ssget ":s" '((0 . "DIMENSION"))))
  (command "_.chprop" ss "" "LA" "DIM" "")
  (gc)
  )

(defun c:ttc(/ ss)
  (command "layer" "M" "DIM" "C" "4" "" "LT" "CONTINUOUS" "" "");设置一个标注图层
  (princ "\n标注全部归到DIM层")
  (setq ss (ssget "X" '((0 . "DIMENSION"))))
  (command "_.chprop" ss "" "LA" "DIM" "")
  (gc)
  )
;;;一个手选,一个自动选全图,随便用吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-21 01:37 , Processed in 0.146370 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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