明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 343|回复: 0

[提问] 框选标注修改

[复制链接]
发表于 2025-1-6 16:55:50 | 显示全部楼层 |阅读模式
各位大佬,我搞了一个框选修改标注的代码,但新生成的标注样式的全局比例没办法跟着变动?
(defun c:GH (/ ss factor styleName baseStyleName)
  ; 框选图形,
  (setq ss (ssget))
  (if ss
    (progn
      ; 提示用户输入比例因子,并将结果存储在 factor 变量中
      (setq factor (getreal "\n请输入比例因子: "))
      ; 根据比例因子生成新的标注样式名称,格式为 DIM+比例因子
      (setq styleName (strcat "DIM" (rtos factor)))
      ; 检查生成的标注样式是否存在
      (if (tblsearch "DIMSTYLE" styleName)
        (progn
          ; 如果存在,使用 command 函数将该标注样式设置为当前样式
          (command "DIMSTYLE" "R" styleName "")
          ; 仅对之前选择的对象应用标注更新
          (command "DIMSTYLE" "APPLY" ss "")
          ; 刷新视图
          (command "regen")
        )
        (progn
          ; 查找基础样式 DIM1 是否存在
          (setq baseStyleName (tblsearch "DIMSTYLE" "DIM1"))
          (if baseStyleName
            (progn
              ; 复制 DIM1 为新样式
              (command "_DIMSTYLE" "" "DIM1" styleName)
              ; 将新样式设置为当前样式
              (command "DIMSTYLE" "S" styleName)
            )
            ; 如果基础样式 DIM1 不存在,输出相应错误信息
            (princ "\n基础样式 DIM1 不存在,无法创建新样式.")
          )
          ; 设置全局比例因子
          (setvar "DIMSCALE" factor)
          ; 调用 modifyDimStyle 函数修改标注样式的比例因子
          (modifyDimStyle (getvar "DIMSTYLE") factor)
          ; 仅对之前选择的对象应用标注更新
          (command "DIMSTYLE" "APPLY" ss "")
          ; 刷新视图
          (command "regen")
        )
      )
    )
    ; 如果未框选图形,输出相应信息
    (princ "\n未框选图形.")
  )
  (princ)
)



(defun modifyDimStyle (dimstyle value)
  ; 获取标注样式的对象名称
  (setq dimObjName (tblobjname "DIMSTYLE" dimstyle))
  ; 将对象名称转换为实体对象
  (setq dimObj (entget dimObjName))
  ; 查找 DIMSCALE 的组码在标注样式对象中的位置
  (setq dimscaleIndex (assoc 40 dimObj))
  ; 修改 DIMSCALE 的值
  (setq dimObj (subst (cons 40 value) dimscaleIndex dimObj))
  ; 更新标注样式对象
  (entmod dimObj)
)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-22 17:45 , Processed in 0.176381 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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