solidworks二次开发--10--从example中寻找

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

solidworks的api帮助还是很全面的,里面有好多见简单而有效的程序,成天在api帮助里泡着,现在做程序的速度是越来越快。好像当年成天在excel中录制宏看代码的感觉。下面的程序是api帮助里的,它用来显示装配体的所有零部件。我给我的同事们用,他们觉得不错 :)。程序使用了一个简单的递归方法遍历了装配体。

Make All Assembly Components Visible Example (VB)This example shows how to make all assembly components visible.

'---------------------------------------

'

' Preconditions: An assembly document is open.

'

' Postconditions: Any hidden assembly components are made visible.

'

'---------------------------------------

Option Explicit

Public Enum swComponentVisibilityState_e

}}-- }}--swComponentHidden = 0

}}-- }}--swComponentVisible = 1

End Enum

Sub TraverseComponent _

( _

}}-- }}--swComp As SldWorks.Component2, _

}}-- }}--nLevel As Long _

)

}}-- }}--Dim vChildCompArr }}-- }}--As Variant

}}-- }}--Dim vChildComp }}-- }}--As Variant

}}-- }}--Dim swChildComp }}-- }}--As SldWorks.Component2

}}-- }}--Dim swCompConfig }}-- }}--As SldWorks.Configuration

}}-- }}--Dim sPadStr }}-- }}--As String

}}-- }}--Dim i }}-- }}--As Long

}}-- }}--

}}-- }}--For i = 0 To nLevel - 1

}}-- }}--sPadStr = sPadStr + " }}-- }}--"

}}-- }}--Next i

}}-- }}--

}}-- }}--vChildCompArr = swComp.GetChildren

}}-- }}--For Each vChildComp In vChildCompArr

}}-- }}--Set swChildComp = vChildComp

}}-- }}--

}}-- }}--Debug.Print sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & ">"

}}-- }}--

}}-- }}--If swComponentHidden = swChildComp.Visible Then

}}-- }}--swChildComp.Visible = swComponentVisible

}}-- }}--End If

}}-- }}--

}}-- }}--TraverseComponent swChildComp, nLevel + 1

}}-- }}--Next

End Sub

Sub main()

}}-- }}--Dim swApp }}-- }}--As SldWorks.SldWorks

}}-- }}--Dim swModel }}-- }}--As SldWorks.ModelDoc2

}}-- }}--Dim swAssy }}-- }}--As SldWorks.AssemblyDoc

}}-- }}--Dim swConf }}-- }}--As SldWorks.Configuration

}}-- }}--Dim swRootComp }}-- }}--As SldWorks.Component2

}}-- }}--Dim bRet }}-- }}--As Boolean

}}-- Set swApp = Application.SldWorks

}}-- }}--Set swModel = swApp.ActiveDoc

}}-- }}--Set swConf = swModel.GetActiveConfiguration

}}-- }}--Set swRootComp = swConf.GetRootComponent}}--}}--

}}-- }}--Debug.Print "File = " & swModel.GetPathName

}}-- TraverseComponent swRootComp, 1

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航