iLogic – Automatické uložení DXF rozvinu plechu

Nedávno se mě zákazník zeptal, zda jde zautomatizovat vytváření DXF souboru rozvinu plechového dílu. Aby například vždy po uložení rozpracovaného dílu se automaticky uložil i rozvin plechu. A ono to samozřejmě jde a není to ani nijak složitý kód, pojďme se na to tedy společně podívat.

iLogic DXF uložení

Níže si můžete stáhnout TXT soubor, ve kterém je celé iLogic pravidlo zapsáno. Spuštění pravidla způsobí, že se vytvoří rozvin plechu, pokud už není vytvořený a uloží se jako DXF soubor se stejným názvem do stejné složky, ve které již je tento plechový díl. Řádky pravidla jsou popsány, abyste se dokázali jednoduše zorientovat v tom, co který vytváří. Pokud jste s iLogicem nikdy nepracovali, tak nejdříve doporučuji se podívat na naše dřívější příspěvky o iLogicu.

 

Export rozvinu dxf

  1. Stáhněte a otevřete si přiložený TXT soubor.
  2. Vytvořte nové pravidlo v Inventoru (karta Správa > iLogic > Přidat pravidlo)
    Inventor iLogic
  3. Pravidlo si libovolně pojmenujte
  4. Z otevřeného TXT souboru zkopírujte jeho celý obsah do tohoto nového pravidla.
  5. Pravidlo zavřete tlačítkem OK. Tím se i celé spustí a provede a rovnou tedy uloží daný rozvin.
  6. Nyní spusťte nastavení Spouštěčů událostí (karta Správa > iLogic > Spouštěče událostí)
  7. Vyberte řádek „Po uložení dokumentu“ a klikněte na tlačítko Vybrat pravidla…
  8. Zafajfkujte vaše nově vytvořené pravidlo a potvrďte tlačítkem OK.iLogic Spouštěč událostí
  9. Toť vše. Nyní se vždy po uložení dokumentu uloží i rozvin jako DXF.

Pravidlo se dá samozřejmě ještě i různě modifikovat. Pokud byste například chtěli rozviny ukládat jinam, pak zeditujte druhý řádek s proměnnou FilePath.

Vždy po uložení rozvinu vám i vyskočí notifikace, kam byl DXF soubor uložen. Pokud by vás notifikace zbytečně otravovala, pak smažte řádek MessageBox.

Úprava pravidla

Objevil se zde častý požadavek, aby se exportoval pouze vnější obrys plechu a nic jiného. Tudíž pokud by jste si takto chtěli pravidlo upravit, tak stačí přepsát následující dva řádky.

Dim fSett As String
fSett = "FLAT PATTERN DXF?AcadVersion=2000&InvisibleLayers=IV_UNCONSUMEND_SKETCHES;IV_ALTREP_BACK;IV_ALTREP_FRONT;IV_ARC_CENTERS;IV_TOOL_CENTER_DOWN;IV_TOOL_CENTER;IV_ARC_CENTERS;IV_TANGENT;IV_BEND;IV_BEND_DOWN&SplineTolerance Double 0.01"
Sdílet článek
Matěj Škarka
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.

11 Komentářů

  1. Dobrý den,
    Vaše pravidlo mne zaujalo. Bylo by možné, že by se k názvu souboru rozvinu připsala síla plechu? Např. díl1s5.
    Po spuštění pravidla píše: Veřejný člen HasFlatPattern typu AssemblyComponentDefinition nebyl nalezen. Prosím, jak řešit nastalý problém.
    Děkuji za odpověď.
    Miroslav

  2. Dobrý den,

    Rád bych se zeptal, jestli jde i automatický export DXF, pokud že jsem si udělal vlastní knihovnu plechů, ze kterých čerpám.

    Respektive:
    Otevřu sestavu
    Vyberu si z centra svůj plech
    uložím na server disc – a tady bych rád, aby se automaticky udělalo DXF.

    šlo by to?

    Děkuji,

    Pospíšil

  3. Tak jsem z toho udělal externí pravidlo.

    Každopádně po vložení plechového dílu z obsahového centra a po spuštění autodxf, neustále skáče tato chyba :
    Chyba v pravidle: autodxf, v dokumentu: Sestava12.iam

    Člen nebyl nalezen. (Výjimka na základě hodnoty HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))

  4. Dobrý den.
    Děkuji za vytvoření pravidla. Měl bych prosbu o ještě jedno pro export DXF. Často pracujeme se silnostěnými plechy bez rozvinu (nejsou dělány jako plechový díl). Nyní používáme: vybrat plochu, PTM, exportovat plochu jako… a pak proklikat ukládací sekvenci.
    Potřeboval bych pravidlo, které bych spustil po vybrání dané plochy a ono by vytvořilo DXF do daného umístění.

    A ještě dotaz
    Ty příkazy, podmínky… v editoru pravidel se dají někde vyčíst, nebo je třeba je znát? Dá se třeba někde zjistit, jak by se zapsal příkaz, který by odpovídal kliku na něco v inventoru?

    Děkuji za případnou pomoc
    Roman Hladil