Présentation de Python pour la CAO | Cadalyste



15 juin 2022

Par : Andrew G. Roe



Programmation CAO : Le langage open source offre des fonctionnalités intrigantes pour les programmeurs CAO.

De toutes les options de programmation disponibles pour les programmeurs CAO, l’une des plus intrigantes est Python. Plate-forme open source nommée d’après la troupe de comédie britannique Monty Python, Python est un langage interprété de haut niveau, ce qui signifie que le code est relativement facile à déchiffrer et que le processus de développement est souvent plus rapide que celui des autres langages.

Dans cet article, nous allons faire un bref tour de Python, en examinant certaines fonctionnalités clés qui pourraient être utiles aux programmeurs CAO. Nous examinerons également certaines des différentes versions, ou implémentations, de Python. Nous reviendrons ensuite et verrons comment utiliser Python en conjonction avec Dynamo, un outil que nous avons exploré dans les articles précédents. La terminologie et les nuances peuvent être un peu déroutantes au début, mais attendez tout au long de la visite pour voir ce que Python a à offrir.

Pourquoi apprendre Python ?

En tant que langage de haut niveau, Python utilise des mots clés anglais reconnaissables au lieu de phrases cryptées que seul un ordinateur pourrait aimer. Sa mise en forme est relativement simple, avec une utilisation minimale de ponctuation, d’accolades et d’autres symboles couramment utilisés dans d’autres langues. Pour les programmeurs débutants et expérimentés, cela rend Python assez facile à apprendre.

Parce qu’il s’agit d’un langage interprété, le code Python n’a pas besoin d’être compilé avant de s’exécuter – un gain de temps considérable lors du développement du programme. L’interpréteur peut être utilisé de manière interactive, ce qui vous permet de voir les résultats lorsque vous tapez du code.

Avec des structures de données de haut niveau telles que des tableaux flexibles et des dictionnaires, Python peut être utilisé comme langage d’extension pour des applications personnalisables telles qu’AutoCAD et MicroStation. En fait, l’extensibilité de Python vous permet d’interagir avec du code écrit dans des langages totalement différents, tels que C/C++ ou Java. Python vous permet également de créer des modules qui peuvent être réutilisés dans d’autres programmes Python.

En tant que langage open source, Python peut être téléchargé, utilisé et distribué gratuitement. La documentation est facilement disponible sur le site Web de Python, ainsi qu’une pléthore d’exemples. D’autres sites Web et vidéos dispersés sur Internet offrent des exemples et des conseils supplémentaires.

Versions et implémentations

Tout comme de nombreux éditeurs de logiciels commerciaux proposent différentes versions de leurs produits, diverses communautés open source ont développé différentes implémentations de Python. L’implémentation standard, CPython, est généralement simplement appelée Python. Écrit en C, comme son nom l’indique, il est considéré comme l’implémentation de base, la plus alignée sur les normes Python.

IronPython est une implémentation de Python basée sur le runtime .NET. Vous pouvez charger l’assembly .NET dans les programmes IronPython à l’aide d’une syntaxe orientée objet. Vous pouvez également compiler le code IronPython dans un assembly et l’exécuter de manière autonome ou l’invoquer à partir d’autres langages.

PyPy est une variante développée pour améliorer les performances en utilisant la compilation juste-à-temps (JIT). En compilant le code Python en langage machine dans les coulisses, PyPy peut réaliser des gains de vitesse significatifs sur les gros programmes.

Pour les programmeurs AutoCAD, pyautocad est une bibliothèque Python orientée vers l’écriture de scripts d’automatisation ActiveX pour AutoCAD. Il est 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. Certains produits Autodesk, tels que Civil 3D et Revit, incluent également une version intégrée de Python dans l’environnement Dynamo. Plus à ce sujet plus tard.

Du côté de Bentley, des shells de développement Python sont disponibles pour certaines applications verticales. Par exemple, des kits de développement logiciel (SDK) basés sur Python sont disponibles pour LumenRT, le logiciel de visualisation et de modélisation de la réalité de Bentley, et PLAXIS, un produit d’analyse géotechnique. Les communautés d’utilisateurs de visualisation et d’analyse géotechnique Bentley fournissent plus d’informations.

Plusieurs autres versions de Python sont également disponibles. Le Python Package Index (PyPI) est un référentiel de diverses implémentations Python.

Installation et démarrage de Python

Pour utiliser Python en dehors de l’environnement Dynamo, installez-le d’abord sur votre ordinateur. Python est préinstallé sur une petite partie des PC Windows, mais il est probable que vous deviez le télécharger et l’installer. Pour vérifier si vous l’avez déjà, entrez python dans une fenêtre de ligne de commande. Si vous voyez une réponse d’un interpréteur Python, vous avez la version identifiée dans l’affichage initial. Si vous devez installer Python, vous pouvez trouver la dernière version sur la page de téléchargement de Python et suivre les instructions pour l’installer.

Une fois que vous avez installé Python, vous devriez le voir répertorié dans votre menu de démarrage, ou vous pouvez l’invoquer à partir de la ligne de commande. L’interpréteur Python n’a pas d’interface sophistiquée, mais le shell fournit les outils de base pour démarrer.

Python

Cliquez pour agrandir.

Principes fondamentaux de la syntaxe

Avant d’apprendre à écrire du code en Python, vérifiez la nature interactive de l’interpréteur en tapant une expression mathématique, telle que 2+2, juste après l’invite de commande, qui est >>>. Python affiche la réponse sur la ligne suivante.

Python

Cliquez pour agrandir.

Bien que Python soit un langage de haut niveau qui utilise des expressions anglaises courantes, il reste encore quelques règles à suivre. Nous ne les couvrirons pas tous ici, car le site Web comprend une documentation complète, mais voici quelques faits saillants :

  • Comme vous l’avez vu, vous pouvez taper une expression numérique et l’interpréteur écrit la valeur. Les opérateurs mathématiques +, -, * et / fonctionnent comme dans la plupart des autres langages.

  • Les chaînes, ou le texte, peuvent être entourés de guillemets simples (“Bonjour”) ou de guillemets doubles (“Bonjour”) avec le même résultat.

  • Les listes peuvent être écrites sous la forme d’une série de valeurs séparées par des virgules entre crochets. Par exemple: Couches = [0, 1, 2, 10]

  • Les fonctions effectuent des actions spécifiques. Par exemple, la fonction print() écrit la valeur du ou des arguments entre parenthèses.

Python

Cliquez pour agrandir.

  • Les méthodes sont des fonctions associées à un objet particulier. De nombreux types de données intégrés sont fournis avec des méthodes prédéfinies, et vous pouvez également créer vos propres méthodes.

  • Une variété d’outils logiques et de contrôle de flux sont disponibles, tels que si, pouret tandis que déclarations.

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 | sauvegarder et donner un nom à votre fichier.

Python

Cliquez pour agrandir.

Et maintenant pour quelque chose de complètement différent. . . Python et Dynamo

(Avez-vous attrapé la référence Monty Python dans l’en-tête ?) Une fois certains principes fondamentaux de Python couverts, nous pouvons maintenant nous tourner vers ce que Python a à offrir aux programmeurs CAO. Pour les programmeurs AutoCAD, l’un des moyens d’exploiter le code Python consiste à utiliser l’environnement Dynamo.

Dans les articles précédents, nous avons appris à utiliser Dynamo pour créer une ligne, ainsi qu’à utiliser des blocs de code pour simplifier les scripts Dynamo. En combinant Python et Dynamo, vous pouvez combiner des outils des deux environnements pour créer des applications personnalisées. Les produits Autodesk facilitent ce processus en incluant une version intégrée de Python dans Dynamo.

Dans Civil 3D 2022, les interpréteurs CPython et IronPython sont disponibles. Ceci est principalement pour des raisons de compatibilité, car CPython est actuellement en version 3, tandis qu’IronPython n’est disponible qu’en version 2. La version de Python disponible dans d’autres produits Autodesk peut varier selon la version, mais la possibilité d’accéder à Python dans l’environnement Dynamo a été une étape importante pour les programmeurs CAO.

Dans notre premier article Dynamo, nous avons montré comment créer une ligne AutoCAD à l’aide de coordonnées de point prédéfinies. Le graphique Dynamo ressemblait à ceci :

Python

Cliquez pour agrandir.

Au lieu d’utiliser des nœuds d’entrée pour chaque valeur de coordonnée, vous pouvez utiliser un script Python pour fournir la même entrée pour certains ou tous les nœuds. Pour démontrer, nous allons établir la valeur Y2 en utilisant Python :

1. Ouvrez un dessin Civil 3D (ou Revit) et créez une session Dynamo similaire à celle ci-dessus. (Reportez-vous au premier article pour un récapitulatif de ces étapes. Si vous avez déjà travaillé sur cet exemple, vous pouvez réutiliser votre script.)

2. Dans la zone Rechercher du volet Bibliothèque de Dynamo, saisissez « Python » pour accéder à l’environnement Python. Cliquez sur Script Python pour ajouter ce nœud à votre espace de travail.

Python

Cliquez pour agrandir.

3. Double-cliquez dans la partie inférieure du nœud Python Script pour ouvrir l’éditeur Python Script. Remarquez près de la partie inférieure gauche de la fenêtre une liste déroulante montrant les deux versions de Python disponibles. Pour cet exemple, nous utiliserons CPython.

Python

Cliquez pour agrandir.

4. L’éditeur Python Script comprend de nombreuses lignes de code passe-partout que vous pouvez ignorer pour l’instant. Modifiez la dernière ligne pour lire comme suit :

SORTIE = Y2

5. Juste au-dessus de la dernière ligne, insérez une nouvelle ligne comme suit :

Y2 = 7
6. Connectez la sortie du nœud Python Script à la valeur Y dans le nœud Point.ByCoordinates. Le graphique Dynamo modifié doit ressembler à ceci :

Python

Cliquez pour agrandir.

7. Cliquez sur Courir dans le coin inférieur gauche de la fenêtre Dynamo pour exécuter votre script. (Vous pouvez ignorer cette étape si vous exécutez Dynamo en mode automatique.) Vous devriez voir une nouvelle ligne tracée avec la valeur Y générée par Python.

Bien qu’il s’agisse d’un exemple très simplifié par souci de brièveté, vous pouvez voir comment vous pouvez utiliser Python pour fournir une puissance supplémentaire à votre boîte à outils de programmation. Avec les fonctionnalités plus robustes de Python telles que la logique et le contrôle de flux, ainsi que l’environnement graphique de Dynamo pour créer rapidement des programmes, le ciel est la limite pour créer des applications personnalisées.

Nous continuerons à explorer comment utiliser Dynamo, Python et d’autres outils dans les prochains 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

Your email address will not be published. Required fields are marked *