pátek 22. března 2013

Autocad VBA Open Drawings

Jak pomocí makra pro Autocad otevřít hromadně více výkresů a provést naplánovanou akci? 

Public cesta As String
Public adresar As String
Public Soubory As String

Sub dxf2dwg()
'toto je cyklus ktery projde ve složce c:\prevod všechny dxf soubory
'cyklus projde jeden za druhým a na kažkém spustí funkci openDXF
adresar = "c:\prevod\" ' cesta se kterou se pracuje

Soubory = Dir(adresar & "\*.dxf"' možno změnit na .dwg apod.
Do While Soubory <> ""


    cesta = adresar & Soubory ' sestaví cestu "c:\prevod\aaa.dxf"
    Debug.Print Soubory

    opendxf ' volá funkci open dxf
    ' zde je možné přidat dlaší procedury
    Soubory = Dir

    Loop
End Sub

Function opendxf()

ThisDrawing.Application.Documents.Open cesta  'otevře "c:\prevod\aaa.dxf"

Dim newLimits(0 To 3) As Double     'autocad klasika, deklarace souřadnic
    newLimits(0) = 0#: newLimits(1) = 0#: newLimits(2) = 594#: newLimits(3) = 420#

ThisDrawing.Limits = newLimits  ' nastavení limit
ThisDrawing.Regen acActiveViewport ' regen
' zde je mozno pridat další sekvenvi prikazu

ZoomAll ' nocomment
newnazaev = adresar & Replace(Soubory, ".dxf"".dwg"'sestavení cesty pro uložení
ThisDrawing.SaveAs (newnazaev) ' uloží jako
ThisDrawing.Close 'zavře výkres

End Function

Toto je konkrétní makro které otevře soubory *.dxf v c:\prevod\ 

Žádné komentáře:

Okomentovat