BIGAL 发表于 2022-7-6 08:05:20

按名称删除布局选项卡

我访问布局选项卡没有问题,只需要帮助按名称删除特定布局选项卡。
 

(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 ?

pBe 发表于 2022-7-6 08:19:24

(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)
   )

Lee Mac 发表于 2022-7-6 08:26:36

另一方面,提供文档对象:
 
(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。

BIGAL 发表于 2022-7-6 08:34:26

感谢PBe和李,我们有一些第三方软件,总是创建一个临时布局。自动绘图也会绘制它。

Lee Mac 发表于 2022-7-6 08:36:08

欢迎你,比格尔;关于代码的任何问题,只管问

BIGAL 发表于 2022-7-6 08:46:33

代码很好,我们在这里为Dummy的系统绘制了一个图,这样可以更容易地避免删除任何不需要的绘制布局。其余部分用VL编写,因此已经调用了doc。将在创建打印列表之前粘贴。

pBe 发表于 2022-7-6 08:54:24

 
你的PfD生成一个随机布局名称吗?

BIGAL 发表于 2022-7-6 08:59:06

并没有布局总是一个固定的名字感谢Pbe的要求,目前我的电视屏幕,但不幸的是,仍然需要眼镜才能看到键盘。但愿我学会了正确打字。

pBe 发表于 2022-7-6 09:12:23

 
 
好奇就是一切。。
 
干杯Bigal
页: [1]
查看完整版本: 按名称删除布局选项卡