Blog kávézó

A modern design egyik fő forrása az idő. Mint tudják, "az idő pénz", és senki sem akarja végrehajtani az ugyanazon műveletek értelmetlen ismétlését. Ebben a tekintetben a CAD / CAE csomagok olyan eszközöket tartalmaznak, amelyek ugyanazokat a műveleteket hajtják végre egyetlen gomb megnyomásával.

Ebben a cikkben az egyik módja annak, hogy automatizálják a makro alapú tervezést a Femap API-ban.

Blog kávézó

1. ábra - A program párbeszédpanele

A koronázási folyamatok szerkezetek terhelhetőségére gyakorolt ​​hatásának vizsgálata során a felületek vastagságát megváltoztatták. Ezt az eljárást nem egy tucatszor hajtották végre, és mivel sok tulajdonság volt, ez a művelet sok időt vett igénybe, és elég fárasztó volt. Ezért úgy döntöttek, hogy automatizálják ezt a folyamatot a Femap API használatával. Így létrejött a makró általánosított változata a vastagság változtatásához.
A makró lényege, hogy automatikusan módosítsa a felületi elemek vastagságát a felhasználó által megadott százalékkal vagy meghatározott értékkel.

Amikor elkezdjük a makró a felhasználó egy ablak (1.), Amely ki kell választania egy akció (növekedés vagy csökkenés), és válassza a változás mértéke a vastagság (vagy numerikus százalékos változás), majd adja meg a számot, amelyre a módosítani kívánt vastagságát.

Most részletesebben megvizsgáljuk a program összes elemét és a cselekvés algoritmust.

Mivel bármely program létrehozása folyamatábrával kezdődik (soha nem), szintén le kell vonnunk a tevékenységünk sorrendjét (2. ábra).

Blog kávézó

2. ábra - A program blokkdiagramja

A programalgoritmus elkészítése után biztonságosan megkezdheti annak létrehozását. Ebben az esetben a "Tulajdonság" objektummal dolgozunk, és kezdetben létrehozzuk. Ezután hozzon létre egy "Set" - ez egy olyan minta, amely tömb. Ben hozzá fogjuk adni a modellben található tulajdonságokat és az összes paramétert (beleértve az elem vastagságát is, amelynek tulajdonsága a pval (0)). A következő lépés egy párbeszédpanel létrehozása és a szükséges elemek létrehozása (3. ábra).

Blog kávézó

3. ábra - Párbeszédablak létrehozása

Ezután a tömb szkennelésével levonjuk a vastagság tulajdonságait, elvégezzük az újratervezést, figyelembe véve a változás kiválasztott paramétereit, és visszaküldjük a vastagságot. Ezután megjelenik a programkód magyarázattal. A kiválasztás színei megegyeznek a folyamatábra színeivel a program darabjai és az algoritmus összehangolásához.

Ha App.Info_Count (FT_PROP) = 0 Ezután // kizárja a hiányzó tulajdonságok hibáját
Msg = "Nincs tulajdonság a modellben, kilépés".
rc = MsgBox (Msg, vbOkOnly)
GoTo OK
End If

Begin Dialog UserDialog 400,203, "Vastagság" "% GRID: 10,7,1,1 // párbeszédpanel
OKButton 20,175,90,21
TextBox 130,119,130,21, .TextBox1
OptionGroup .Group1
OptionButton 20,49,210,14, "a vastagság növelése", OptionButton1
OptionButton 20,70,180,14, "a vastagság csökkenése", OptionButton2
OptionGroup .Group2
OptionButton 250,49,90,14, "Persent",., OptionButton3
OptionButton 250,70,90,14, "Value" ,. OptionButton4
CancelButton 310,175,80,21
szöveg 110,98,210,14, "Értékváltozás vastagságban", szöveg 1
Vége párbeszédablak

Dim dlg Mint UserDialog

Ha Dialog (dlg) = 0 Akkor // kizárja a program bezárásának hibáját a törlés gomb megnyomásával
GoTo OK
End If

Ha vastag <= 0 Then //исключение ошибки значения толщины
Msg = "A vastagsági mező üres"
rc = MsgBox (Msg, vbOkOnly)
GoTo OK
End If

PropSet.AddAll (FT_PROP) // add hozzá a kiválasztáshoz a modell minden tulajdonságát
Ha dlg. group1 = 0 Akkor
Ha dlg.group2 = 0 akkor
Miközben feProp.Next // a vastagság újraszámítása
feProp.Get (PropSet.CurrentID) // kivonja az aktuális tulajdonságot a kijelölésből
a = feProp.pval (0) * Vastag / 100 // a változási együttható újraszámítása
feProp.pval (0) = feProp.pval (0) + a // újraszámolja a vastagságot
feProp.Put (feProp.ID) // visszaadja a vastagság értékét a tulajdonságnak
irányít
End If
Ha dlg.group2 = 1 Ezután
Míg feProp.Next
feProp.Get (PropSet.CurrentID)
feProp.pval (0) = feProp.pval (0) + Vastag
feProp.Put (feProp.ID)
irányít
End If
End If
Ha dlg.group1 = 1 Akkor
Ha dlg.group2 = 0 akkor
Míg feProp.Next
feProp.Get (PropSet.CurrentID)
a = feProp.pval (0) * Vastag / 100
feProp.pval (0) = feProp.pval (0) - a
feProp.Put (feProp.ID)
irányít
End If
Ha dlg.group2 = 1 Ezután
Míg feProp.Next
feProp.Get (PropSet.CurrentID)
feProp.pval (0) = feProp.pval (0) - Vastag
feProp.Put (feProp.ID)
irányít
End If
End If
OK:
End Sub

Ezután ezt a makrót a dízelmotoros kerékmodellbe illesztették, és frissítést készítettek. A legfontosabb változtatások az adott vastagságok értékének módosítására voltak lehetőségei, a vastagságokat a szerkezet fő elemeiben bontották le, és különböző formákban szétszórtak, és hozzáadták a makrók újraindítás nélküli újrahasznosításának lehetőségét. A módosított makró formájának egyik példája a 4. ábrán látható.

Blog kávézó

4. ábra - Példa a módosított makroformára

Így elvégeztük az automatizálás alapvető tulajdonságát - a tervezési időt megtakarítva és a modell összes tulajdonságának megváltoztatásával néhány egérkattintással.

Kapcsolódó cikkek