Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Attribut-Eingabeaufforderung 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 präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  Attribut-Eingabeaufforderung auslesen (769 mal gelesen)
WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 28. Jan. 2004 08:53    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,

ich habe es mit Hilfe einiger Tipps hier aus dem Forum geschafft Attribut-Eingabeaufforderungen von Attributen eines oder mehrerer Blöcke in eine Listenansicht (ListView) einzulesen. Hierfür nochmals vielen Dank.
Jetzt besteht jedoch weiterhin das Problem, daß das Auslesen der Eingabeaufforderung (PromptString) bei großen Blöcken relativ lange dauert. Ich lese aus einem Auswahlsatz einen Block aus und prüfe, ob Attribute vorhanden sind. Da es sich hierbei um Blockreferenzen handelt, kann das Objekt "PromptString" meines Wissens hier nicht ausgelesen werden. Hierfür lese ich das Objekt "Blocks" aus und suche hier in einer weiteren Schleife die zu dem Attribut gehörende Eingabeaufforderung und das dauert bei großen Blöcken natürlich seine Zeit. Hat vielleicht jemand einen Tipp wie man das Problem eleganter und zeitsparender lösen kann??
Zur Hilfe stelle ich einen Auszug unten an.
Für Eure Hilfe schon mal vielen Dank vorab.

mfG

Wolfgang

    For Each ent In sset
        If ent.EntityName = "AcDbBlockReference" Then
            BlFound = True
            BlName = ent.Name
            Set Blk = objDoc.Blocks(BlName)
            If ent.HasAttributes Then
                AttFound = True
                AttArray = ent.GetAttributes
                AnzAttr = UBound(AttArray)
                For Count = LBound(AttArray) To UBound(AttArray)
                    If StrComp(AttArray(Count).EntityName, "AcDbAttribute", 1) = 0 Then
                        AttTagString = AttArray(Count).TagString
                        AttTextString = AttArray(Count).TextString
                        Set listView = frmAttBearb.LvAttribute.ListItems.Add()
                        listView.Text = AttTagString
                        listView.SubItems(1) = AttTextString
                        listView.SubItems(3) = BlName
                        For x% = 0 To Blk.Count
                            If Blk.Item(x%).ObjectName = "AcDbAttributeDefinition" Then
                                Set Attrib = Blk.Item(x%)
                                TagStr = Attrib.TagString
                                If TagStr = AttTagString Then
                                    AttPromptString = Attrib.PromptString
                                    listView.SubItems(4) = AttPromptString
                                    Exit For
                                End If
                            End If
                        Next x%
                       
                    End If
                Next Count
            End If
        End If
    Next ent

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