Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Block im Auswahlsatz sprengen

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:  Block im Auswahlsatz sprengen (1996 mal gelesen)
Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

erstellt am: 22. Mrz. 2011 09:43    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 zusammen!

Ich filter mir mehrere Objekte aus einer Zeichnung in einen Auswahlsatz. Da können auch Blöcke drin enthalten sein.
Nun möchte ich gerne zwei bestimmte Blöcke sprengen.
Dazu soll der Auswahlsatz durchlaufen werden und wenn es einen
Block mit dem Namen "Sofadi" und /oder "Aluline" gibt, sollen diese gesprengt werden.
Könnte mir dabei kurzfristig jemand weiterhelfen?

Code:

For Each BlocksprengEnt In RSSet
Set BlocksprengObj = BlocksprengEnt
  If BlocksprengObj.ObjectName = "AcDbBlockReference" Then
      If BlocksprengObj.Name = "Sofadi" Or "Aluline" Then
        '???BlocksprengObj ...sprengen
      End If
  End If
Next BlocksprengEnt

... oder wie müßte die Schleife lauten?

Vielen Dank im Voraus.

------------------
Gruß

Dirk

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


Ex-Mitglied

erstellt am: 22. Mrz. 2011 10:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

Code:
call BlocksprengObj.Explode

und dann noch bei Bedarf löschen, denn es werden zwar die explodierten Elemente angelegt, die Referenz bleibt aber bestehen.

Auch >>>hier<<< ein Beitrag, sollten sich BlockReferenzen nicht zerlegen lassen.

- alfred -

------------------
www.hollaus.at

Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

erstellt am: 25. Mrz. 2011 14: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

Hallo Alfred!

Danke für die Info.
Ein zusätzliches Problem war, dass sich Dynamische Blöcke nicht über "INSERT"
filtern lassen.
Diese habe ich nun über den Layer gefiltert und dann...

Code:

'--Filterung bzgl. Blockauflösungen--!!!
Dim BlockObj1 As AcadObject
Dim BlockEnt1 As Variant
Dim BlockDel1 As Variant
Dim BlockType(0) As Integer
Dim BlockData(0) As Variant
BlockType(0) = 8: BlockData(0) = "Alul*,Sofa*"

'--Grundlagen für den Selectionsset Auswahlsatz 1--!!!
Dim BSSet As AcadSelectionSet
Set BSSet = ActiveDocument.SelectionSets.Add("Block")
If Err <> 0 Then
    Set BSSet = ActiveDocument.SelectionSets("Block")
End If

With BSSet
    .Clear
    .Select acSelectionSetCrossing, minp, maxp, BlockType, BlockData
End With

For Each BlockEnt1 In BSSet
    Set BlockObj1 = BlockEnt1
    If BlockObj1.ObjectName = "AcDbBlockReference" Then
            BlockDel1 = BlockObj1.Explode
            BlockObj1.Update
            BlockObj1.Delete
    End If
Next BlockEnt1


Ein schönes Wochenende.

------------------
Gruß

Dirk

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


Ex-Mitglied

erstellt am: 25. Mrz. 2011 15:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

kleine Bemerkung zu Performance: dieses kannst Du weglassen:

BlockObj1.Update

Wenn Du die Referenz ja nachfolgend gleich löscht. 

- alfred -

------------------
www.hollaus.at

Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

erstellt am: 26. Mrz. 2011 11:34    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

... danke Dir.

------------------
Gruß

Dirk

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