Juri_
05.08.2009, 09:40
Zdravím,dostal jsem za úkol převést několik set výkresů z DWG do DGN. K dispozici mám Autocad 2005 nebo Aucotad 2010. Převod ručně je v pořádku.Ale chtěl jsem to provést nějak automaticky. Lispem nevládnu, tak jsem si zde našel makro VBA z inventoru, které jsem upravil.Ale skončil jsem na části uložení. Tam mi vždy makro spadne s chybou -2... a v Autocad zatuhne výkres. Zkoušel jsem export i saveas a nic.Pokud by někdo dokázal napsat rutinu i v lispu bych bych moc vděčný.Děkuji předem za pomocMichal JuřicaMakro:Sub AllConvert() Dim sFile As String, sInDir As String, sOutDir As String Dim oDocs As AcadDocuments, oDoc As AcadDocument Dim aktSelDoc As AcadSelectionSet 'Set oDocs = ThisDrawing.Application Set oDocs = Application.Documents 'Define your source and target directories sInDir = "D:\Práce\Projekty\20090805 ABB DE Převod DGN\" sOutDir = "D:\Práce\Projekty\20090805 ABB DE Převod DGN\" sFile = Dir(sInDir) While (sFile <> "") 'Define the SOURCE format extension (IPT, IAM, IDW...) If (Right(sFile, 3) = "dwg") Then Debug.Print sFile Set oDoc = oDocs.Open(sInDir & sFile, False) Set aktSelDoc = oDoc.ActiveSelectionSet 'Define the TARGET format extension (IGS, DXF, WRL...) 'Call oDoc.Export(sOutDir & Left(sFile, Len(sFile) - 3), "dgn", aktSelDoc) 'Call oDoc.SaveAs(sOutDir & Left(sFile, Len(sFile) - 3), "dxf") Call oDoc.Close End If sFile = Dir WendEnd Sub