按名称删除布局选项卡
我访问布局选项卡没有问题,只需要帮助按名称删除特定布局选项卡。(vlax-for lay (vla-get-Layouts doc)
(setq plotabs (cons (vla-get-name lay) plotabs))
)
(setq plottablist (acad_strlsort plotabs))
(setq len (length plottablist))
(setq x 0)
(repeat len
(setq name (nth x plottablist))
(if (= name "layout to be deleted")
delete tab ?
(defun DelLay (name )
(foreach nm (layoutlist)
(if (eq nm name)
(vla-delete
(vla-item
(vla-get-layouts
(vla-get-ActiveDocument
(vlax-get-acad-object)))
nm))
)
)
(princ)
) 另一方面,提供文档对象:
(defun DeleteLayout ( doc name / item )
(if
(not
(vl-catch-all-error-p
(setq item
(vl-catch-all-apply 'vla-item (list (vla-get-layouts doc) name))
)
)
)
(not (vla-delete item))
)
)
例如。:
(DeleteLayout (vla-get-activedocument (vlax-get-acad-object)) "Layout1")
如果删除了布局,则返回T;如果未找到布局,则返回nil。 感谢PBe和李,我们有一些第三方软件,总是创建一个临时布局。自动绘图也会绘制它。 欢迎你,比格尔;关于代码的任何问题,只管问 代码很好,我们在这里为Dummy的系统绘制了一个图,这样可以更容易地避免删除任何不需要的绘制布局。其余部分用VL编写,因此已经调用了doc。将在创建打印列表之前粘贴。
你的PfD生成一个随机布局名称吗? 并没有布局总是一个固定的名字感谢Pbe的要求,目前我的电视屏幕,但不幸的是,仍然需要眼镜才能看到键盘。但愿我学会了正确打字。
好奇就是一切。。
干杯Bigal
页:
[1]