Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Block im aktivem Layout suchen

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
  
Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
Autor Thema:  Block im aktivem Layout suchen (1083 mal gelesen)
Arol
Mitglied



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

Beiträge: 13
Registriert: 13.02.2009

erstellt am: 28. Apr. 2009 22:06    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 habe im Layoutbereich einen Zeichnungsrahmen, der als Block abgespeichert ist und hat z.B. den Namen "A1-HOCH". In einem Layoutbereich darf immer nur ein Zeichnungsrahmen sein aber mehrere andere Blöcke, z.B. Schriftkopf, Schnittsymbol...
Nun möchte ich ein VBA Programm schreiben, das den aktiven Layout nach Blocknamen durchsucht. Durch eine CASE Abfrage würde ich je nach Resultat bestimmte Ploteinstellungen zuweisen/festlegen.

Mein Problem ist: ich habe einen Blocknamen und möchte wissen, ob ein Block mit diesem Namen im aktiven Layout vorhanden ist. "ThisDrawing.Blocks" sind alle Blöcke in der Zeichnung. Habe mit ActiveLayout rumexperemntiert, aber zu nichst gekommen.

Ich brauche etwas in der Art:

Dim block As AcadBlock
For Each block In ActiveLayout.Blocks
select case block.name
case "A1-HOCH"
...
case "A1-Quer"
...
end select
next

Gruß
Georg

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


Ex-Mitglied

erstellt am: 28. Apr. 2009 22:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Georg,

bitte nicht Blockdefinition (Block) mit Blockreferenz (BlockReference) vertauschen, Du findest im Layout keine Blockdefinitionen, nur -referenzen.

Codebeispiel (durchsucht aktuelles Layout und listet alle Blockreferenz-Namen) wäre:

Code:
Public Sub ScanLayout()
  Dim tAcadEnt As AcadEntity
  For Each tAcadEnt In ThisDrawing.ActiveLayout.Block
      If TypeOf tAcadEnt Is AcadBlockReference Then
        Debug.Print tAcadEnt.Name
      End If
  Next
End Sub

- alfred -

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

Arol
Mitglied



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

Beiträge: 13
Registriert: 13.02.2009

erstellt am: 30. Apr. 2009 12: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

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