Ich habe ein VBA-Skript, das ein Layout in eine exsting Zeichnung importiert, es ist ein Papierraum-Layout und enthält einen acadPViewport, um das Modell mit anzuzeigen.AutoCAD VBA acadPViewport unvorhersehbares Verhalten beim Setzen von Standardscale
Ich muss eine vernünftige Standardansicht festlegen, der einfachste Weg, dies zu tun, ist das Darstellungsfeld auf die Ausmaße des Modells einzustellen.
Ich kann dies tun durch den Aufruf:
VP.standardscale = acVPScaleToFit
'(optional, I've tried adding these to no effect)
VP.update
currentDocument.Regen
Ich habe experimentiert und diesen Code Anruf. Wenn ich das Ansichtsfenster in dem sofortigen Fenster zu finden, während keine Makros oder Routinen ausgeführt wird, durch Bezugnahme auf:
ThisDrawing.ActiveLayout.block(1).standardscale = acvpscaletofit
es hat den gewünschten Effekt der ZoomExtents im pViewport Aufruf (soweit ich es rezentriert und neu berechnet sagen kann, die Extents, nach denen ich suche).
Wenn ich genau den gleichen Code in meinem Hauptcode ausführen, hat es keine Wirkung.
Irgendwelche Ideen geschätzt.