.


:




:

































 

 

 

 





- , , (. API Application Programming Interface). , , . , . , , .. . , API- . . Solid Works, Basic.

, ( ), . , , : , swApp, (), Model , Assembly:

Dim swApp As Object: Set swApp = Application.SldWorks

Dim Model As ModelDoc2: Set Model = swApp.ActiveDoc

Dim Assembly As AssemblyDoc: Set Assembly = swApp.ActiveDoc.

.

( 1, 8.1). . , , . Selection Manager:

Dim SelMan As SelectionMgr: Set SelMan = Model.SelectionManager.

- :

For i = 1 To SelectedObjectCount

BaseCollection.Add Selman.GetSelectedObject6(i, -1)

Next i,

SelectedObjectCount , . BaseCollection. .

( 2) ‑ ( 4.1). , , . . Solid Works ‑ Face2. , , U V [2]. GetUVBounds, Face2. , : (Umin, Umax, Vmin, Vmax). :

Dim FaceUVBounds, Dim1 As Double, Dim2 As Double

FaceUVBounds = BaseFace.GetUVBounds: Dim1 = Fabox(1) - Fabox(0): Dim2 = Fabox(3) - Fabox(2).

 

1. ‑: F = {fi}, i =1..3
2. , SB
3. , SL
4.
6.
8.
9.
10.
5.
7.
11.

 

8.1 -

 

( 3) . , keName. Assembly AddComponent, AssemblyDoc:

[swApp.OpenDoc keName &, swDocPART] [3]

dim keComponet as Component: Set keComponet = Assembly.AddComponent (keName, Pt(0), Pt(1), Pt(2))

[swApp.CloseDoc keName],

Pt(i) - ‑ AddComponent. , , , . keComponet , .

AddMate3, ModelDoc2. , :

BaseFace.Select True

LocFace.Select True

Model.AddMate3 Type, Align, False, 0, 0, 0, 0, 0, 0, 0, 0, False, Erf.

Type , , .. Align . , , .

, LocFace. , BaseFace, , LocFace [4]. . , , . , , ‑ , .. . (Feature) , :

Dim LocFace as Feature: Set LocFace = keComponent.FeatureByName(LocatingSurfaceName).

( 4) ( 6) ( 8.2). . .

( 8), 7, , . [5] :

Dim keFaces: keFaces = keComponent.GetBody.GetFaces,

GetBody , (Boundary Representation), keFaces , Face2. , , - ..

, Face.Normal. , GetLoops , . Loop2, , , GetVertices, . , . , :

FacesLoops = SettingFace.GetLoops

For j = 0 to LoopsCount

LoopsVertices = FaceLoop(j).GetVertices

For k = 0 to VerticesCount

VerticesCollection.Add LoopsVertices(k)

Next k

Next j,

SettingFace , VerticesCollection , .

, , keComponent. , . , , kePositionMatrix:

kePositionMatrix As MathTransform: Set kePositionMatrix = keComponent.Transform.

MathTransform. , .

. , , [6]. , ( 4.2). GetBox:

Dim keBox: keBox = keComponent.GetBox (A1,A2),

1 2 , . , keBox ‑ Cmin Cmax. .

( 9). . ( , 3.1). . , - . , ( 8.4) , , , . , . , , H. , δH. H.

, , (Equation Manager), :

Dim keEquations As EquationMgr: Set keEquations = ke.GetModelDoc.GetEquationMgr.

<>=<>. , , . .

For i = 0 To EquationCount

If = keEquations.Equation(i) Like ParameterName & "=*" Then Equm.Equation(i) = ParameterName & = & NewValue

Next i.

, . , , . .

( 5 7) ‑ . , , [7], .. .

8.3 8.4

 





:


: 2017-02-28; !; : 452 |


:

:

.
==> ...

1755 - | 1550 -


© 2015-2024 lektsii.org - -

: 0.016 .