Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Frage an Nancy zum Thema Attribute auslesen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Frage an Nancy zum Thema Attribute auslesen (1675 mal gelesen)
uj6363
Mitglied
Dipl.Ing.(Masch.)

Sehen Sie sich das Profil von uj6363 an!   Senden Sie eine Private Message an uj6363  Schreiben Sie einen Gästebucheintrag für uj6363

Beiträge: 3
Registriert: 02.07.2006

erstellt am: 19. Jul. 2006 19:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nancy,

ich habe eine Frage an Dich zu Deinen von Dir im Thread dargestellten Code zum Einlesen der Attribute von ACAD in Excel

Sub bla()
    Dim acApp As Object, acDoc As Object
    Dim fType%(0), fData(0), sset As Object, x As Object
    Dim r&, i%, attr
    Set acApp = GetObject(, "autocad.application")
    Set acDoc = acApp.ActiveDocument
    Set sset = acDoc.SelectionSets.Add("NewSet03")
    'Block-Filter setzen
    fType(0) = 0: fData(0) = "INSERT"
    'alle Blöcke wählen
    sset.Select acSelectionSetAll, , , fType, fData
    r = 2
    For Each x In sset
        If x.HasAttributes Then
            Cells(r, 1) = acDoc.FullName
            Cells(r, 2) = x.handle
            Cells(r, 3) = x.name
            attr = x.GetAttributes
            For i = LBound(attr) To UBound(attr)
                Cells(r, i + 4) = attr(i).TagString
                Cells(r + 1, i + 4) = attr(i).TextString
            Next
        End If
        r = r + 2
    Next
    sset.Delete
End Sub

und zum Einlesen der Exceldaten nach ACAD

Sub blubb()
    Dim acApp As Object, acDoc As Object
    Dim fType%(0), fData(0), sset As Object, x As Object
    Dim r&, i%, attr
    Set acApp = GetObject(, "autocad.application")
    Set acDoc = acApp.ActiveDocument
    Set sset = acDoc.SelectionSets.Add("NewSet03")
    fType(0) = 0: fData(0) = "INSERT"
    sset.Select acSelectionSetAll, , , fType, fData
    'Spalte B (Blockhandle)
    For r = 2 To Cells(Rows.Count, 2).End(xlUp).Row Step 2
        For Each x In sset
            If Cells(r, 2) = x.handle Then
                If x.HasAttributes Then
                    attr = x.GetAttributes
                    For i = LBound(attr) To UBound(attr)
                        attr(i).TagString = Cells(r, i + 4)
                        attr(i).TextString = Cells(r + 1, i + 4)
                    Next
                End If
                Exit For
            End If
        Next
    Next
    sset.Delete
End Sub

Wir haben uns intensiv mit den Codes beschäftigt und wir bleiben der Meinung das die Codes genial sind. Allerdings haben wir ein paar Ungereimtheiten festgestellt.
Was uns am Herzen liegt ist der Weg von Excel nach ACAD. Momentan sieht es folgendermaßen aus: Damit die Daten von Excel nach ACAD eingelesen werden kann, müssen vorher die Daten von ACAD in Excel eingelesen werden. Erst dann werden die Änderungen die man in der Exceltabelle vornimmt vom Makroprogramm akzeptiert.
Nancy, ist es möglich die Codes so zu ändern, das man ohne vorheriges Öffnen der ACAD-Zeichnung bzw. deren vorheriges Einlesen, es möglich ist, die Excelliste unabhängiger zu bearbeiten, die Zeichnung zu öffnen, um dann die geänderten Daten einzulesen zu können.

Gruß

Nat_Bambo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

Beiträge: 1360
Registriert: 24.07.2002

AutoCAD ACA 2024
Solidworks 2022 Sp5
Enterprise PDM 2022 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell Precision 3660
Intel Core i9-12900K
32 GB Arbeitsspeicher
2x Dell U2415

erstellt am: 19. Jul. 2006 20:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für uj6363 10 Unities + Antwort hilfreich

Hallo Uli, (oder doch Nat_bambo?)

Du kannst ja auch mit ObjectDBX eine Zeichnung bearbeiten / auslesen ohne diese zu öffnen. Da waren in den letzten 2 Wochen noch Beiträge hier im Forum. Einfach mal nach ObjectDBX hier im Forum suchen. Da findet sich schon einiges.

Gruß, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

uj6363
Mitglied
Dipl.Ing.(Masch.)

Sehen Sie sich das Profil von uj6363 an!   Senden Sie eine Private Message an uj6363  Schreiben Sie einen Gästebucheintrag für uj6363

Beiträge: 3
Registriert: 02.07.2006

erstellt am: 20. Jul. 2006 18:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Carsten,

bin momentan im Stress. Vielen Dank für Deinen Tipp.
Nat_Bambo ist mein Kollege. Deswegen habe ich auch geschrieben ' Wir'.

Gruß

Uli 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz