乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 40|回复: 2

PickfirstSelectionSet选择集的问题?

[复制链接]

17

主题

68

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2007-11-16 13:36:00 | 显示全部楼层 |阅读模式
在VBA中使用PickfirstSelectionSet选择集的方法,在本论坛已经被讨论过了。在我的程序中因要利用PickfirstSelectionSet选择集,就按这些方法试了试。发现仅调用一次PickfirstSelectionSet选择集时,没有问题。但当多次调用PickfirstSelectionSet选择集时,还是有错误发生。不知道为什么?
程序如下:
Option Explicit
Public Sub PFSS()
   Dim ssetObj As AcadSelectionSet
   Dim obj As AcadObject
   Set ssetObj = PickFirstSSet
   If Not (ssetObj Is Nothing) Then
      For Each obj In ssetObj
         obj.Delete
      Next
      MsgBox ssetObj.Count & " object(s) deleted"
   End If
   
End Sub
Function PickFirstSSet() As AcadSelectionSet
     On Error Resume Next
     ThisDrawing.SelectionSets("PICKFIRST").Delete
     On Error GoTo 0
     Set PickFirstSSet = ThisDrawing.PickfirstSelectionSet
End Function
'
';;;下面是运行该VBA的LSP
';;; Path of PickFirstSelectSet.dvb is supposed as "...\\\\"
';;;
'(defun c:ccVLA ()
'   (princ)
'   (setq envcmd (getvar "CMDECHO"))
'   (setvar "CMDECHO" 0)
'   (vl-load-com)
'   (vla-runmacro (vlax-get-acad-object) (strcat (vla-get-path (vlax-get-acad-object)) ""))
'   (setvar "CMDECHO" envcmd)
'   (princ)
')

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

124

主题

837

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1333
发表于 2007-11-16 21:40:00 | 显示全部楼层
Not (ssetObj Is Nothing)
不知道用的对不对?
是不是要通过ssetObj.Count来限定一下?
回复

使用道具 举报

17

主题

68

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2007-11-19 12:27:00 | 显示全部楼层
第二次调用时,错误发生在函数PickFirstSSet() 的
     Set PickFirstSSet = ThisDrawing.PickfirstSelectionSet
语句。
该函数引用站内mccad发的帖子
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 17:40 , Processed in 0.375191 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表