Topsolid + api vb



Pobieranie 232.35 Kb.
Data25.10.2017
Rozmiar232.35 Kb.

Topsolid + API ( Vb.net ). Aplikacja Topsolid_Swept.exe.


Procedura plus opis.

Stworzona przez Piotr Reczek , Kraków 2012r.



Spis treści:


  1. Wstęp.

  2. Program Topsolid_swept.exe – opis.

  3. Instalacja.

  4. Prosta instrukcja działania – krok po kroku.

  5. Uwagi.

  6. Listing kodu.

  7. Źródła.


Ad.1. Wstęp.

Top Solid , to środowisko inżyniersko-projektowe ,narzędzie usprawniające i przyspieszające pracę. Rozbudowana aplikacja z możliwościami zintegrowania jej z bazą danych , opcją poszerzania o nowe funkcje za pomocą między innymi środowisk programistycznych ( co w tej procedurze zostało zademonstrowane ).

Ten przykład pokazują tylko jedną z wielu mozliwości tego środowiska , które samo rozwiją się wraz z wzrostem używania go przez operatora. Podstawowa biblioteka komponentów , blibliotek materiałowych , dodatkowych funkcji ( vb ) rozrasta się, jednocześnie udostępniając ten poszerzający się zbiór dla operatorów danej firmy – korzystających ze wspólnych zasobów.

Tutaj prezentowany jest prosty przykład z poziomu API – dodatkowa funkcja , makro łącząca w sobie kilka opercaji w jedną.



Aplikacja wymaga zainstalowania .NET ( Frameworka ) w systemie.


Ad.2. Topsolid_swept.exe – to mała aplikacja pokazująca możliwości API tego środowiska , API pozwalające na z automatyzowanie pewnych czynności.

Rys.1. Formularz Topsolid_swept.exe w środowisku programistycznym VB.net.


Tutaj program ma za zadanie stworzyć 4 okręgi o promieniach r1,r2,r3,r4 ( jednostka [mm] ) odsunięte od siebie o t1,t2,t3 ( jednostka [mm] ). Po wpisaniu parametrów i kliknięciu przycisku rysuj ,środowisko TopSolid , generuje nowy dokument design i tworzy krzywe. Następnie wywyłowana jest opcja Swept ( bez początkowego wizarda ) opierająca się o krzywą prowadzącą i przekroje.

Ad.3. Instalowanie funkcji Vb_Swept:



  1. Rozpakować w katalogu „C:\Missler\Config\API” zawartośc archiwa „api.rar”.

  2. Nanieśc plik „top.men” w katalogu „C:\Missler\V611\bin” lub dodać linijkękodu :

%Design {



#Men#VB {

"#Men#File#PR_Swept" #0,11,0,1 = $TOPCONFIG/API/sb002 ;

}

#Men#File {

Spowoduje to pojawienie się dodatkowe menu w Top Design. Cyfry poczynające sięod znaku „#” pozwalają na zmianę ikony ( podglądając plik i przypisane mu funkcje można zdublować ikonę ).




  1. Ostatnia operacja to uruchomienie Top Solida , otwarcie nowego dokumentu i wybranie z menu VB opcji PR_Swept. Altenratywą jest uruchomienie pliku Topsolid_Swept.exe klikając na nim ( Top solid musi być włączony.).

Ad.4. Prosta instrukcja działania – krok po kroku.


  1. Uruchomienie TopSolid-a.

  2. Włączenie nowego szablonu , czystego dokuemntu Design. Poszerza się wtedy górne menu.

  3. Wybranie z menu VB , opcji PR_Swept.

  4. Wpisanie parametrów okregów i odstępów między nimi ( jednostki [mm] ) , lub też zostawienie defaultowych ustawień.

  5. Naciśnięcie przycisku Rysuj.

  6. Pod menu topsolida prosi nas o wybranie krzywej prowadzącej , zaznaczamy linię pionową ( uwaga wyjściowy widok jest z góry , tak więc najelepeij ustawić sobie izometrię by widzieć w pełni krzywe ).

  7. Pytanie o kierunek zaznaczamy dodatnią oś X.

  8. Pytanie o pierwszą krzywą przekroju , zaznaczamy najniż szy okrąg.

  9. Pytanie o punkt zaczepienia , równierz klikamy na okręgu zwracając uwagę na fakt ,że program sam odnajduje środek okręgu. ( Podpowiedź – staramy się klikać na okręgi po jednej stronie osi pionowej ułożenia okręgów.

  10. Operacje powtarzamy po kolei dla wszystkich okręgów.

  11. Po ostatni okręgu klikamy już tylko prawym przyciskiem myszy potwierdzając dodatkowe opcje.

  12. Wynikiem jest geometria oparta na naszych okręgach zdefiniowanych z formularza.

  13. Naciśniecie klawisza Escape , kończy operacje SWEPT.



Ad .5.Uwagi:
Co smuci to fakt ,że API do Top Solida jest bardzo ubogie. Ilośc funkcji , metod , ogranicza się do kilku podstawowych operacji ze środowiska. W powyższym przykładzie niemożna z poziomu VB włączyć metody swept. Uruchamiane jest Macro ( *.lob / *.lip ) odpowiedzialne w TopSolidzie za tę funkcję. Próba przesłania na stos parametrów ustanowionych z formularza – niepowiodła się. Trzeba ręcznie przeprowadzić operacje przypisania parametrów , elemetów dla funkcji Swept.

Ważna informacją dla osób pracujących w środowisku programistycznym np. VB.net jest przypisanie referencji TopSolida do projektu – pozwalające na używanie obiektów tegoż środowiska.




Rys.2. Ustalenie podstawowych parametrów połączenia COM. Deklaracja zmiennych.

Ad.6.Listing kodu :

Dim TopApp As TopSolid.Application


Dim TopDoc As TopSolid.DocumentDesign
Private Sub Form_Load()

' connect Visual Basic with TopSolid


' if TopSolid isn't open, it will open a new session of TopSolid
TopApp = New TopSolid.Application

'create a new document *.top


TopApp.ProgramUnitLength = "mm"

TopDoc = TopApp.Documents.Add("top")

Private Sub rysuj()

Form_Load()

Dim TopCircle1, TopCircle2, TopCircle3, TopCircle4 As TopSolid.Curve

Dim TopLine As TopSolid.Curve

'Dim TopShape As TopSolid.Shape

Dim elem As TopSolid.Element

Dim t1, t2, t3, r1, r2, r3, r4 As Double
r1 = Val(TextBox1.Text)

r2 = Val(TextBox2.Text)

r3 = Val(TextBox3.Text)

r4 = Val(TextBox4.Text)


t1 = Val(TextBox5.Text)

t2 = Val(TextBox6.Text)

t3 = Val(TextBox7.Text)


' Create a basic circle

' Centre = 0, 0, 0

' X axis = 1, 0, 0

' Y axis = 0, 1, 0

' Radius = 0.01 (centr , XXXXXX , YYYYYY , R )

TopCircle1 = TopDoc.Curves.AddBasicCircle(0, 0, 0, 1, 0, 0, 0, 1, 0, r1)

' Set the name of the circle

TopCircle1.Element.Name = "Okrag_1"

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

TopCircle2 = TopDoc.Curves.AddBasicCircle(0, 0, t1, 1, 0, 0, 0, 1, 0, r2)

TopCircle2.Element.Name = "Okrag_2"

TopCircle3 = TopDoc.Curves.AddBasicCircle(0, 0, t1 + t2, 1, 0, 0, 0, 1, 0, r3)

TopCircle3.Element.Name = "Okrag_3"

TopCircle4 = TopDoc.Curves.AddBasicCircle(0, 0, t1 + t2 + t3, 1, 0, 0, 0, 1, 0, r4)

TopCircle4.Element.Name = "Okrag_4"
TopLine = TopDoc.Curves.AddBasicLine(0, 0, 0, 0, 0, t1 + t2 + t3)
‘Wrzucanie na stos parametrów , elementów

'TopApp.PushElementOnStack(TopLine)

'TopApp.PushStringOnStack("X+")

'TopApp.PushElementOnStack(TopCircle1)

'TopApp.PushDoubleOnStack(0.0) 'x

'TopApp.PushDoubleOnStack(0.0) 'y

'TopApp.PushDoubleOnStack(0.0) 'z
'TopApp.PushElementOnStack(TopCircle2)

'TopApp.PushDoubleOnStack(0.0) 'x

'TopApp.PushDoubleOnStack(0.0) 'y

'TopApp.PushDoubleOnStack(t1) 'z


'TopApp.PushElementOnStack(TopCircle3)

'TopApp.PushDoubleOnStack(0.0) 'x

'TopApp.PushDoubleOnStack(0.0) 'y

'TopApp.PushDoubleOnStack(t1 + t2) 'z


'TopApp.PushElementOnStack(TopCircle4)

'TopApp.PushDoubleOnStack(0.0) 'x

'TopApp.PushDoubleOnStack(0.0) 'y

'TopApp.PushDoubleOnStack(t1 + t2 + t3) 'z

'TopApp.PushElementOnStack(TopLine)

'TopApp.ExecuteMacroKeepStack(@"C:\Missler\V611\d\sh\sw1dng\cvs\l\create.lob")

'elem = TopApp.GetElementFromStack()
‘Uruchomienie makra ( pominięty wizard metody SWEPT )

TopApp.ExecuteMacro("C:\Missler\V611\d\sh\sw1dng\cvs\l\create.lob")

TopApp.Synchronize()
TopCircle1 = Nothing

TopCircle2 = Nothing

TopCircle3 = Nothing

TopCircle4 = Nothing


TopLine = Nothing

End Sub



Ad.7. Źródła.

Pliki:
Toplip.doc

TopSolidAPI.chm

Strony www:


http://forum.topsolid.com/
Directory: topsolid -> tut14

Pobieranie 232.35 Kb.

Share with your friends:




©operacji.org 2020
wyślij wiadomość

    Strona główna