aaacjh 发表于 2012-6-23 12:20:37

ssget可以实现吗?


1.求助于前辈们!如何实现,先行谢过!
2.我想ssget是否具备,定义两对角点实现选择。
因为坛上有求取最大边界矩形对角点源码,如下:
(vl-load-com)
(setq Obj (vlax-ename->vla-object (ssname ss 0)))
(vla-GetBoundingBox obj 'minpoint 'maxpoint)
(setq minX (car (vlax-safearray->list minpoint)))
(setq minY (cadr (vlax-safearray->list minpoint)))
(setq maxX (car (vlax-safearray->list maxpoint)))
(setq maxY (cadr (vlax-safearray->list maxpoint)))
(setq index 0)
(while (< index (sslength ss))
(setq Obj (vlax-ename->vla-object (ssname ss index)))
(vla-GetBoundingBox obj 'minpoint 'maxpoint)
(setq #minX (car (vlax-safearray->list minpoint)))
(setq #minY (cadr (vlax-safearray->list minpoint)))
(setq #maxX (car (vlax-safearray->list maxpoint)))
(setq #maxY (cadr (vlax-safearray->list maxpoint)))
(if (<= #minX minX) (setq minX #minX))
(if (<= #minY minY) (setq minY #minY))
(if (>= #maxX maxX) (setq maxX #maxX))
(if (>= #maxY maxY) (setq maxY #maxY))
    (setq index (1+ index))
    )
       (setq MinPoint (list minX minY))
      (setq MaxPoint (list maxX maxY))
       (vl-cmdf "RECTANG" minPoint MaxPoint)

dalin1985 发表于 2012-7-6 08:36:06

顶一下 和你一起学习

aaacjh 发表于 2012-7-17 19:01:46

dalin1985 发表于 2012-7-6 08:36 static/image/common/back.gif
顶一下 和你一起学习

我自己学不用力,其实这实现起来是蛮简单的,先用坛中程序取得图元边界矩形对角点point1和point2,再用(ssget “_c” point1 point2 (list ))即可实现该功能。
页: [1]
查看完整版本: ssget可以实现吗?