QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1240|回复: 2
收起左侧

[求助] 关于宏问题

[复制链接]
发表于 2015-8-10 11:42:31 | 显示全部楼层 |阅读模式 来自: 中国广东深圳

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
如下代码:
9 E- R6 R# z- D: w) yDim swApp As Object
0 x, p$ z  ?+ Z# N  J3 ]Dim Part As Object" H3 X" o5 W+ C( x
Dim boolstatus As Boolean! ~1 t% V) }0 i5 e' j+ z& B
Dim longstatus As Long, longwarnings As Long* W7 u8 n8 V0 O- C
Sub main()' j( |$ I% ]+ ~
Set swApp = Application.SldWorks
4 x1 ~- V9 a9 i+ KSet Part = swApp.ActiveDoc' X3 Y$ {) q  H& h  K$ r
Dim swFeat As SldWorks.Feature
9 R  v7 b- Q; y; \Dim swFeats() As SldWorks.Feature, O, ~( L1 [$ p& p2 `
ReDim Preserve swFeats(Part.GetFeatureCount())
. ^1 V8 u4 o7 C5 m  m: wSet swFeat = Part.FirstFeature. Y! B2 ]+ m: q- T, X  R
Dim i As Integer0 M/ A0 Y3 W" d( v/ z3 N
For i = 0 To Part.GetFeatureCount()
* |" g) C' s0 f' P" [$ z8 A   Set swFeats(i) = swFeat.GetNextFeature
4 k% c0 N: m( e7 E    If Not IsEmpty(swFeats(i)) Then& k3 }, R/ t4 q1 v* p
     If swFeats(i).GetTypeName = "CutListFolder" Or swFeats(i).GetTypeName = "SubWeldFolder" Then& Y& X) v% J: \- d! h  a
      ‘SetFeatureCustomProps swFeats(i)5 N! E5 m$ x- f$ S# n5 h; Y" H
     End If ; ?* {) w# j$ B6 ?
   End If
. l/ i% v. d% ?" a4 A, l   Set swFeat = swFeats(i); \8 Z; V5 _' }' ]! ]! w+ E  x
  Next0 A% |7 g5 i2 |! E$ Z- t" m
End Sub9 c8 a+ j$ J& E# P

4 y5 m' ?# b$ K0 W8 F/ K4 l) l3 X% ^问题:当 swFeats(i)=nothing时, If Not IsEmpty(swFeats(i))判断无效,还继续执行。
1 z1 P# p9 b) E1 U( d请高人指点一下。谢谢!!; D0 s% N$ I) A0 R2 s  o3 v
* T3 }5 ]( ]5 S4 H7 a" A7 }. p
发表于 2015-8-10 12:57:19 | 显示全部楼层 来自: 中国陕西西安
你将Dim i As Integer以及后面的语句变为:6 V7 j# _' F. D; ~/ e0 q' d/ _6 ^
Do While Not swFeat Is Nothing/ W* \' x, b/ l! V
    If "CutListFolder" = swFeat.GetTypeName Or "SubWeldFolder" = swFeat.GetTypeName Then
( c( [3 M, {3 W4 s: F        'SetFeatureCustomProps swFeats(i)$ {* n8 [: C6 f6 r. h$ c
      6 N2 @/ G6 k. A$ ]2 G- N! s4 h
    End If
. V6 i2 V* X/ P, W: i" l$ V5 D4 ]    Set swFeat = swFeat.GetNextFeature
2 W  S+ j' S: d, o* iLoop2 s! a( M7 `% s! w
试一试!

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

 楼主| 发表于 2015-8-10 14:22:10 | 显示全部楼层 来自: 中国广东深圳
lhl2008 发表于 2015-8-10 12:57( S2 {4 q$ M. n5 x
你将Dim i As Integer以及后面的语句变为:9 |1 o1 s8 _: Y# P. i0 i- G
Do While Not swFeat Is Nothing1 ^: f1 ^( i- s  i! j/ x. _* g
    If "CutListFolder" = s ...
- ^4 e7 {+ k; g! ]- W
精简!!2 q- f+ o* e5 h0 D
没问题了。+ A, B8 @: ^5 j$ Z- {4 _2 V+ X; L
谢谢!!!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表