Plus de plaisir avec Python | Cadalyste



18 août 2022

Par : Andrew G. Roe



Programmation CAO : Automatisez AutoCAD avec la bibliothèque pyautocad de Python pour gagner du temps.

Programmation CAO Cadalyst

Dans un article précédent, nous avons présenté Python en tant que plate-forme de programmation open source. Nous avons également vu comment utiliser Python conjointement avec Dynamo pour créer des objets AutoCAD.

[Editor’s note: While pyautocad is AutoCAD-centric, the concepts apply to other CAD environments also. For those who use different CAD programs, we’ll be digging into other programming tools in future articles.]

Python peut être utilisé de bien d’autres manières qu’avec Dynamo. Étant donné que Python est un langage interprété de haut niveau, vous pouvez facilement développer des applications qui automatisent les tâches répétitives, soit dans un environnement autonome, soit dans un environnement CAO. Dans le monde AutoCAD, une bibliothèque pratique appelée pyautocad peut vous aider à écrire des scripts d’automatisation ActiveX pour AutoCAD à l’aide de Python. Il est particulièrement utile pour travailler avec les coordonnées, l’itération et la recherche d’objets, ainsi que l’importation et l’exportation de données.

Dans cet article, nous verrons comment démarrer avec pyautocad et écrirons du code simple pour automatiser les tâches AutoCAD. Nous explorerons également quelques idées sur la façon d’utiliser pyautocad pour développer des applications plus complexes par la suite.

Commencer

Si Python est installé sur votre ordinateur (voir l’article précédent), vous pouvez ajouter pyautocad d’une manière similaire à celle utilisée pour Python. (Remarque : les étapes suivantes supposent que vous utilisez Windows. Vous devrez peut-être dépoussiérer certaines compétences en gestion de fichiers pour ces étapes, et vous pouvez également trouver des moyens plus simples pour effectuer ces étapes, mais essayez ces étapes pour commencer.)

1. Identifiez où Python est installé sur votre ordinateur. Il se trouve généralement dans un emplacement similaire à celui illustré ci-dessous.

Identifiez où Python est installé sur votre ordinateur.  Il se trouve généralement dans un endroit similaire à celui-ci.

Cliquez sur l’image pour l’agrandir.

2. Accédez au dossier Scripts et confirmez que vous disposez d’une application appelée pip, qui est utilisée pour installer d’autres applications.

Accédez au dossier Scripts et confirmez que vous disposez d'une application appelée pip, qui est utilisée pour installer d'autres applications.

Cliquez sur l’image pour l’agrandir.

Le programme d’installation de pip devrait être installé avec Python, mais si ce n’est pas le cas, vous pouvez trouver plus d’informations sur l’installation ici : Installation de packages – Guide de l’utilisateur de l’emballage Python.

3. Une fois pip installé, vous pouvez installer pyautocad en ouvrant une fenêtre d’invite de commande, en naviguant jusqu’au dossier approprié et en tapant ce qui suit :

pip installer pyautocad

Après avoir entré cette simple déclaration, pyautocad est alors installé sur votre ordinateur, et vous devriez voir quelque chose de similaire à ce qui suit :

Après avoir entré cette simple déclaration, pyautocad est alors installé sur votre ordinateur, et vous devriez voir quelque chose comme ça.

Cliquez sur l’image pour l’agrandir.

Communiquer avec AutoCAD

Avec pyautocad installé, vous pouvez maintenant passer à des choses plus intéressantes, telles que l’automatisation des tâches AutoCAD. Pour ce faire, vous devez d’abord connecter pyautocad à AutoCAD. Vous pouvez trouver des instructions à ce sujet et sur diverses autres commandes pyautocad dans la documentation pyautocad. Une documentation Python supplémentaire est également incluse avec l’installation de Python.

1. Démarrez AutoCAD et ouvrez un nouveau dessin.

2. Dans le menu Démarrer de Windows, sélectionnez Python pour ouvrir l’interpréteur Python.

Dans le menu Démarrer de Windows, sélectionnez Python pour ouvrir l'interpréteur Python

3. Dans Python, entrez les lignes de code suivantes pour importer AutoCAD et créer une instance d’AutoCAD.

depuis pyautocad importer Autocad

acad = Autocad()

4. Pour confirmer que pyautocad communique avec AutoCAD, saisissez la ligne suivante pour afficher le nom du dessin :

imprimer (acad.doc.Name)

Pour confirmer que pyautocad communique avec AutoCAD, entrez la ligne suivante pour afficher le nom du dessin.

Cliquez sur l’image pour l’agrandir.

Les trois symboles >>> servir d’invite de commande dans l’interpréteur Python. La sortie (dans ce cas, le nom du dessin) s’affiche sans l’invite de commande.

Création d’objets AutoCAD

Maintenant que pyautocad communique avec AutoCAD, vous pouvez créer des objets dans AutoCAD. Commençons par définir deux points et tracer une ligne reliant ces deux points.

1. Dans l’interpréteur Python, entrez les lignes suivantes pour importer l’objet Point d’AutoCAD et créer deux points.

de pyautocad importer APoint

p1 = UNPoint(0, 0)

p2 = UNPoint(5, 5)

2. Créez une ligne reliant ces deux points en saisissant la ligne suivante.

acad.model.AddLine(p1, p2)

3. Basculez vers AutoCAD pour afficher la ligne tracée à partir de Python.

Basculez vers AutoCAD pour afficher la ligne tracée à partir de Python.

Automatisation des tâches redondantes

Pour vraiment exploiter les capacités de Python ou de tout autre langage de programmation, vous pouvez automatiser les tâches redondantes et gagner du temps. Vous pouvez également regrouper plusieurs lignes de code et écrire des programmes unifiés, plutôt que de taper des lignes individuelles en Python. Voyons comment cela fonctionne avec un exemple un peu plus avancé. Supposons que vous souhaitiez dessiner plusieurs lignes et donner à chaque ligne une couleur unique.

1. Dans AutoCAD, effacez la ligne que vous venez de tracer avec Python.

2. Dans l’interpréteur Python, entrez les lignes suivantes.

depuis pyautocad importer Autocad, APoint

acad = Autocad()

p1 = UNPoint(0, 0)

p2 = UNPoint(5, 5)

pour je dans la plage (5):

maligne = acad.model.AddLine(p1, p2)

maligne.couleur = i

p2.y += 5

3. Presse Entrer pour compléter la routine.

4. Basculez vers AutoCAD pour afficher les lignes tracées par votre code Python.

Basculez vers AutoCAD pour afficher les lignes tracées par votre code Python.

Passons en revue le code qui a créé ces lignes. Comme pour l’exemple précédent, nous avons d’abord importé AutoCAD et créé une instance d’AutoCAD dans l’interpréteur Python. Nous avons également importé l’objet AutoCAD Point dans la même ligne qui a importé AutoCAD. Nous avons procédé à la création de deux points comme précédemment, mais cette fois en créant une série de lignes au lieu d’une seule. Nous avons fait cela avec une boucle for, qui est un bloc de code qui peut être répété un nombre fixe de fois. Dans la boucle, la valeur y de chaque point final (p2) a été incrémentée de 5.

Toujours dans la boucle, la couleur de chaque ligne a été modifiée en accédant à la propriété color. Les couleurs AutoCAD peuvent être référencées par un numéro de couleur (1 à 255) ou un nom de couleur (par exemple, rouge). Dans ce cas, la propriété color d’un objet appelé myline a été modifiée en incrémentant la valeur de la propriété color de 1.

Construire sur les bases

Nous n’avons encore qu’effleuré la surface avec Python et pyautocad. Outre la création de lignes, vous pouvez utiliser Python pour créer pratiquement n’importe quel autre objet AutoCAD, tel que des cercles, des polygones, des polylignes, du texte, etc. Vous pouvez également modifier d’autres propriétés d’objet en plus de la couleur, telles que le calque, l’épaisseur de ligne et l’épaisseur, d’une manière similaire à celle illustrée dans l’exemple.

Vous pouvez également obtenir des informations sur le dessin, telles que le nombre d’objets d’un certain type ou les noms des calques dans un dessin. Si vous souhaitez échanger des données entre AutoCAD et des sources de données externes, vous pouvez importer et exporter des données à partir de feuilles de calcul Excel, de fichiers texte et d’autres sources. La bibliothèque pyautocad possède également des utilitaires utiles, tels qu’une minuterie et divers outils de formatage de texte. Les programmeurs Python avancés combinent ces fonctionnalités et d’autres pour gérer et modifier les dessins, interroger les dessins pour obtenir des informations et gérer plusieurs dessins de différentes manières.

Pour les scripts plus complexes, vous pouvez enregistrer votre code dans un fichier pour le réutiliser. Le code Python peut être écrit avec n’importe quel éditeur de texte, bien que vous puissiez bénéficier d’éditeurs de texte plus avancés comme Visual Studio Code ou Notepad++. À partir de l’interface du shell Python, vous pouvez enregistrer votre code pour le réutiliser en cliquant sur Fichier | Enregistrez et donnez un nom à votre fichier. Vous pouvez ensuite exécuter le script à partir d’une ligne de commande. Vous trouverez plus d’informations sur l’exécution de scripts dans la documentation Python.

Vous pouvez ensuite exécuter le script à partir d'une ligne de commande.

Cliquez sur l’image pour l’agrandir.

Prochaines étapes

Avec cette brève introduction, vous pouvez voir comment Python et pyautocad peuvent être utilisés ensemble pour automatiser diverses tâches AutoCAD. Avec une compréhension de base du modèle d’objet d’AutoCAD, vous pouvez accéder à pratiquement tous les objets, méthodes et propriétés auxquels vous pouvez accéder manuellement dans AutoCAD. Le niveau de sophistication de vos programmes n’est limité que par votre créativité.

Nous continuerons à explorer comment utiliser Python et d’autres outils dans de futurs articles. Si vous avez des idées spécifiques de sujets de programmation, n’hésitez pas à nous envoyer un e-mail.

.

Leave a Comment