Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Ansichtsfenster im Layout

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 PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
Autor Thema:  Ansichtsfenster im Layout (1102 mal gelesen)
InesP
Mitglied



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

Beiträge: 66
Registriert: 23.08.2004

Win XP
AutoCAD 2004
Office 2000

erstellt am: 14. Aug. 2005 20: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 Leute,
ich stehe mal wieder vor einem Problem. Ich habe in meiner Zeichnung ca. 20 Layout's, in denen bereits Ansichtsfenster vorhanden sind. Leider stimmen diese nicht mehr in ihrer Größe. Deshalb möchte ich diese per VBA löschen, um dann automatisch neue,größenmäßig richtige erstellen zu lassen. Der zweite Teil ist ja auch kein Problem, aber ich möchte nicht manuell jedes Layout öffnen, um das darin befindliche Ansichtsfenster zu löschen. Wie kann ich das vorhandene Ansichtsfenster ansprechen? Mit ActiveVport bin ich irgendwie nicht klargekommen. Vielleicht könnt Ihr mir ja weiter helfen.
Gruß Ines

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

InesP
Mitglied



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

Beiträge: 66
Registriert: 23.08.2004

Win XP
AutoCAD 2004
Office 2000

erstellt am: 16. Aug. 2005 07:30    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

Hi Leute,
liegt's an der Urlaubszeit oder ist mein Problem so uninteressant, daß keiner was dazu sagen will?
Na, jedenfalls habe ich weiter rumprobiert und will mal versuchen mein Problem anders auszudrücken:
Wenn in einem Layout mehrere Ansichtsfenster vorhanden sind, wie kann ich diese einzeln ansprechen? Haben die Namen, eine Item-auflistung habe ich jedenfalls nicht gefunden. Ich möchte z.B ein konkretes Ansichtsfenster von den mehreren aktiv setzen und dieses dann löschen.
So, ich hoffe, ich habe mich heute konkreter ausgedrückt und bitte um Eure Hilfe! Danke schon mal vorab.
Gruß Ines

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 16. Aug. 2005 08:22    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 InesP 10 Unities + Antwort hilfreich

Hallo Ines,

probier mal folgenden Code ...

Code:
Option Explicit

Sub test()

Dim oLayout As AcadLayout
Dim iZaehler As Integer

For Each oLayout In ThisDrawing.Layouts

    For iZaehler = 0 To oLayout.Block.Count - 1 Step 0
   
        If oLayout.Block.Item(iZaehler).ObjectName = "AcDbViewport" Then
           
            'oLayout.Block.Item(iZaehler).Delete
       
        End If

    Next iZaehler

Next oLayout

End Sub


Das Problem an der Sache ist, dass wenn Du das Object löscht, werden die Item wieder neu durchnummeriert und das nachfolgende Object ist dann das jetztige, welches Du gerade gelöscht hast. Ist wohl noch zu früh heut, dass ich das net hinbekomm. Aber vielleicht bekommst es auch allein raus.

Grüssle TP

------------------

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 16. Aug. 2005 09:49    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 InesP 10 Unities + Antwort hilfreich

Hallo Ines,

so sollte es nun aber funktionieren. Bissle umständlich, wirst es denke aber nur einmalig einsetzen.

Code:
Option Explicit

Sub test()

Dim oLayout As AcadLayout
Dim iZaehler As Integer
Dim nZaehler As Integer
Dim arrViewPorts() As AcadPViewport

For Each oLayout In ThisDrawing.Layouts

    nZaehler = 0

    For iZaehler = 0 To oLayout.Block.Count - 1 Step 1
 
        If oLayout.Block.Item(iZaehler).ObjectName = "AcDbViewport" Then
         
            ReDim Preserve arrViewPorts(iZaehler)
            Set arrViewPorts(iZaehler) = oLayout.Block.Item(iZaehler)
           
            nZaehler = nZaehler + 1
     
        End If

    Next iZaehler
       
    ''löschen der Ansichtsfenster
    For iZaehler = 0 To nZaehler - 1 Step 1
   
        arrViewPorts(iZaehler).Delete
   
    Next iZaehler
   
Next oLayout

End Sub


Grüssle TP

------------------

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

InesP
Mitglied



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

Beiträge: 66
Registriert: 23.08.2004

Win XP
AutoCAD 2004
Office 2000

erstellt am: 16. Aug. 2005 11:59    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 BloodyMess,
ich hab dein Programm zwar noch nicht 100%ig verstanden, aber es funktioniert und bringt mich wieder ein Stück weiter. Vielen Dank dafür, die 10Unities sind unterwegs. Vielleicht kann ich jetzt über die Bestimmung des Zentrumpunktes oder Höhe und Breite des Ansichtsfensters das eine Fenster exakt bestimmen, welches ich gelöscht haben will. Im Moment werden jedenfalls bei mir alle in diesem Layout befindlichen Ansichtsfenster gelöscht. Also Danke nochmals.
Gruß Ines

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