渠辉 发表于 2021-11-20 19:59:06

lisp选择集怎行与VL选择集转换

lisp选择集怎行与VL选择集转换??

Gu_xl 发表于 2021-11-23 08:56:08

本帖最后由 Gu_xl 于 2021-11-23 08:57 编辑

;;(gxl-Sel-SS->variant ss) 选择集物体转变体
(defun gxl-Sel-SS->variant (ss / c r en)
(repeat (setq c (sslength ss))
    (setq en (ssname ss (setq c (1- c))))
    (if(entget en)
      (setq r (cons en r))
    )
)
(vlax-make-variant
    (vlax-safearray-fill
      (vlax-make-safearray
vlax-vbObject
(cons 0 (1- (length r)))
      )
      (mapcar 'vlax-ename->vla-object r)
    )
)
)

wx302008008 发表于 2021-11-22 12:22:24

lisp选择集中的每一个图元,可以通过图元名转换成vl对象:
使用vlax-ename->vla-object 函数

lee50310 发表于 2021-11-23 13:18:07

本帖最后由 lee50310 于 2021-11-25 01:19 编辑

下面有代碼

渠辉 发表于 2021-11-25 19:46:49

(defun MJ:Export (fileName Extension SelectonSet)
(vla-export
    (vla-get-ActiveDocument (vlax-get-acad-object))
    fileName
    Extension
    SelectonSet )

渠辉 发表于 2021-11-25 19:48:07

SelectonSet
页: [1]
查看完整版本: lisp选择集怎行与VL选择集转换