hubeiwdlue 发表于 2024-2-24 18:14:43

求助 修改标注样式的全局比例和比例因子

本帖最后由 hubeiwdlue 于 2024-2-24 18:27 编辑

    我想缩放图形,同时修改标注样式中的全局比例(40组码)和测量单位比例因子。但是写的代码总是有问题,请教大家错在那里。

(defun emod (ent code value)
(if (= (type ent) 'ename) (setq ent (entget ent)))
(setq b(cons code value))
(if(setq a(assoc code ent))
   (entmod(subst b a ent))
   (entmod(append ent(list b))))
)
(defun c:tt()
(princ "\n 选择缩放对象")
(setq ss (ssget))
(setq pt1 (getpoint "\n选择基点"))
(setq sfbili (getreal "\n 输入缩放比例"))
(vl-cmdf "_.SCALE" ss "" pt1 sfbili "")
(setq dimstyles (vla-get-dimstyles (vla-get-activedocument (vlax-get-acad-object))))
(vlax-for dim dimstyles
    (setq name (vla-get-name dim))
    (setq dent (entget (tblobjname "dimstyle" name)));;标注样式名为name的符号表条目
    (setq dim144 (getvar "DIMLFAC"));;标注样式比例因子
    (setq dim40 (getvar "DIMSCALE"));;标注样式全局比例
    ;(setvar "DIMLFAC" (/ dim144 sfbili))
    ;(setvar "DIMSCALE" (* dim40 sfbili))
    (emod dent 144 (/ dim144 sfbili))
    (emod dent 40 (* dim40 sfbili))
)
(princ)
)

hubeiwdlue 发表于 2024-2-25 13:14:27

用command方法可以实现,但是用entmake方法,总是出问题。另外,用对象属性的方法,应该怎么做,我不清楚怎么查属性和方法。
(defun c:tt()
      (setq ltbili (getvar "LTSCALE"));;线型全局比例因子
      (setq ss (wdl_ssget "\n 选择缩放对象" nil))
      (setq pt1 (getpoint "\n选择基点"))
      (setq sfbili (getreal "\n 输入缩放比例"))
      (vl-cmdf "_.SCALE" ss "" pt1 sfbili "")
      (setvar "LTSCALE" (/ ltbili sfbili))
      (setq dimstyles (vla-get-dimstyles (vla-get-activedocument (vlax-get-acad-object))))
      (vlax-for dim dimstyles
                (setq name (vla-get-name dim))
                (setq den (tblobjname "dimstyle" name))
                (command "-DIMSTYLE" "R" name) ;置为当前
                (setq dim144 (getvar "DIMLFAC"));;标注样式比例因子
                (setq dim40 (getvar "DIMSCALE"));;标注样式全局比例               
                (command
                        "DIMLFAC"(/ dim144 sfbili);设置线性标注测量值的比例因子
                        "DIMSCALE" (* dim40 sfbili);设置应用于标注变量的全局比例因子
                        "-DIMSTYLE" "S" name "Y" ;保存修改到当前样式
                )
      )
      (princ)
)

paulpipi 发表于 2024-2-25 10:52:43

帮顶,希望高手帮忙解决
页: [1]
查看完整版本: 求助 修改标注样式的全局比例和比例因子