本帖最后由 KO你 于 2025-6-25 15:42 编辑

快捷键  ddz  标注文字归位
(defun c:ddz () (command"dimedit""h")(princ "标注文字归位")(princ))

快捷键  dda  全部解除标注关联
(defun c:dda () (command"dimdisassociate""all"""))

快捷键  ddx  标注样式替代关闭
(defun c:ddx () (command"dimstyle""s"(getvar"dimstyle")"y"))

快捷键  ddt  标注文字加减方框
(defun c:ddt ( / i s1 ss )
(while (setq ss (ssget ":S" '((0 . "DIMENSION"))))
(repeat (setq i (sslength ss))
(setq s1 (vlax-ename->vla-object (ssname ss (setq i (1- i)))))
(if (eq (vla-get-tolerancedisplay s1) 0)
(vla-put-tolerancedisplay s1 4)
(vla-put-tolerancedisplay s1 0)))))

快捷键  dde  全图删除0值标注
(defun c:dde (/ ent)
(if (/= (setq ent (ssget "x" '((0 . "dimension")
(-4 . "<=")(42 . 1)))) nil)
(progn (command "erase" ent "")))
(princ))(c:dea)

快捷键  ddd  处理文字标注不能修改问题
(defun c:ddd () (command"mtexted""."))(c:ddd)



网友答: 标注文字加减方框,使用的对象方法不对啊,不是这个公差显示

网友答: 优秀!!!!!!

网友答: 你增加了论坛的热度。

网友答:
xiaodoo 发表于 2025-6-27 11:47
你增加了论坛的热度。

论坛最近是比较冷清

网友答: 挺好用的

网友答: ;;;标注文字还原位置
(defun c:ded(/ ent)
  (command "DIMEDIT" "")
  (princ)
)


;;;尺寸标注增加1行(需设置DIMDLI间距:比例x6)
(defun c:ad(/ ent)
  (command "DIMBASELINE")
  (princ)
)


;;;将尺寸值改为固定数值
(defun C:dgg ()
(if (and (princ "\nselect object:")
          (setq s (ssget '((0 . "DIMENSION"))))) (progn
  (setq k 0)
  (repeat (sslength s)
   (setq a (entget (ssname s k)))
   (setq a (subst (cons 1 (rtos (cdr(assoc 42 a)) 2 0)) (assoc 1 a) a))
   (entmod a)
   (setq k (1+ k))
  )
))
(princ)
)
;;;标注更新,四舍五入=0
(defun c:sdaa (/ ent)
  (setq $orr *error*)
  (setq *error* #errxts)
  (setvar "CMDECHO" 0)
  (command ".undo" "be")
  (setvar "DIMRND" 0)
  (if (setq ss (ssget (list '(0 . "DIMENSION,leader"))))
     (progn
      (command "_chprop" ss ""
       "la" "0-PS-标注-尺寸"
       "c"  "bylayer"
       "lt" "bylayer"
       "s" "0.9"
       ""
      )
      (vl-cmdf "-dimstyle" "a" ss "")
     )
  );if
(command ".undo" "e")
(setvar "CMDECHO" 1)
(princ)
)



;;;标注更新d5
(defun c:sda (/ ent)
  (setq $orr *error*)
  (setq *error* #errxts)
  (setvar "CMDECHO" 0)
  (command ".undo" "be")
    (setvar "DIMRND" 5)
  (if (setq ss (ssget (list '(0 . "DIMENSION,leader"))))
     (progn
      (command "_chprop" ss ""
       "la" "0-PS-标注-尺寸"
       "c"  "bylayer"
       "lt" "bylayer"
       "s" "0.9"
       ""
      )
      (vl-cmdf "-dimstyle" "a" ss "")
     )
  );if
(command ".undo" "e")
(setvar "CMDECHO" 1)
(princ)
)



;;;标注更新d10
(defun c:sd1 (/ ent)
  (setq $orr *error*)
  (setq *error* #errxts)
  (setvar "CMDECHO" 0)
  (command ".undo" "be")
    (setvar "DIMRND" 10)
  (if (setq ss (ssget (list '(0 . "DIMENSION,leader"))))
     (progn
      (command "_chprop" ss ""
       "la" "0-PS-标注-尺寸"
       "c"  "bylayer"
       "lt" "bylayer"
       "s" "0.9"
       ""
      )
      (vl-cmdf "-dimstyle" "a" ss "")
     )
  );if
(command ".undo" "e")
(setvar "CMDECHO" 1)
(princ)
)
  • 上一篇:动态多重复制
  • 下一篇:没有了