abra-CAD-abra 发表于 2022-7-5 18:29:38

布局的数字位置

据我所知,“vla get TabOrder”提供了一个布局列表(按名称),按照当前的排列顺序排列。
 
是否可以通过lisp获得(分配)一个表示每个布局位置的数字(整数),不包括模型(可以为零)?
 
因此,例如,在新图形中,“Layout1”将返回“1”或“01”。
 
干杯

BIGAL 发表于 2022-7-5 18:47:56

看看我的Goto它使用了一个数字是的模型是零http://www.cadtutor.net/forum/showthread.php?84430-移动布局重命名布局转到布局
 
转到0将转到模型

abra-CAD-abra 发表于 2022-7-5 18:55:16

谢谢BIGAL,
 
我去看看

Lee Mac 发表于 2022-7-5 19:05:44

 
不完全正确-vla get taborder返回布局对象的taborder属性值,这是一个整数,表示布局选项卡位置的从零开始的索引。
 
 
你的意思是这样的吗?
(vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object)))
   (setq lst (cons (cons (vla-get-name lay) (vla-get-taborder lay)) lst))
)
_$ lst
(("Model" . 0) ("Layout1" . 1))

abra-CAD-abra 发表于 2022-7-5 19:11:28

李,
 
感谢您的回复,并感谢您纠正我对vla get taborder的理解。因为我找不到,你知道这是在哪里记录的吗?
 
在代码方面,我正在努力实现以下目标:
 
不管布局名称如何,每个布局都有一个数字,因此可以用数字识别,类似于比格尔的“goto”函数。
 
因此,使用基于零的索引,其中模型为“0”,对于“n”个布局,第一个布局将为“1”,第二个布局为“2”,依此类推(我假设最多99个布局-我很少使用超过50个)。
 
使用这个,我打算控制布局中某些块的可见性状态。
 
一旦我回到办公室,我可以尝试合并比格尔的代码。
 
干杯,伙计们。。

Lee Mac 发表于 2022-7-5 19:29:18

 
这里有一个参考。

abra-CAD-abra 发表于 2022-7-5 19:33:56

 
感觉
 
谢谢李。
页: [1]
查看完整版本: 布局的数字位置