726613 发表于 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)
)

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

maiko 发表于 2014-9-21 10:34:12

哥们,你这"钻石会员"好像不给力.明明就一个变量就解决了(Setvar "DIMZIN" 8)

ZZXXQQ 发表于 2014-9-21 19:36:46

(defun c:bs ()
(setq a (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setvar "DIMZIN" 8)
; (setvar "DIMCEN" 1)
; (setvar "DIMTXT" 2)
; ...
(command "-DIMSTYLE" "S" (getvar "DIMSTYLE") "Y")
(princ)
)

自贡黄明儒 发表于 2014-9-22 13:33:49

标注不一定是(getvar "DIMSTYLE"),还是要点取一下的。不过,主要思想Z版已经给出,其它是次要问题了。

菜卷鱼 发表于 2014-9-22 14:03:45

创建标注样式后续消零问题


http://bbs.mjtd.com/forum.php?mod=viewthread&tid=111397&fromuid=399892


跟我问的问题不差不多嘛?


lucas_3333 发表于 2014-9-22 14:31:15

楼主的代码中不是有了吗?

         "dimzin"   "8"   ;标注消零

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


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

            "DIMTDEC""3"    :公差精度
            "dimtzin""8"   ;公差消零

726613 发表于 2014-9-22 18:50:13

我的意思是如何将已标注好的图纸<转换前>,刷新成如<转换后的形式>,谢谢大家

maiko 发表于 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)
)看这个是不是你需要的

726613 发表于 2014-9-23 21:00:28

maiko 发表于 2014-9-23 07:56 static/image/common/back.gif
(defun c:du (/ *error* ss ov vl)
(defun *error* (x) (and ov (mapcar 'setvar vl ov)))
(setq        vl...

谢谢你,不过能否修改成不用选择目标对象就可以达到所需的标注

maiko 发表于 2014-9-24 08:00:06

不要选就是(Setvar "DIMZIN" 8),要选就上面那个,全选把上面的:s改成x
页: [1] 2
查看完整版本: 标注后续消零改善