Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Blochreferenzen löschen

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
Autor Thema:  Blochreferenzen löschen (2304 mal gelesen)
Stechi
Mitglied
Informatiker


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

Beiträge: 75
Registriert: 17.01.2008

erstellt am: 08. Apr. 2008 16:14    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 Forummitglieder,

ich möchte Blockreferenzen löschen und benutze dafür folgenden Code:

Code:
    Dim schriftblock As AcadBlockReference
    ' Prüfen ob ein Schriftkopf vorhanden ist, wenn ja löschen
    For Each schriftblock In ThisDrawing.ModelSpace
        If schriftblock.Name = "AKK_ZEKO" Then
            schriftblock.Delete
        End If
    Next schriftblock

Ich bekomme an der Stelle von der "For-Schleife" die Fehlermeldung Typen unverträglich!
Kann mir bitte sagen, warum?
Danke!

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 08. Apr. 2008 16:17    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 Stechi 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von Stechi:
Hallo Forummitglieder,

ich möchte Blockreferenzen löschen und benutze dafür folgenden Code:

Code:
    Dim schriftblock As AcadBlockReference
    ' Prüfen ob ein Schriftkopf vorhanden ist, wenn ja löschen
    For Each schriftblock In ThisDrawing.ModelSpace
        If schriftblock.Name = "AKK_ZEKO" Then
            schriftblock.Delete
        End If
    Next schriftblock

Ich bekomme an der Stelle von der "For-Schleife" die Fehlermeldung [b]Typen unverträglich!
Kann mir bitte sagen, warum?
Danke![/B]


...na wenn der ModelSpace auch andere Objekte enthält .. z.B. Linien , die keine Eigenschaft "Name" haben ....

Mach vorher besser noch ne Prüfung auf Objectname!

------------------
      - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

runkelruebe
Ehrenmitglied V.I.P. h.c.
Straßen- / Tiefbau



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

Beiträge: 8075
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 08. Apr. 2008 21:45    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 Stechi 10 Unities + Antwort hilfreich

N'Abend zusammen,
da ich so ganz allmählich mal mit VBA für ACAD anfangen möchte, vorab die Warnung: ich komm in Zukunft öfter hier vorbei 

Zitat:
...na wenn der ModelSpace auch andere Objekte enthält .. z.B. Linien , die keine Eigenschaft "Name" haben ....

hmm, mein Modellbereich war bis auf die Blockreferenzen blitzeblank, das konnte es nicht sein, aber ich konnte auch gar nicht erst gescheit als AcadBlockReference zuweisen (Laufzeitfehler 13). Als Object dagegen geht, mit der Einschränkung von Thomas komme ich auf:
Code:
Public Sub BlockReferenzLoeschen()
    Dim objSB As Object
    For Each objSB In ThisDrawing.ModelSpace
        If objSB.ObjectName = "AcDbBlockReference" Then
            If objSB.Name = "AKK_ZEKO" Then objSB.Delete
        End If
    Next objSB
End Sub

naja, Object geht ja (fast) immer, ist also eigentlich langweilig, die genauere Zuweisung gelingt mir leider noch nicht. Kann da wer helfen? Ich denke, das ist meine die übliche Klassenphobie, die Objektbibliothek sagt mir nur: Klasse von ACAD, bringt mich im Moment nicht nach vorne 
Wo kann ich mich denn da mal schlau machen? Ich such was für "kleine Hände", möglichst auf deutsch...

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

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: 1357
Registriert: 24.07.2002

erstellt am: 09. Apr. 2008 07: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 Nur für Stechi 10 Unities + Antwort hilfreich

Hi Nicole,

Probier es doch mal so:

Code:
Public Sub BlockReferenzLoeschen()
    Dim objSB As AcadBlockReference
    For Each objSB In ThisDrawing.ModelSpace
        If TypeName(objSB) = "IAcadBlockReference2" Then
            If objSB.Name = "AKK_ZEKO" Then objSB.Delete
        End If
    Next objSB
End Sub

Das erst mal als Anfang. Ich schaue mal, ob ich noch ein Tutorial über VBA hier irgendwo rumfliegen habe.

Gruß, Carsten

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

runkelruebe
Ehrenmitglied V.I.P. h.c.
Straßen- / Tiefbau



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

Beiträge: 8075
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 09. Apr. 2008 07:18    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 Stechi 10 Unities + Antwort hilfreich

Moin Carsten,
nöö, leider nicht.
Laufzeitfehler 13 bei Sprung in Zeile: For Each objSB In ThisDrawing.ModelSpace
objSB -> Wert = Nothing
Er mag einfach ums Verrecken die Zuweisung als AcadBlockReference nicht.

Fehlt mir evtl. nur ein Verweis?

PS: 1. Danke schon einmal für's gucken :-)
2. der "code" selber läuft und tut auch, was er soll, es geht mir rein um die "Dim as Object" Geschichte...

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

[Diese Nachricht wurde von runkelruebe am 09. Apr. 2008 editiert.]

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: 1357
Registriert: 24.07.2002

erstellt am: 09. Apr. 2008 07:46    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 Stechi 10 Unities + Antwort hilfreich

Hi Nicole,

Bei sind folgende Verweise vorhanden:
Visual Basic for Applications
AutoCAD 2008 Type Library
OLE Automation

Bei mir kommt da aber keine Fehlermeldung.

Gruß, Carsten

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

runkelruebe
Ehrenmitglied V.I.P. h.c.
Straßen- / Tiefbau



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

Beiträge: 8075
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 09. Apr. 2008 07:57    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 Stechi 10 Unities + Antwort hilfreich

Wow. Es lag am CIVIL...
Mal als ACAD gestartet und siehe da: es geht.
Allerdings TypeName(objSB) = "IAcadBlockReference" , ich glaube, Dir ist da ne 2 vom " zwischengerutscht ;-)

So, und jetzt klär mich bitte mal jemand bzgl. CIVIL und ACAD und deren Unterschiede auf 
Verweise sind identisch.

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

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: 1357
Registriert: 24.07.2002

erstellt am: 09. Apr. 2008 08:38    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 Stechi 10 Unities + Antwort hilfreich

Hi,

Nö, mir ist da keine 2 "zwischengrutscht", siehe Bild:

Gruß, Carsten

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

runkelruebe
Ehrenmitglied V.I.P. h.c.
Straßen- / Tiefbau



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

Beiträge: 8075
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 09. Apr. 2008 08:58    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 Stechi 10 Unities + Antwort hilfreich

Tja, was soll ich sagen:


Aber egal, ich klau hier grade jemandem (hallo stechi  ) den thread 
das wollte ich gar nicht...
Brechen wir also an dieser Stelle ab.
@Carsten: Danke für Deine Hilfe!

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

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

Stechi
Mitglied
Informatiker


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

Beiträge: 75
Registriert: 17.01.2008

erstellt am: 09. Apr. 2008 09:51    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 Runkelruebe,

Du klaust nicht! Ich freue mich sogar, dass für Andere einen Anstoß liefere.
Danke für Eure Mithilfe! Das  Problem habe ich mit Eure Mithilfe lösen können!

Gruß

Markus

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)2023 CAD.de | Impressum | Datenschutz