libo2000 发表于 2012-10-8 13:23:28

不打开dwg情况下,vla-get-PaperSpace函数如何获得非当前布局下的图元?

不打开dwg情况下,vla-get-PaperSpace函数如何获得非当前布局下的图元?
vla-get-PaperSpace只可以获得当前布局下的图元参数,如果有多个布局的话,其他布局内的图元无法获得其属性。
请问,如何解决?

millermin 发表于 2013-1-4 11:28:48

菡萏 发表于 2012-10-9 11:11 static/image/common/back.gif
(vlax-for obj (vla-get-block (vla-item (vla-get-layouts dbxdoc) layoutname))
...
)

我觉得这个代码有点问题,因为非当前,有不开图,所以layoutname估计不会接很准确,而且靠记忆也不是编程的目的。应该让程序自己遍历。所以我改成这样,也基本是学你的方法。
(vlax-for layout layouts
   (if (/= "Model" (vla-get-name layout))   
    (progn
       (setq block (vla-get-block layout))
            (vlax-for obj block

菡萏 发表于 2012-10-8 16:08:18

本帖最后由 菡萏 于 2012-10-8 16:08 编辑

获取对象属性路径: DBXDOC==>Layouts==>Layout==>Block==>Object

libo2000 发表于 2012-10-8 21:44:45

我对vlisp不是太熟,楼上能否详细些?

libo2000 发表于 2012-10-9 10:36:18

菡萏 发表于 2012-10-8 16:08 static/image/common/back.gif
获取对象属性路径: DBXDOC==>Layouts==>Layout==>Block==>Object

有没有具体代码?

菡萏 发表于 2012-10-9 11:11:29

libo2000 发表于 2012-10-9 10:36 static/image/common/back.gif
有没有具体代码?

(vlax-for obj (vla-get-block (vla-item (vla-get-layouts dbxdoc) layoutname))
...
)

libo2000 发表于 2012-10-9 16:17:08

菡萏 发表于 2012-10-9 11:11 static/image/common/back.gif
(vlax-for obj (vla-get-block (vla-item (vla-get-layouts dbxdoc) layoutname))
...
)

ok.
thank。
页: [1]
查看完整版本: 不打开dwg情况下,vla-get-PaperSpace函数如何获得非当前布局下的图元?