明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3093|回复: 3

怎样才能获取修改后的尺寸标注的dimscale值

[复制链接]
发表于 2003-1-4 21:12:00 | 显示全部楼层 |阅读模式
我标注一根直线的长度,假如当前标注样式的dimscale值为3.0,然后我用更改属性(mo)命令在对话框里更改这个标注的fit值为2.0,那么我如何才能在程序中获取这个标注的dimscale值呢?
有一点说明的是更改后此标注的dimscale值用list命令能在文本框中显示出来,但是用entget则无论如何也找不到相应的数值,用(vla-get-fit    ) 获得也只是此种样式的dimscale值,而非此标注的dimscale值。
渴望各位大师能指点迷津!!!
发表于 2003-1-5 16:48:00 | 显示全部楼层

xx

你在程序中的变量保存起来不就得了
在lisp语言中用(setq sc (getvar "dimscale")),要知道结果就查变量sc!!
发表于 2003-1-6 08:16:00 | 显示全部楼层

autolisp and vlisp 方法

For Autolisp
(defun c:a1 (/ sel-1 aa)
(Setq sel-1 (entsel "\n选取标注对象:"))
(setq aa (assoc -3(entget (car sel-1) '("ACAD"))))
)

如aa不等于nil,可得出类似如下数据:
(-3 ("ACAD" (1000 . "DSTYLE") (1002 . "{") (1070 . 144) (1040 . 0.5) (1002 . "}")))

其中(1070 . 144) (1040 . 0.5)可看出dimlfac=0.5

以下为各号码与系统变量对照数据:

         (2 . "DIMSTYLE")
         (3 . "DIMPOST")
         (4 . "DIMAPOST")
         (5 . "DIMBLK")
         (6 . "DIMBLK1")
         (7 . "DIMBLK2")
         (40 . "DIMSCALE")
         (41 . "DIMASZ")
         (42 . "DIMEXO")
         (43 . "DIMDLI")
         (44 . "DIMEXE")
         (45 . "DIMRND")
         (46 . "DIMDLE")
         (47 . "DIMTP")
         (48 . "DIMTM")
         (71 . "DIMTOL")
         (72 . "DIMLIM")
         (73 . "DIMTIH")
         (74 . "DIMTOH")
         (75 . "DIMSE1")
         (76 . "DIMSE2")
         (77 . "DIMTAD")
         (78 . "DIMZIN")
         (79 . "DIMAZIN")
         (140 . "DIMTXT")
         (141 . "DIMCEN")
         (142 . "DIMTSZ")
         (143 . "DIMALTF")
         (144 . "DIMLFAC")
         (145 . "DIMTVP")
         (146 . "DIMTFAC")
         (147 . "DIMGAP")
         (148 . "DIMALTRND")
         (170 . "DIMALT")
         (171 . "DIMALTD")
         (172 . "DIMTOFL")
         (173 . "DIMSAH")
         (174 . "DIMTIX")
         (175 . "DIMSOXD")
         (176 . "DIMCLRD")
         (177 . "DIMCLRE")
         (178 . "DIMCLRT")
         (179 . "DIMADEC")
         (270 . "DIMUNIT")
         (271 . "DIMDEC")
         (272 . "DIMTDEC")
         (273 . "DIMALTU")
         (274 . "DIMALTTD")
         (275 . "DIMAUNIT")
         (276 . "DIMFRAC")
         (277 . "DIMLUNIT")
         (278 . "DIMDSEP")
         (279 . "DIMTMOVE")
         (280 . "DIMJUST")
         (281 . "DIMSD1")
         (282 . "DIMSD2")
         (283 . "DIMTOLJ")
         (284 . "DIMTZIN")
         (285 . "DIMALTZ")
         (286 . "DIMALTTZ")
         (287 . "DIMFIT")
         (288 . "DIMUPT")
         (289 . "DIMATFIT")
         (340 . "DIMTXSTY")
         (341 . "DIMLDRBLK")
         (342 . "DIMBLK")
         (343 . "DIMBLK1")
         (344 . "DIMBLK2")
         (371 . "DIMLWD")
         (372 . "DIMLWE")

for Visual lisp
vla-get-scalefactor
 楼主| 发表于 2003-1-6 19:41:00 | 显示全部楼层

真是太感谢你了,龙龙仔!真没有想到是用这个办法

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

本版积分规则

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

GMT+8, 2025-1-16 01:52 , Processed in 0.168444 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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