明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4237|回复: 11

[已解答] 标注后续消零改善

[复制链接]
发表于 2014-9-21 08:43:03 | 显示全部楼层 |阅读模式





(defun c:bs ()
     (setq a (getvar "osmode"))
     (setvar "osmode" 0)
     (setvar "cmdecho" 0)
    (command
            "celtype" "bylayer"      ;线型随层
            "color"   "bylayer"      ;颜色随层
            "DIMDLI"   "3"           ;基线间距

            "dimexe"   "0.5"         ;超出尺寸线
            "dimexo"   "0.5"         ;起点偏移量       
            "dimasz"   "2"           ;箭头大小
            "dimcen"    "1"          ;圆心标记

            "DIMTXSTY"  "Standard" ;文字样式
            "dimtxt"   "2"           ;标注文字高度
            "DIMTAD"   "0"         ;垂直:设置中
            "DIMJUST"  "0"         ;水平:设置中
            "dimgap"   "0.5"       ;尺寸偏移量
            "dimtih"   "0"         ;文字对齐ISO

            "DIMLUNIT"   "2"   ;单位为小数
            "DIMDEC"   "2"   ;小数位       
            "DIMDSEP"  "."   ;小数点
            "DIMLFAC"  "1"   ;测量比例
            "dimzin"   "8"   ;标注消零

            "DIMADEC"  "-1"  ;角度精度
            "DIMAzin"  "2"  ;角度消零


            "blipmode" "0"   ;输入模式
            "dimtmove" "0"   ;移动规则

            "DIMTDEC"  "3"    :公差精度
            "dimtzin"  "8"   ;公差消零
          )
     (setvar "osmode" a)
(PRINC)
)

请问把转换前实现转换后的效果,通过以上的程序来进行转换,如何修改才能实现.

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-9-21 10:34:12 | 显示全部楼层
哥们,你这"钻石会员"好像不给力.明明就一个变量就解决了(Setvar "DIMZIN" 8)
发表于 2014-9-21 19:36:46 | 显示全部楼层
  1. (defun c:bs ()
  2. (setq a (getvar "osmode"))
  3. (setvar "osmode" 0)
  4. (setvar "cmdecho" 0)
  5. (setvar "DIMZIN" 8)
  6. ; (setvar "DIMCEN" 1)
  7. ; (setvar "DIMTXT" 2)
  8. ; ...
  9. (command "-DIMSTYLE" "S" (getvar "DIMSTYLE") "Y")
  10. (princ)
  11. )

评分

参与人数 1明经币 +1 收起 理由
自贡黄明儒 + 1 赞一个!

查看全部评分

发表于 2014-9-22 13:33:49 | 显示全部楼层
标注不一定是(getvar "DIMSTYLE"),还是要点取一下的。不过,主要思想Z版已经给出,其它是次要问题了。
发表于 2014-9-22 14:03:45 | 显示全部楼层
发表于 2014-9-22 14:31:15 | 显示全部楼层
楼主的代码中不是有了吗?

  1.            "dimzin"   "8"   ;标注消零

  2.             "DIMADEC"  "-1"  ;角度精度
  3.             "DIMAzin"  "2"  ;角度消零


  4.             "blipmode" "0"   ;输入模式
  5.             "dimtmove" "0"   ;移动规则

  6.             "DIMTDEC"  "3"    :公差精度
  7.             "dimtzin"  "8"   ;公差消零
复制代码
 楼主| 发表于 2014-9-22 18:50:13 | 显示全部楼层
我的意思是如何将已标注好的图纸<转换前>,刷新成如<转换后的形式>,谢谢大家
发表于 2014-9-23 07:56:11 | 显示全部楼层
(defun c:du (/ *error* ss ov vl)
  (defun *error* (x) (and ov (mapcar 'setvar vl ov)))
  (setq        vl '("CMDECHO" "DIMZIN")
        ov (mapcar 'getvar vl)
  )
  (mapcar 'setvar vl '(0 8))
  (while (setq ss (ssget ":s" '((0 . "DIMENSION,LEADER"))))
    (vl-cmdf "-DIMSTYLE" "a" ss "")
  )
  (mapcar 'setvar vl ov)
  (princ)
)看这个是不是你需要的
 楼主| 发表于 2014-9-23 21:00:28 | 显示全部楼层
maiko 发表于 2014-9-23 07:56
(defun c:du (/ *error* ss ov vl)
  (defun *error* (x) (and ov (mapcar 'setvar vl ov)))
  (setq        vl  ...

谢谢你,不过能否修改成不用选择目标对象就可以达到所需的标注
发表于 2014-9-24 08:00:06 | 显示全部楼层
不要选就是(Setvar "DIMZIN" 8),要选就上面那个,全选把上面的:s改成x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-18 05:17 , Processed in 0.187753 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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