You are on page 1of 7

Topsolid + API ( Vb.net ). Aplikacja Topsolid_Swept.exe. Procedura plus opis.

Stworzona przez Piotr eczek ! "rak#w $%&$r.

Spis treci:

&. $. ,. -. /. 1. 3.

'st(p. Pro)ra* Topsolid_swept.exe + opis. Instalacja. Prosta instrukcja dzia.ania + krok po kroku. 0wa)i. 2istin) kodu. 4r#d.a.

Ad.1. Wstp.
Top Solid ! to 5rodowisko in67niersko8projektowe !narz(dzie usprawniaj9ce i prz7spieszaj9ce prac(. ozbudowana aplikacja z *o6liwo5cia*i zinte)rowania jej z baz9 dan7c: ! opcj9 poszerzania o nowe ;unkcje za po*oc9 *i(dz7 inn7*i 5rodowisk pro)ra*ist7czn7c: ( co w tej procedurze zosta.o zade*onstrowane ). Ten prz7k.ad pokazuj9 t7lko jedn9 z wielu *ozliwo5ci te)o 5rodowiska ! kt#re sa*o rozwij9 si( wraz z wzroste* u67wania )o przez operatora. Podstawowa biblioteka ko*ponent#w ! blibliotek *ateria.ow7c: ! dodatkow7c: ;unkcji ( <b ) rozrasta si(! jednocze5nie udost(pniaj9c ten poszerzaj9c7 si( zbi#r dla operator#w danej ;ir*7 + korz7staj9c7c: ze wsp#ln7c: zasob#w. Tutaj prezentowan7 jest prost7 prz7k.ad z pozio*u API + dodatkowa ;unkcja ! *akro .9cz9ca w sobie kilka opercaji w jedn9. Aplikacja w7*a)a zainstalowania .=>T ( ?ra*eworka ) w s7ste*ie.

Ad.2. Topsolid_swept.exe + to *a.a aplikacja pokazuj9ca *o6liwo5ci API te)o 5rodowiska


pozwalaj9ce na z auto*at7zowanie pewn7c: cz7nno5ci.

! API

7s.1. Formularz Topsolid_swept.exe w rodowisku programistycznym VB.net. Tutaj pro)ra* *a za zadanie stworz7@ - okr()i o pro*ieniac: r&!r$!r,!r- ( jednostka A**B ) odsuni(te od siebie o t&!t$!t, ( jednostka A**B ). Po wpisaniu para*etr#w i klikni(ciu prz7cisku r7suj !5rodowisko TopSolid ! )eneruje now7 doku*ent desi)n i tworz7 krz7we. =ast(pnie w7w7.owana jest opcja Swept ( bez pocz9tkowe)o wizarda ) opieraj9ca si( o krz7w9 prowadz9c9 i przekroje.

Ad.3. Instalowanie funkc i !"_Swept:


&. ozpakowa@ w katalo)u CDEFGisslerFDon;i)FAPIH zawarto5c arc:iwa Capi.rarH. $. =anie5c plik Ctop.*enH w katalo)u CDEFGisslerFV1&&FbinH lub doda@ linijk(kodu E IJesi)n K #$en#!% & '#$en#(ile#)*_Swept' #+,11,+,1 - .T/)0/1(I23A)I3s"++2 4 5 LGenL?ile K Spowoduje to pojawienie si( dodatkowe *enu w Top Jesi)n. D7;r7 pocz7naj9ce si(od znaku CLH pozwalaj9 na z*ian( ikon7 ( pod)l9daj9c plik i prz7pisane *u ;unkcje *o6na zdublowa@ ikon( ). ,. Mstatnia operacja to uruc:o*ienie Top Solida ! otwarcie nowe)o doku*entu i w7branie z *enu VN opcji P _Swept. Altenrat7w9 jest uruc:o*ienie pliku Topsolid_Swept.exe klikaj9c na ni* ( Top solid *usi b7@ w.9czon7.).

Ad.6. )rosta instrukc a d7ia8ania 9 krok po kroku.


&. $. ,. -. 0ruc:o*ienie TopSolid8a. '.9czenie nowe)o szablonu ! cz7ste)o dokue*ntu Jesi)n. Poszerza si( wted7 )#rne *enu. '7branie z *enu VN ! opcji P _Swept. 'pisanie para*etr#w okre)#w i odst(p#w *i(dz7 ni*i ( jednostki A**B ) ! lub te6 zostawienie de;aultow7c: ustawieO. /. =aci5ni(cie prz7cisku 7suj. 1. Pod *enu topsolida prosi nas o w7branie krz7wej prowadz9cej ! zaznacza*7 lini( pionow9 ( uwa)a w7j5ciow7 widok jest z )#r7 ! tak wi(c najelepeij ustawi@ sobie izo*etri( b7 widzie@ w pe.ni krz7we ). 3. P7tanie o kierunek zaznacza*7 dodatni9 o5 P. Q. P7tanie o pierwsz9 krz7w9 przekroju ! zaznacza*7 najni6 sz7 okr9). R. P7tanie o punkt zaczepienia ! r#wnierz klika*7 na okr()u zwracaj9c uwa)( na ;akt !6e pro)ra* sa* odnajduje 5rodek okr()u. ( PodpowiedS + stara*7 si( klika@ na okr()i po jednej stronie osi pionowej u.o6enia okr()#w. &%. Mperacje powtarza*7 po kolei dla wsz7stkic: okr()#w. &&. Po ostatni okr()u klika*7 ju6 t7lko praw7* prz7ciskie* *7sz7 potwierdzaj9c dodatkowe opcje. &$. '7nikie* jest )eo*etria oparta na nasz7c: okr()ac: zde;iniowan7c: z ;or*ularza. &,. =aci5niecie klawisza >scape ! koOcz7 operacje S'>PT.

Ad .:.;wa<i:
Do s*uci to ;akt !6e API do Top Solida jest bardzo ubo)ie. Ilo5c ;unkcji ! *etod ! o)ranicza si( do kilku podstawow7c: operacji ze 5rodowiska. ' pow76sz7* prz7k.adzie nie*o6na z pozio*u VN w.9cz7@ *etod7 swept. 0ruc:a*iane jest Gacro ( T.lob U T.lip ) odpowiedzialne w TopSolidzie za t( ;unkcj(. Pr#ba przes.ania na stos para*etr#w ustanowion7c: z ;or*ularza + niepowiod.a si(. Trzeba r(cznie przeprowadzi@ operacje prz7pisania para*etr#w ! ele*et#w dla ;unkcji Swept. 'a6na in;or*acj9 dla os#b pracuj9c7c: w 5rodowisku pro)ra*ist7czn7* np. VN.net jest prz7pisanie re;erencji TopSolida do projektu + pozwalaj9ce na u67wanie obiekt#w te)o6 5rodowiska.

Rys.2. stalenie podstawowyc! parametr"w po#$czenia %&'. (eklarac)a zmiennyc!.

Ad.=.>istin< kodu :
Dim TopApp As TopSolid.Application Dim TopDoc As TopSolid.DocumentDesign Private Sub Form_Load()

' connect Visual asic !it" TopSolid

' i# TopSolid isn't open$ it !ill open a ne! session o# TopSolid TopApp % &e! TopSolid.Application

'create a ne! document '.top TopApp.Program(nitLengt" % )mm) TopDoc % TopApp.Documents.Add()top))

Private Sub r*su+() Form_Load() Dim Top,ircle-$ Top,ircle.$ Top,ircle/$ Top,ircle0 As TopSolid.,urve Dim TopLine As TopSolid.,urve 'Dim TopS"ape As TopSolid.S"ape Dim elem As TopSolid.1lement Dim t-$ t.$ t/$ r-$ r.$ r/$ r0 As Double r- % Val(Te2t r. % Val(Te2t r/ % Val(Te2t r0 % Val(Te2t o2-.Te2t) o2..Te2t) o2/.Te2t) o20.Te2t)

t- % Val(Te2t o23.Te2t) t. % Val(Te2t o24.Te2t) t/ % Val(Te2t o25.Te2t) ' ,reate a basic circle ' ,entre % 6$ 6$ 6 ' 7 a2is % -$ 6$ 6 ' 8 a2is % 6$ -$ 6 ' 9adius % 6.6(centr $ 777777 $ 888888 $ 9 ) Top,ircle- % TopDoc.,urves.Add asic,ircle(6$ 6$ 6$ -$ 6$ 6$ 6$ -$ 6$ r-) ' Set t"e name o# t"e circle Top,ircle-.1lement.&ame % ):;rag_-) '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Top,ircle. % TopDoc.,urves.Add asic,ircle(6$ 6$ t-$ -$ 6$ 6$ 6$ -$ 6$ r.) Top,ircle..1lement.&ame % ):;rag_.) Top,ircle/ % TopDoc.,urves.Add asic,ircle(6$ 6$ t- = t.$ -$ 6$ 6$ 6$ -$ 6$ r/) Top,ircle/.1lement.&ame % ):;rag_/) Top,ircle0 % TopDoc.,urves.Add asic,ircle(6$ 6$ t- = t. = t/$ -$ 6$ 6$ 6$ -$ 6$ r0) Top,ircle0.1lement.&ame % ):;rag_0) TopLine % TopDoc.,urves.Add asicLine(6$ 6$ 6$ 6$ 6$ t- = t. = t/) >?r@ucanie na stos parametrA! $ elementA! 'TopApp.Pus"1lement:nStac;(TopLine) 'TopApp.Pus"String:nStac;()7=)) 'TopApp.Pus"1lement:nStac;(Top,ircle-) 'TopApp.Pus"Double:nStac;(6.6) '2 'TopApp.Pus"Double:nStac;(6.6) '* 'TopApp.Pus"Double:nStac;(6.6) '@

'TopApp.Pus"1lement:nStac;(Top,ircle.) 'TopApp.Pus"Double:nStac;(6.6) '2 'TopApp.Pus"Double:nStac;(6.6) '* 'TopApp.Pus"Double:nStac;(t-) '@ 'TopApp.Pus"1lement:nStac;(Top,ircle/) 'TopApp.Pus"Double:nStac;(6.6) '2 'TopApp.Pus"Double:nStac;(6.6) '* 'TopApp.Pus"Double:nStac;(t- = t.) '@ 'TopApp.Pus"1lement:nStac;(Top,ircle0) 'TopApp.Pus"Double:nStac;(6.6) '2 'TopApp.Pus"Double:nStac;(6.6) '* 'TopApp.Pus"Double:nStac;(t- = t. = t/) '@ 'TopApp.Pus"1lement:nStac;(TopLine) 'TopApp.12ecuteBacroCeepStac;(D),EFBisslerFV4--FdFs"Fs!-dngFcvsFlFcreate.lob)) 'elem % TopApp.Get1lementFromStac;() >(ruc"omienie ma;ra ( pominiHt* !i@ard metod* S?1PT ) TopApp.12ecuteBacro(),EFBisslerFV4--FdFs"Fs!-dngFcvsFlFcreate.lob)) TopApp.S*nc"roni@e() Top,ircle- % &ot"ing Top,ircle. % &ot"ing Top,ircle/ % &ot"ing Top,ircle0 % &ot"ing TopLine % &ot"ing 1nd Sub

Ad.?. @rAd8a.
PlikiE Toplip.doc TopSolidAPI.c:* Stron7 wwwE :ttpEUU;oru*.topsolid.co*U

You might also like