adc 发表于 2015-8-3 14:40:26

请教程序问题在哪里?

下面是填充开关的程序,请教为什么图里只要有两个完全一样的填充时,该填充就不能被关闭和打开?
(defun c:tt ( / n x)
(vl-load-com)
(foreach n (mapcar
       '(lambda (x)(l_dxf 8 (entget x))      )
       (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget "x" '((0 . "HATCH"))))))
   )
    (if
      (=(vla-get-layeron
      (vla-item
       (vla-get-layers
         (vla-get-activedocument   (vlax-get-acad-object))
      )
      n
      )   
    ) :vlax-true)
    (vla-put-layeron
      (vla-item
       (vla-get-layers
         (vla-get-activedocument   (vlax-get-acad-object))
      )
      n
      )
      :vlax-false
    )
      (vla-put-layeron
      (vla-item
       (vla-get-layers
         (vla-get-activedocument   (vlax-get-acad-object))
      )
      n
      )
      :vlax-true
    )
)
    )
)
(defun l_dxf (cd eent) (cdr(assoc cd eent)))

adc 发表于 2015-8-4 10:47:22

自己顶一下
页: [1]
查看完整版本: 请教程序问题在哪里?