QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[求助] 关于宏问题

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

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

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

x
如下代码:% e) u' i  p3 O" F
Dim swApp As Object0 P$ p" T. _- \' [
Dim Part As Object$ l2 k9 l+ z2 z0 S
Dim boolstatus As Boolean+ n9 m( }7 t0 \. |& s+ B0 S
Dim longstatus As Long, longwarnings As Long
( N: n% h' ?# K* H9 h% nSub main()/ B1 `2 R" L: L  {0 K
Set swApp = Application.SldWorks# r7 k  y. O, E1 z8 v7 V% l6 B
Set Part = swApp.ActiveDoc) j4 H9 a' P' t/ a& E+ s
Dim swFeat As SldWorks.Feature5 L0 G! F3 @  g: L
Dim swFeats() As SldWorks.Feature) \' W# [# a9 k# B- K
ReDim Preserve swFeats(Part.GetFeatureCount())" {* O, |9 z) T3 L
Set swFeat = Part.FirstFeature
  U: z' e) k) q- |4 V( K3 C* X Dim i As Integer
4 I; K4 }: E( M$ ^( h4 } For i = 0 To Part.GetFeatureCount()* k8 M( x1 ~  F( Q; w& z
   Set swFeats(i) = swFeat.GetNextFeature
- C  J3 x) K2 x    If Not IsEmpty(swFeats(i)) Then
0 J7 ^1 ^, a, t3 K0 @     If swFeats(i).GetTypeName = "CutListFolder" Or swFeats(i).GetTypeName = "SubWeldFolder" Then2 k3 \  R1 I( X; W  Q4 s
      ‘SetFeatureCustomProps swFeats(i)4 p& y% h# I  ~7 U
     End If
* M  f" a7 M; J; n9 k   End If
+ x7 s3 A) F& v3 o; ~+ g   Set swFeat = swFeats(i)3 {6 \1 ?2 y# u8 G# J3 h  X
  Next8 ?+ p0 Z1 \$ H% M5 _4 C% B9 N
End Sub
4 }- n5 E; g/ ^& ^; }8 s# g5 W# \1 S% [$ V, j7 y0 y) N
问题:当 swFeats(i)=nothing时, If Not IsEmpty(swFeats(i))判断无效,还继续执行。% j' ?$ d% d5 |& J# o
请高人指点一下。谢谢!!2 P+ ~' f$ w! A% ?% C2 L

% h1 Z' d& Q# E5 D" X
发表于 2015-8-10 12:57:19 | 显示全部楼层 来自: 中国陕西西安
你将Dim i As Integer以及后面的语句变为:
* T' I: ]% m; l) \. G- [8 B/ vDo While Not swFeat Is Nothing$ r$ x. ^$ d; N" g
    If "CutListFolder" = swFeat.GetTypeName Or "SubWeldFolder" = swFeat.GetTypeName Then" \7 Q) A6 L$ A( n
        'SetFeatureCustomProps swFeats(i)
' I- V: F' J- S8 O      
7 f5 ~, ]* Q2 ~4 g& }8 l    End If# H# n/ v3 I! y
    Set swFeat = swFeat.GetNextFeature8 O1 p) n8 p7 ~
Loop- L4 M$ k7 L$ S7 D
试一试!

评分

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

查看全部评分

 楼主| 发表于 2015-8-10 14:22:10 | 显示全部楼层 来自: 中国广东深圳
lhl2008 发表于 2015-8-10 12:57
! L2 T0 A" F* j; O3 v9 y; A你将Dim i As Integer以及后面的语句变为:
: ^" U: ~1 A/ `% VDo While Not swFeat Is Nothing3 y4 a' {' ?) M$ r% f4 G: ^  \. {
    If "CutListFolder" = s ...
( q3 Y, U0 C0 j  {2 A! z, m6 }
精简!!) W" Y+ i/ K2 W9 z. w- L( v$ Y* T
没问题了。7 O5 ]9 F8 v: Y) t: n9 y' v
谢谢!!!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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