| | |
 | 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: ThisDrawing.Utility.GetEntity (2139 mal gelesen)
|
egug Mitglied

 Beiträge: 42 Registriert: 11.11.2001
|
erstellt am: 03. Jan. 2007 19:30 <-- editieren / zitieren --> Unities abgeben:         
Hallo alle zuerst mal wünsche ich allen ein gutes erfolgreiches Jahr und gute Gesundheit. Nun zu meinem Problem : ich erstelle eine neue Zeichnung die ich aus einer Combobox auswähle. Die Zeichnung beinhaltet einen Block und einige Linien. Was ich machen will ist, ich möchte in diesem Block ein Attribut ändern. Das ganze funktioniert auch problemlos mit der folgenden Routine. Eigentlich möchte ich den Befehl "ThisDrawing.Utility.GetEntity pickedBlock," ersetzen, also keinen Block anpicken sondern über den Blocknamen verarbeiten. Private Sub CommandButton12_Click() 'open new sheet Dim form As Integer Dim compAuswahl, Comp As String Dim pickedBlock As AcadBlockReference Dim PickedPoint As Variant, attArray As Variant Dim icnt As Integer form = Form.ComboBox18.ListIndex compAuswahl = ckvform(form) & ".dwt" Comp = compAuswahl ThisDrawing.Application.Documents.Add (compAuswahl) ThisDrawing.Utility.GetEntity pickedBlock, PickedPoint, "Block auswählen" attArray = pickedBlock.GetAttributes If (pickedBlock.HasAttributes = True) Then For icnt = LBound(attArray) To UBound(attArray) Select Case attArray(icnt).TagString Case "ZEICHNUNGSTITEL" attArray(icnt).TextString = "Test" pickedBlock.Update End Select Next End If End Sub Besten Dank für Eure Hilfe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
   
 Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 03. Jan. 2007 19:38 <-- editieren / zitieren --> Unities abgeben:          Nur für egug
|
egug Mitglied

 Beiträge: 42 Registriert: 11.11.2001
|
erstellt am: 03. Jan. 2007 21:03 <-- editieren / zitieren --> Unities abgeben:         
Hallo und besten Dank habe denCode nun folgendermassen angepasst Dim AWSatz As AcadSelectionSet Dim entity As AcadEntity Dim FType(1) As Integer, FData(1) FType(0) = 0: FData(0) = "INSERT" FType(1) = 2: FData(1) = "MeinBlockName" AWSatz.Select Mode:=acSelectionSetAll, Filtertype:=FType, filterdata:=FData For Each entity In AWSatz ..... ..... bekomme aber AWSatz.Select Mode:=acSelectionSetAll,..... einen Fehler : Objektvariable oder Blockvariable nicht festgelegt. Was mache ich falsch ?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
egug Mitglied

 Beiträge: 42 Registriert: 11.11.2001
|
erstellt am: 03. Jan. 2007 21:28 <-- editieren / zitieren --> Unities abgeben:         
sorry, hab den Fehler gefunden, Set AWSatz = ThisDrawing.SelectionSets.Add("MeinBlockName") AWSatz.Select Mode:=acSelectionSetAll, Filtertype:=FType, filterdata:=FData For Each entity In AWSatz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |