XO-20170910 发表于 2023-12-4 08:41:57

求助大佬们,调整标注尺寸公差精度的lsp该如何写?

本帖最后由 18507396120 于 2023-12-4 10:04 编辑





程序构想:先选择该标注,然后程序变更该标注的公差精度




类似于这种调整标注精度的
(defun c:w2         (/ ss)(setq ss (ssget '((0 . "Dimension")))) (command "aidimprec" "2" ss "") (princ))




goldwheat 发表于 2023-12-4 14:19:58

可以试试下面的代码………………(defun c:ggcha (/ ss n cnt# enlst)
      (vl-load-com)
        (setq jidulst (list 'acDimPrecisionZero
                'acDimPrecisionOne
                'acDimPrecisionTwo
                'acDimPrecisionThree
                'acDimPrecisionFour
                'acDimPrecisionFive
                'acDimPrecisionSix
                'acDimPrecisionSeven
                'acDimPrecisionEight
        ))
        (initget 5 "0 1 2 3 4 5 6 7 8")
        (setq int# (getint "\n请输入精度<保留小数点的位数>"))
        (while (setq ss (ssget '((0 . "DIMENSION"))))
                (setq n (sslengthss )
               
                      cnt# n
        )
               
                (repeat n
                (setq ename^ (ssname ss (setq cnt# (1- cnt#))))
                (setq enameobj(vlax-ename->vla-object ename^ ))
                (vlax-put-property enameobj 'TolerancePrecision (eval (nth int# jidulst))))
        )
       
       
)

zkq1212 发表于 2023-12-4 09:42:07

本帖最后由 zkq1212 于 2023-12-4 09:52 编辑

应该是修改指定标注的DIMTDEC系统变量值。(COMMAND "_DIMOVERRIDE" "DIMTDEC" "3" ""),你试下

XO-20170910 发表于 2023-12-4 10:02:21

zkq1212 发表于 2023-12-4 09:42
应该是修改指定标注的DIMTDEC系统变量值。(COMMAND "_DIMOVERRIDE" "DIMTDEC" "3" ""),你试下

感谢大佬,等会去试试

XO-20170910 发表于 2023-12-5 07:55:41

goldwheat 发表于 2023-12-4 14:19
可以试试下面的代码………………(defun c:ggcha (/ ss n cnt# enlst)
      (vl-load-com)
        (setq jidu ...

感谢大佬,可以设置公差精度

XO-20170910 发表于 2023-12-5 09:27:39

goldwheat 发表于 2023-12-4 14:19
可以试试下面的代码………………(defun c:ggcha (/ ss n cnt# enlst)
      (vl-load-com)
        (setq jidu ...

再次感谢大佬,完美解决
页: [1]
查看完整版本: 求助大佬们,调整标注尺寸公差精度的lsp该如何写?