Zobrazit plnou verzi příspěvku: PRAVIDLO POUZE PRO DÍL

Lukáš Záruba
09.08.2018, 09:23
Zdravím je možné napsat na začátek pravidla nějakou část, která si ověří že je pravidlo spuštěno při otevření samotného ipt a ne při načítání dílů při otvírání sestavy? Stává se mi že pravidlo nejde použít a při otevření nebo / uložení sestavy mi vyskočí chybová hláška. Když vyskočí u 20-30 dílů tak je to dost otravný. Mám nějaká pravidla která se mají spustit při otevření dílu a nebo při jeho uložení. potřebuji do těcho pravidel napsat něco jako :1: koukni se jak jsi byl otevřen/uložen2: přímo z ipt - proveď pravidlo3: Jiné otevření - nedělej nicNebo se to dá nastavit nějak jinak ? poraďte mi prosím.  

Navara
14.08.2018, 11:05

Jak se to řeší v iLogicu nevím, ale přes standardní API to poznat jde. Obávám se, že v iLogicu to buď nejde, nebo to bude nutné řešit nějakým obskurním způsobem. Jestli chcete řešit podobně komplikované úlohy, tak doporučuju přejít na psaní addinů s plnou podporou API Inventoru včetně obsluhy událostí (např.: OnSave, OnOpen).

Lukáš Záruba
14.08.2018, 12:26
ok, díky za odpověď. Zkusím to udělat jinak.

Navara
14.08.2018, 12:35

Pokud by stačilo obsloužení události OnSave (před nebo po uložení) dá se použít spouštěč iLogic pravidel v X-Tools. Tam je možné to rozpoznat podle argumentů pravidla.Podrobněji je to popsané v dokumentaci k X-Tools v kapitole 3.9.1

Lukáš Záruba
14.08.2018, 13:45
Při uložení sestavy a dílů v nich obsažených mi vyskočí chybová hláška kterou musím odkliknout. Potřebuju toto chybové hlášení odstranit nebo zakázat. Nedá se to nějak ošetřit v pravidle? pravidlo v samotným dílu funguje.  Dim FilePath As String FilePath = ThisDoc.Path & "\EXPORT\" If ThisApplication.ActiveDocument.ComponentDefinition.HasFlatPattern = False Then       ThisApplication.ActiveDocument.ComponentDefinition.UnfoldElse    ThisApplication.ActiveDocument.ComponentDefinition.FlatPattern.EditEnd If    Dim fSett As String    fSett = "FLAT PATTERN DXF?AcadVersion=2000&InvisibleLayers=IV_UNCONSUMEND_SKETCHES;IV_TANGENT;IV_BEND;IV_BEND_DOWN;IV_TOOL_CENTER;IV_TOOL_CENTER_DOWN;IV_ARC_CENTERS;IV_FEATURE_PROFILES_DOWN;IV_ALTREP_FRONT;IV_ALTREP_BACK;IV_TEČNA_SVINUTÍ;IV_ROLL&SplineTolerance Double 0.01"     Dim fSname As String    fSname = FilePath & ThisDoc.FileName(False) & ".dxf" ThisApplication.ActiveDocument.ComponentDefinition.DataIO.WriteDataToFile( fSett, fSname) 'Save s nastavenim fSett a do cesty fSname  ThisApplication.ActiveDocument.ComponentDefinition.FlatPattern.ExitEdit

Jiri.Dostal
14.08.2018, 13:51

řekl bych, že problém bude v pravidle. Podobně jako zde:http://www.cadforum.cz/forum/forum_posts.asp?TID=26434&title=chyba-v-pravidle-rozvinu

Lukáš Záruba
15.08.2018, 08:20
Jo je to jedno z nich.Stejný problém s chybovou hláškou mi dělá i pravidlo pro zazoomování dílu:iLogicVb.UpdateWhenDone = True  ThisApplication .ActiveView.Fit