| |  | 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: Viewportansichten (567 mal gelesen)
|
Enza Mitglied

 Beiträge: 27 Registriert: 04.06.2007 AutoCAD 2007
|
erstellt am: 19. Dez. 2008 16:47 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Ich möchte gerne die Ansicht in einem Viewport über VBA steuern. Mein Programm öffnet nacheinander verschiedene Dateien, kopiert den Inhalt in eine Vorlage und speichert die Datei unter einem neuen Namen wieder ab. Da der Inhalt der Dateien immer unterschiedlich gross ist, möchte ich die Ansicht in einem Viewport im Paperspace-Bereich nachträglich ändern. Bisher aktiviere ich den Paperspace-Bereich und dann: ThisDrawing.SendCommand "_-view" & vbCr ThisDrawing.SendCommand "_top" & vbCr Es kommt dann die Aufforderung einen Viewport auszuwählen. Wie kann ich das in VBA programmieren? Vielen Dank für eine Antwort! Insa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 28. Dez. 2008 13:47 <-- editieren / zitieren -->
Hi Insa, das Problem wird sein, dass Papierbereich aktiv ist, und nicht Modellbereich. Diese Umschaltung funktioniert durch: Code: ThisDrawing.mspace = True
und aus der AutoCAD-VBA-Hilfe noch ein Bespiel für den gesamten Zusammenhang, denn 'SendCommand' bringt Dich früher oder später zu anderen Problemen.
Code: Sub Example_MSpace() ' This example creates a new paper space viewport. ' It then toggles the ability to edit in model space using ' the MSpace property. Dim pviewportObj As AcadPViewport Dim center(0 To 2) As Double Dim width As Double Dim height As Double ' Define the paper space viewport center(0) = 3: center(1) = 3: center(2) = 0 width = 40 height = 40 ' Change from model space to paperspace ThisDrawing.ActiveSpace = acPaperSpace ' Create the paper space viewport Set pviewportObj = ThisDrawing.PaperSpace.AddPViewport(center, width, height) pviewportObj.DISPLAY True ThisDrawing.mspace = True ThisDrawing.ActivePViewport = pviewportObj ThisDrawing.Regen acAllViewports ' Find the current MSpace value MsgBox "The ability to edit model space from this PViewport is " & IIf(ThisDrawing.mspace, "on.", "off."), , "MSpace Example" ' Toggle the setting of MSpace ThisDrawing.mspace = False MsgBox "The ability to edit model space from this PViewport is now " & IIf(ThisDrawing.mspace, "on.", "off."), , "MSpace Example" End Sub
- alfred - |

| |
Enza Mitglied

 Beiträge: 27 Registriert: 04.06.2007 AutoCAD 2007
|
erstellt am: 05. Jan. 2009 09:28 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred! Vielen Dank noch für Deine Antwort! Ich habe inzwischen eine Lösung für mein Problem gefunden. Der Befehl "ZoomAll" im entsprechenden Viewport tut genau das, was ich gesucht habe. Viele Grüsse, Insa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |