tft每日頭條

 > 生活

 > catia怎麼用vba獲取拓撲面的面積

catia怎麼用vba獲取拓撲面的面積

生活 更新时间:2024-07-17 19:11:54

主程序:RemoveInactivate

遍曆程序:GetDeactived

執行程序:RemoveDeactived範圍:已選擇的産品或零部件及其子級

Public Sub RemoveInactivate()

CATIA.DisplayFileAlerts = False

Dim Selection1 'As Selection

Set Selection1 = CATIA.ActiveDocument.Selection

Selection1.Clear

Dim InputObjectType(0)

InputObjectType(0) = "Product"

Selection1.SelectElement2 InputObjectType, "Select a Component", False

GetDeactived Selection1.Item(1).Value

CATIA.ActiveDocument.product.Update

CATIA.DisplayFileAlerts = True

End Sub

遍曆目标對象

Private Sub GetDeactived(ByVal oSubProd As product)

' On Error Resume Next

Dim jj As Integer

Dim oSubProds As products

Set oSubProds = oSubProd.products

RemoveDeactived oSubProds

For jj = 1 To oSubProds.Count

RemoveDeactived oSubProds.Item(jj).products

If Not oSubProds.Item(jj).HasAMasterShapeRepresentation() Then

Dim oSubSubProds As products

Set oSubSubProds = oSubProds.Item(jj).products

If oSubSubProds.Count > 0 Then

Call GetDeactived(oSubProds.Item(jj))

End If

End If

Next

End Sub

移除非激活的對象

Private Sub RemoveDeactived(ByVal oSubProds As products)

On Error Resume Next

Dim parameter As parameter, parameters2 As parameters

Dim i As Integer

For i = 1 To oSubProds.Count

Set parameters2 = oSubProds.Item(i).parameters.subList(oSubProds.Item(i), False)

Set parameter = parameters2.Item(1)

If parameter.ValueAsString = "false" Then

parameter.ValuateFromString "true"

oSubProds.Remove oSubProds.Item(i).Name

End If

Next

End Sub

示例:

catia怎麼用vba獲取拓撲面的面積(CATIA二次開發VBA)1

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved