iLogic – Změna velikosti a orientace výkresu

V dnešním článku si ukážeme pravidlo pro změnu velikosti výkresu a jeho orientace. Pokud si dnes v Inventoru vytvoříme nový výkres a chceme a po té změnit jeho velikost a orientaci tak to není zrovna uživatelský přívětivé nastavování. Úplně nejradši bych byl kdybych měl “pár tlačítek” někde bokem a mohl to buď při vytvoření šablony hned zvolit nebo v momentě kdy zjistím, že mám na výkresu málo místa tak se jednoduše jedním kliknutím přepnout. To není pro iLogic vůbec nic složitého.

Velikost výkresu budeme zadávat pomocí uživatelského parametru, který má v sobě více přednastavených hodnot. Pomocí iLogicu.

Inventor iLogic

iLogic pravidlo:

trigger = iTrigger0
oMyParameter=ThisApplication.ActiveDocument.Parameters.UserParameters

Try
    Parameter("FORMAT") = Parameter("FORMAT")
Catch
    oParameter = oMyParameter.AddByValue("FORMAT", "A3", UnitsTypeEnum.kTextUnits)
    MultiValue.SetList("FORMAT", "A0", "A1", "A2", "A3", "A4")
End Try

Parameter("FORMAT") = InputListBox("Zvolte formát výkresu.", MultiValue.List("FORMAT"), Parameter("FORMAT"), Title := "Formát výkresu", ListName := "Vyberte formát:")
ActiveSheet.ChangeSize(Parameter("FORMAT"),MoveBorderItems := True)

RuleParametersOutput()
InventorVb.DocumentUpdate()

If Parameter("FORMAT") = "A4" Then
    ThisApplication.ActiveDocument.ActiveSheet.Orientation = 10243 'Portrait
Else
    ThisApplication.ActiveDocument.ActiveSheet.Orientation = 10242 'Landscape
End If

ThisApplication.ActiveView.Fit    'tento poslední řádek udělá na zoom vše

 

Popis pravidla

Ze začátku pravidla nás už nic nepřekvapí, jelikož jsme si vše vysvětlovali v minulých článcích. V prvním řádku máme spouštěč iTrigger, který nám umožní spustit pravidlo přes tlačítko iTrigger. V druhém řádku si zkrátíme cestu k uživatelským parametrům kterou posléze využijeme při jejich vytváření.

Následuje blok Try při kterém si vyzkoušíme zda nám existuje parametr FORMAT, pokud neexistuje tak si jej vytvoříme a rovnou do něj zapíšeme hodnoty A0 až A4. Tím nám vznikne uživatelský parametr s více možnostmí (Multi Value parameter).

Po té nás čeká nastavení, který formát má být vlastně zvolen. Tudíž do parametru FORMAT zapíšeme hodnotu na kterou se zeptáme uživatele pomocí InputListBox. Hodnotu kterou uživatel v okně zvolí se nastaví v parametru.

Následuje řádek: ActiveSheet.ChangeSize(Parameter(„FORMAT“),MoveBorderItems := True)
V něm říkáme, že chceme změnit velikost aktivního listu (ActiveSheet.ChangeSize) a to pomocí parametru FORMAT. Tudíž co se nastaví v parametru, se tímto přenese do nastavení listu. Dále je už jen část MoveBorderItems := True – Pomocí ní říkáme Inventoru, že chceme posunout jakékoliv vložené tabulky aktuálně vložené k okraji výkresu – například kusovník. Nicméně z vlastní zkušenosti vím, že stejně s kusovníkem a podobnými tabulkami budete ve většině případů ještě šoupat ručně tam kam ideálně chcete.
Následují 2 aktualizační řádky, abychom dále pracovali se správnýma hodnotama parametrů.

Dále máme v pravidle v loku If nastaveno, že pokud je parametr FORMAT nastaven na A4, tak chceme orientaci výkresu “Na výšku”. Jakékoliv jiné velikosti výkresu budou pak nastaveny “Na šířku”. K tomu účelu slouží v API Inventoru dvě čísla. 10243 je na výšku a 10242 je nastavení na šířku. Netřeba nad tím moc přemýšlet proč zrovna tato dvě čísla. Prostě to berte spíše jako fakt.

Poslední řádek nám jen změní pohled aby se celý výkres zazoomoval tak aby jsme jej viděli celý (Zoom Fit).

Na konec jsem si toto pravidlo nastavil do iSpouštěčů aby se spustilo při vytvoření výkresu z této šablony. A tudíž hned při vytvoření výkresu si navolím jeho velikost. Po té kdykoliv kdy zjistím, že potřebuji jinou velikost tak pravidlo zavolám přes iTrigger a jeho velikost jednoduše změním.

Ušetřete 25% na produktech Autodesk
Technický CAD konzultant ve společnosti Adeon CZ. Zde na blogu píši články zaměřené především na cloudový CAD program Fusion 360 a také doplněk pro automatizaci iLogic v programu Autodesk Inventor. Potkat mě můžete v ostravské kanceláři Adeonu.

3 Komentářů

  1. Dobrý den, předem děkuji za pěkné pravidlo. Pouze bych se rád zeptal na podmínku, kterou musím splnit, aby se mi při změně formátu také změnil rámeček (A4-A0) tak, jak je tomu ve vaší animaci.
    Děkuji
    JB

  2. Dobrý den,
    předpokládám, že máte tedy uživatelsky vytvořený rámeček a proto vám to nemění automaticky? Pak bude zapotřebí přidat pár řádků a asi i nějakou tu podmínku navíc. Změnu rámečku jinak mění jednoduchý řádek:
    ActiveSheet.Border = „My Border“

    Když tak mi můžete nějaký Váš testovací výkres s pravidlem a rámečkem poslat a já vám na to mrknu. Poslat můžete na: matej.skarka@adeon.cz

    Díky a přeji pěkný den.

  3. Dobrý den, chtěl jsem se zeptat, je možné do daného pravidla zahrnout i své uživatelsky nadefinované velikosti výkresů (prodloužené formáty)?
    Děkuji
    RC

Comments are closed.