asos2000 发表于 2022-7-6 07:19:17

如何处理中的对象

我有一个处理对象的代码,我想修改这个代码来处理块内的对象
 
对于此lisp
http://www.cadtutor.net/forum/showthread.php?2019-展平&p=229498&viewfull=1#post229498
我想修改以对块内的实体执行相同的操作。

Lee Mac 发表于 2022-7-6 08:03:37

试试这个:

;; Flatten-Lee Mac
(defun c:flat ( / d )
   (vlax-for b (vla-get-blocks (setq d (vla-get-activedocument (vlax-get-acad-object))))
       (if (= :vlax-false (vla-get-isxref b))
         (vlax-for o b
               (foreach x '(1e99 -1e99)
                   (vl-catch-all-apply 'vla-move
                     (list o (vlax-3D-point 0 0 0) (vlax-3D-point 0 0 x))
                   )
               )
         )
       )
   )
   (vla-regen d acallviewports)
   (princ)
)
(vl-load-com) (princ)

asos2000 发表于 2022-7-6 08:29:16

此lisp更改块比例
例如,将比例从
比例X 1
比例Y 1
比例Z 1
 

比例X 1
比例Y 1
缩放Z 0
页: [1]
查看完整版本: 如何处理中的对象