明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 346|回复: 2

[提问] 修改,尺寸:比例因子,报错。请教如何处理?

[复制链接]
发表于 2024-8-8 16:05:41 | 显示全部楼层 |阅读模式
(defun c:DS()

  (setq  nDS (getvar "DIMSCALE"))
  (setq  strDS (ljx-re-str nDS))
  (setq stxt (getstring  (strcat "\输入 DIMSCALE 的新值 <" strDS ">::<右键点取图框>")))

  (if (= stxt "")
        (progn          
          (vl-load-com)
          (setq obj (vlax-ename->vla-object (car(entsel "点选对象:\n"))))  ;;点选图框
          (vla-GetBoundingBox obj 'p1 'p2)  ;;获取图框的对角点
          (setq p1 (vlax-safearray->list p1))
          (setq p2 (vlax-safearray->list p2))
          ;;(command ".zoom" "w" p1 p2)
          (setq bl (abs (vla-get-XScaleFactor obj)))  ;;获取图框的比例
          (command-s "DIMSCALE" bl)
        )
        (progn
           (setq newDS (atof   stxt))
           (command-s "DIMSCALE" newDS)
        )
  )
        (princ)
)

;;===========子函数================
(defun ljx-re-str (num / tmp fp dat)
  (setq tmp (vl-filename-mktemp "mytmp.txt")
        fp (open tmp "W")
  )
  (prin1 re fp)
  (close fp)
  (setq fp (open tmp "R"))
  (setq dat (read-line fp))
  (close fp)
  (vl-file-delete tmp)
  (if (= (read dat) (fix re));;;;为整数时
  (setq dat (itoa (fix re)))
)
dat
)

;|报错如下:

调用(*push-error-using-command*)前无法从 *error* 调用(command)。
建议将(command)调用转换为(command-s)。


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-8-8 16:13:21 | 显示全部楼层
(command-s "DIMSCALE" bl)
修改成
(setvar "DIMSCALE" bl)
试一下
 楼主| 发表于 2024-8-10 19:44:51 | 显示全部楼层
谢谢,这是个变量确实要用setvar
另外我那个转字符串也有点问题,改用简单的转换方法了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 03:00 , Processed in 0.156511 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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