Tharwat 发表于 2022-7-6 08:25:45

 
很好的解释,我以前不知道这样。
 
但是这个函数呢
(定义abc(o p q r/v w x y z)
这是否意味着在实施之前必须有价值观的支持
defun函数
 
谢谢
塔瓦特

ksperopoulos 发表于 2022-7-6 08:29:01

感谢VVA的解释。因此,如果我要将它们包含在另一个不带defun名称的lisp中,以通过该命令携带变量,则需要这些。

Guest jjorozco 发表于 2022-7-6 08:34:16

该代码不适用于纸面视图

pBe 发表于 2022-7-6 08:35:09

因为它调用了对命令函数的调用。它仅“擦除”当前布局上的对象。
 
快速模式:
(defun C:edims (/ ss)
(if (setq ss (ssget "_x" (list (cons 0 "*DIMENSION"))))
      (repeat (sslength ss)
             (entdel (ssname ss 0))
             (ssdel (ssname ss 0) ss))
       )
(princ)
)

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

另一个:
 
(defun c:deldims ( / d )
   (vlax-for b (vla-get-blocks (setq d (vla-get-activedocument (vlax-get-acad-object))))
       (if (eq :vlax-false (vla-get-isxref b))
         (vlax-for o b
               (if (wcmatch (vla-get-objectname o) "AcDb*Dimension*")
                   (vl-catch-all-apply 'vla-delete (list o))
               )
         )
       )
   )
   (vla-regen d acallviewports)
   (princ)
)
(vl-load-com) (princ)将删除所有布局、所有块和嵌套块中的所有标注类型。
 
将忽略外部参照和锁定图层上的尺寸。

pBe 发表于 2022-7-6 08:42:18

 
聪明的是,我想知道为什么vla-**在遇到锁定层时会这样(我指的是错误),而entdel/entmod thingy(似乎)像什么都没发生一样轻快地穿过它们?

Lee Mac 发表于 2022-7-6 08:45:21

 
entdel/entmod仍然无法删除/修改锁定层上的实体,但是,当这些函数失败时,它们返回nil而不是error。当Visual LISP函数失败时,它们会导致异常发生。
 
比较以下行为:
 

AutoLISP               Visual LISP
------------------------------------------
entdel                   vla-delete
entmod                   vlax-put-property
tblsearch / dictsearch   vla-item
etc.

pBe 发表于 2022-7-6 08:49:48

 
知道了。谢谢李
 
干杯

Guest jjorozco 发表于 2022-7-6 08:51:45

可以将其应用于锁定层?
页: 1 [2]
查看完整版本: 删除所有尺寸