Le script que j'écris repositionne deux blocs de données et définit leur étendue.
Ce faisant, il redessine l'intégralité d'Active View 4 fois, ce qui ralentit considérablement le script.
En appuyant sur F9 ou en cliquant sur le bouton «Suspendre le dessin» avant d'exécuter le script, vous désactivez le dessin et accélérez l'exécution du script, mais je souhaite que le script le fasse automatiquement.
Je souhaite désactiver le dessin ArcMap 10 au début du script et l'activer à la fin.
Comment puis-je faire cela?
la source
Je me rends compte que cette question a été fermée il y a longtemps, mais j'ai de vieux outils pour lesquels c'était récemment un problème et la solution SendKeys ne semble plus fonctionner, j'ai donc roulé ma propre solution après avoir expérimenté. Il ne désactive pas le dessin, mais crée l'équivalent de performance en désactivant les couches et en les réactivant une fois terminé. L'exécution du script en arrière-plan ne résout pas le problème (même si je le pensais), j'ai donc essayé de désactiver toutes les couches - et cela a fonctionné! Accélération complète vers le code équivalent dans un document vide. Voici donc du code pour y parvenir.
Ces deux fonctions, lorsqu'elles sont combinées, désactivent tous les calques d'un document, retournant l'état enregistré des calques. Ensuite, lorsque vos opérations sont terminées, vous pouvez les réactiver en fournissant cet état enregistré à la deuxième fonction. Utilisation recommandée:
Et les fonctions sont ci-dessous - corrections, commentaires, etc. bienvenue - code assez nouveau donc il peut avoir quelques bugs, mais il en a été testé.
la source