2017-11-19 5 views
0

Ich habe eine AutoCAD-Zeichnung, das ist ein Single-Liniendiagramm von Power-System. Ich möchte VBA zum Ändern der Farben verwenden. Wie macht man? Sorry über mein Englisch-Level :). Danken!wie Farben in CAD-Zeichnung mit VBA ändern

+0

Ich denke, man kann nur Autocad drawaing si bearbeiten .. Autocad? So hat Autocad einen VBA-Editor? Haben Sie es schon geöffnet? –

+0

Yeah AutoCAD hat einen VBA-Editor. – ashleedawg

Antwort

0

Es sind viele Informationen verfügbar. Sie müssen wahrscheinlich auf AxDbDocument studieren.

Hier werden Informationen direkt von this Seite genommen:

Wenn Sie eine Suche in diesem Forum für „AxDbDocument“ oder „DBX“ tun, sie ziemlich vielen Diskussionen über das Thema gefunden hat, könnte von Verwenden Sie ObjectDBX zu öffnen "Seite" Zeichnung mit AutoCAD (dh lesen Sie Zeichnung in AutoCAD Prozess Speicher ohne Öffnen im AutoCAD-Editor).

Der Schlüsselschritt besteht darin, ein AxDbDocument zu erstellen und * .dwg-Datei darin einzulesen. Dann können Sie auf Daten in der Zeichnungsdatei auf die gleiche Weise wie VBA ThisDrawing-Objekt zugreifen.

Hier ein Ausschnitt aus sehr einfachen Code ist, es zu tun (ich benutze Acad2015, damit der Versionscode (xxxxx.20):

Option Explicit 

Public Sub DbxTest() 

    Dim dwgFiles(0 To 1) As String 
    dwgFiles(0) = "C:\Temp\DbxTest01.dwg" 
    dwgFiles(1) = "C:\Temp\DbxTest02.dwg" 

    Dim doc As AXDBLib.AxDbDocument 

    Dim i As Integer 

    For i = 0 To 1 

     Set doc = ThisDrawing.Application.GetInterfaceObject("ObjectDBX.AxDbDocument.20") 
     doc.Open dwgFiles(i) 

     DoWorkWithDwg doc 

    Next 

End Sub 

Private Sub DoWorkWithDwg(dwg As AXDBLib.AxDbDocument) 

    ''MsgBox dwg.Name 

    Dim count As Integer 
    Dim ent As AcadEntity 
    For Each ent In dwg.ModelSpace 
     ''MsgBox ent.ObjectName 
     count = count + 1 
    Next 

    MsgBox "Drawing: " & dwg.Name & vbCrLf & "Entity Count: " & count 

End Sub 
+0

Vielen Dank für Ihre Antworten! Ich werde versuchen :) – LinhCao

+0

Gern geschehen. Teilen Sie das Gelernte mit, wenn Sie herausfinden, wie Sie diese Aufgabe erfüllen, damit auch andere von Ihren Bemühungen profitieren können! Das ist die Art von 2-Wege-Unterstützung, die Stack Overflow so ein Juwel macht. Hattest du die Chance, die [Tour] zu besuchen? Es gibt einige andere nützliche Tipps auf Seiten wie [ask] und [mcve]. – ashleedawg