|
Dik moc za nakopnuti spravnym smerem k tem makrum. Zkousel jsem stahnout ten BatchExport for Inventor cos doporucoval, ale download mne poslal na stranku jakesi firmy, kde to chtelo dalsi registraci ktera nefungovala, nebo to musi schvalovat zivy pikolik ktery maka jednou za tyden nebo nevim co. V kazdem pripade bylo rychlejsi to makro napsat. Slo to i bez stahovani toho T4I (nebo uz se to driv mimodek s necim nainstalilo - nevim), ale to rozhrani mi prislo jako normalni editor vba, takze co proc a jak je to T4I jsem dal nezkoumal.
Pokud by mel nekdo podobnou potrebu jako ja, davam sem zminene makro. Kod vypada tak jak vypada, no :-) ale funguje a to je hlavni. Ulozi aktivni soucast jako .stl na cestu co je v kodu (pripadne ji vytvori). Pokud uz soubor existuje neprepise ho, vytvori dalsi s jinym nazvem. Nastaveni parametru prevodu se da udelat v kodu, krome presnosti tam asi nic menit nebudete, ostatni jsem tam dal jen pro sichr, protoze se mi nechtelo zkoumat co inventor pouzije kdyz to tam nedam. Kod makra je zde:
Sub UlozSTL() Set kontext = ThisApplication.TransientObjects.CreateTranslationContext Set moznosti = ThisApplication.TransientObjects.CreateNameValueMap Set dm = ThisApplication.TransientObjects.CreateDataMedium kontext.Type = IOMechanismEnum.kFileBrowseIOMechanism With moznosti .Value("OutputFileType") = 0 .Value("ExportFileStructure") = 0 .Value("ExportUnits") = 5 .Value("Resolution") = 1 'vysoke = 0, stredni = 1, nizke = 2, uziv. = 3, brep = 4 .Value("ExportColor") = False .Value("AllowMoveMeshNode") = False End With nazev = "E:\tisk\" & ThisApplication.ActiveDocument.DisplayName & ".stl" pripona = 1 Do While (Dir(nazev) <> "") nazev = "E:\tisk\" & ThisApplication.ActiveDocument.DisplayName & "_" & pripona & ".stl" pripona = pripona + 1 Loop dm.fileName = nazev ThisApplication.ApplicationAddIns.ItemById("{81CA7D27-2DBE-4058-8188-9136F85FC859}").SaveCopyAs ThisApplication.ActiveDocument, kontext, moznosti, dm MsgBox vbCrLf & dm.fileName & " byl vytvořen.", vbInformation, ThisApplication.ActiveDocument.DisplayName End Sub
|
|