Das Skript, das ich schreibe, positioniert zwei Datenrahmen neu und legt deren Ausmaße fest.
Dabei wird die gesamte Active View viermal neu gezeichnet, wodurch das Skript erheblich verlangsamt wird.
Wenn Sie vor dem Ausführen des Skripts die Taste F9 drücken oder auf die Schaltfläche "Zeichnung anhalten" klicken, wird die Zeichnung deaktiviert und das Skript wird viel schneller ausgeführt. Ich möchte jedoch, dass das Skript dies automatisch ausführt.
Ich möchte das Zeichnen in ArcMap 10 am Anfang des Skripts deaktivieren und am Ende aktivieren.
Wie mache ich das?
quelle
Mir ist klar, dass diese Frage vor langer Zeit geschlossen wurde, aber ich habe einige alte Tools, für die dies ein neues Problem war, und die SendKeys-Lösung scheint nicht mehr zu funktionieren. Ich habe meine eigene Lösung nach dem Experimentieren gerollt. Das Zeichnen wird nicht deaktiviert, es wird jedoch die entsprechende Leistung erzielt, indem Ebenen deaktiviert und anschließend wieder aktiviert werden. Wenn das Skript im Hintergrund ausgeführt wird, ist das Problem nicht gelöst (obwohl ich es mir vorgestellt habe), und ich habe versucht, alle Ebenen auszuschalten - und es hat funktioniert! Volle Beschleunigung auf den entsprechenden Code in einem leeren Dokument. Hier ist also ein Code, um das zu erreichen.
Wenn diese beiden Funktionen kombiniert werden, werden alle Ebenen in einem Dokument deaktiviert und der gespeicherte Status der Ebenen wird zurückgegeben. Wenn Ihre Vorgänge abgeschlossen sind, können Sie sie wieder einschalten, indem Sie den gespeicherten Status für die zweite Funktion bereitstellen. Empfohlene Verwendung:
Und die Funktionen sind unten aufgeführt - Korrekturen, Kommentare usw. sind willkommen - ziemlich neuer Code, so dass er einige Fehler aufweisen kann, aber einige getestet wurden.
quelle