.


:




:

































 

 

 

 





() SW

. . ( ). , , .

( ) Transform2 IComponent2. . , .

(MathTransform) , .

SW api .

9 (a, b, c, d, e, f, g, h, i) , 3 (j, k, l) . m . (n, o, p) .

.

(a, b, c) X. , , X . :

o a X X .

o b Y X .

o c Z X .

(d, e, f) .

o d X Y .

o e Y Y .

o f Z Y .

, 3 (g, h, i).

o g X Z .

o h Y Z .

o i Z Z .

j, k, l (9, 10, 11 ) , . -, , , j, k l X, Y, Z .

o j X .

o k Y .

o l Z .

Transform2 , IMathTransform.

( ), ArrayData IMathTransform.

.

.

.

(Transform2)

(ArrayData)

, (ArrayData)

(Transform2)

.

. . . . . X X . .)

Visual Basic

Option Explicit Dim swApp As SldWorks.SldWorks Dim model As ModelDoc2 Dim assem As AssemblyDoc Dim sel As SelectionMgr Dim comp As Component2 Dim transform As MathTransform Dim dataTransform As Variant

  Option Explicit Dim swApp As SldWorks.SldWorks Dim model As ModelDoc2 Dim assem As AssemblyDoc Dim sel As SelectionMgr Dim comp As Component2 Dim transform As MathTransform Dim dataTransform As Variant

.

o comp () .

o transform .

o dataTransform .

Visual Basic

Sub main() Set swApp = Application.SldWorks Set model = swApp.ActiveDoc Set assem = model Set sel = model.SelectionManager Set comp = sel.GetSelectedObjectsComponent3(1, -1)

  Sub main() Set swApp = Application.SldWorks Set model = swApp.ActiveDoc Set assem = model Set sel = model.SelectionManager Set comp = sel.GetSelectedObjectsComponent3(1, -1)

.

GetSelectedObjectsComponent3(1, -1) ISelectionMgr, GetSelectedObject6, .

[IComponent2] = [ISelectionMgr]. GetSelectedObjectsComponent3(Index, Mark)

o Index . 1.

o Mark .

-1 ,

0

Visual Basic

Set transform = comp.Transform2 dataTransform = transform.ArrayData

  Set transform = comp.Transform2 dataTransform = transform.ArrayData

.

:

X :

Visual Basic

dataTransform(0) = 1 dataTransform(1) = 0 dataTransform(2) = 0

  dataTransform(0) = 1 dataTransform(1) = 0 dataTransform(2) = 0

Y :

Visual Basic

dataTransform(3) = 0 dataTransform(4) = 1 dataTransform(5) = 0

  dataTransform(3) = 0 dataTransform(4) = 1 dataTransform(5) = 0

Z :

Visual Basic

dataTransform(6) = 0 dataTransform(7) = 0 dataTransform(8) = 1

  dataTransform(6) = 0 dataTransform(7) = 0 dataTransform(8) = 1

(0, 0, 0) .

Visual Basic

dataTransform(9) = 0 dataTransform(10) = 0 dataTransform(11) = 0

  dataTransform(9) = 0 dataTransform(10) = 0 dataTransform(11) = 0

.

Visual Basic

transform.ArrayData = dataTransform comp.Transform2 = transform End Sub

  transform.ArrayData = dataTransform comp.Transform2 = transform End Sub

. .

. .

, , . , :

Visual Basic

Set comp = sel.GetSelectedObjectsComponent3(1, -1) Set transform = comp.Transform2 dataTransform = transform.ArrayData Dim el For Each el In dataTransform Debug.Print el Next el

  Set comp = sel.GetSelectedObjectsComponent3(1, -1) Set transform = comp.Transform2 dataTransform = transform.ArrayData Dim el For Each el In dataTransform Debug.Print el Next el

 

. . Immediate .

SW api .

1. . GetConfigurationByName IModelDoc

2. . GetRootComponent3 IConfiguration.

3. . GetChildren IComponent2.


.

Visual Basic

Option Explicit Dim swApp As SldWorks.SldWorks Dim model As ModelDoc2 Dim assem As AssemblyDoc Dim rootComp As Component2 Dim config As Configuration

  Option Explicit Dim swApp As SldWorks.SldWorks Dim model As ModelDoc2 Dim assem As AssemblyDoc Dim rootComp As Component2 Dim config As Configuration

.

rootComp Component2. .

Visual Basic

Sub main() Set swApp = Application.SldWorks Set model = swApp.ActiveDoc Set assem = model

  Sub main() Set swApp = Application.SldWorks Set model = swApp.ActiveDoc Set assem = model

.

Visual Basic

Set config = model.ConfigurationManager.ActiveConfiguration

  Set config = model.ConfigurationManager.ActiveConfiguration

.

Visual Basic

Set rootComp = config.GetRootComponent3(True) Debug.Print rootComp.Name2

  Set rootComp = config.GetRootComponent3(True) Debug.Print rootComp.Name2

. Name2 IComponent2.

Visual Basic

Call infoParts(rootComp)

  Call infoParts(rootComp)

.

Visual Basic

Function infoParts(comp As Component2) Dim varComp As Variant Dim elem varComp = comp.getChildren If arrIsEmpty(varComp) = False Then Debug.Print "-:" For Each elem In varComp If elem.GetSuppression <> 0 And elem.IsPatternInstance = False Then Debug.Print elem.Name2 End If Set comp = elem infoParts comp Next End If End Function

  Function infoParts(comp As Component2) Dim varComp As Variant Dim elem varComp = comp.getChildren If arrIsEmpty(varComp) = False Then Debug.Print "-:" For Each elem In varComp If elem.GetSuppression <> 0 And elem.IsPatternInstance = False Then Debug.Print elem.Name2 End If Set comp = elem infoParts comp Next End If End Function

infoParts . :

Visual Basic

Dim varComp As Variant Dim elem

  Dim varComp As Variant Dim elem

varComp

Visual Basic

varComp = comp.getChildren

  varComp = comp.getChildren

getChildren . . ( ) . .

Visual Basic

If arrIsEmpty(varComp) = False Then

  If arrIsEmpty(varComp) = False Then

:

Visual Basic

Function arrIsEmpty(arr As Variant) As Boolean Dim u As Integer On Error Resume Next u = UBound(arr) If Err = 0 And UBound(arr) <> -1 Then arrIsEmpty = False Else arrIsEmpty = True End If End Function

  Function arrIsEmpty(arr As Variant) As Boolean Dim u As Integer On Error Resume Next u = UBound(arr) If Err = 0 And UBound(arr) <> -1 Then arrIsEmpty = False Else arrIsEmpty = True End If End Function

. : VBA.

Visual Basic

For Each elem In varComp If elem.GetSuppression <> 0 And elem.IsPatternInstance = False Then Debug.Print elem.Name2 End If Set comp = elem infoParts comp Next

  For Each elem In varComp If elem.GetSuppression <> 0 And elem.IsPatternInstance = False Then Debug.Print elem.Name2 End If Set comp = elem infoParts comp Next

, for Each.

Visual Basic

If elem.GetSuppression <> 0 And elem.IsPatternInstance = False Then

  If elem.GetSuppression <> 0 And elem.IsPatternInstance = False Then

, .

infoParts. .

- :

, .





:


: 2017-02-11; !; : 660 |


:

:

. .
==> ...

1483 - | 1445 -


© 2015-2024 lektsii.org - -

: 0.027 .