Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 19/02/2024 dans toutes les zones

  1. Bonjour, Quelques commentaires avant une nouvelle collaboration. Si vous enlevez les commentaires, il ne reste pas grand chose. C'est ce que j'aime avec Python. J'ai choisi le presse-papier pour l'interpolation des arguments et retours. C'est ce qu'il a de plus rapide, ce qui permet de placer la fonction lisp transform dans une boucle foreach sans aucun soucis de synchronisation. Le choix de placer les fonctions Autolisp dans un domaine de nom (trans-) permet d'éviter des problèmes éponymiques de fonctions (effet de bord). Boites de dialogue Utilisons une boite de dialogue Python avec le module interne Tkinter. Bien plus facile à utiliser que DCL, Tkinter n'offre pas énormément de possibilités supplémentaires, et n'est pas beau. Si vous voulez des interfaces utilisateurs "pro", c'est QT qu'il faut utiliser. Personnellement, Tkinter me suffit. Si vous chercher des exemples Tkinter, vous allez forcement tomber sur cela: from tkinter import * Cela importe tout Tkinter, qui est énorme, ce n'est pas du tout recommandé. Le premier effet, est un temps de latence au démarrage du .py. La fonction Autolisp transform demande des code EPSG en arguments. Dans Autocad, même si ils apparaissent entre parenthèses à la fin de l'insertion d'un emplacement géographique, difficile de déduire le code EPSG par rapport au nom du système de coordonnée. Heureusement, nous utilisons toujours les mêmes généralement. Vous trouverez votre bonheur sur ce site officiel. C'est mondial tout comme la fonction transform de notre projet. Mais comme vous aurez la flemme, clique droit dans le vide de l'explorateur de votre EDI à gauche. Nouveau fichier et créer transConst.py et coller ceci dedans: # coding: utf-8 # Dictionnaire, Système de coordonnées : Code EPSG # Ce sont les noms des systèmes utilisés dans Autocad (variable "cgeocs") # Descriptions détaillées des systèmes https://epsg.io/ DICSYS = { "Lambert93": "epsg:2154", "NTF.Lambert-1-ClrkIGN": "epsg:27561", "NTF.Lambert-2-ClrkIGN": "epsg:27562", "NTF.Lambert-3-ClrkIGN": "epsg:27563", "NTF.Lambert-4-ClrkIGN": "epsg:27564", "NTF.Lambert-2C-ClrkIGN": "epsg:27572", #étendu "CC42": "epsg:3942", "CC43": "epsg:3943", "CC44": "epsg:3944", "CC45": "epsg:3945", "CC46": "epsg:3946", "CC47": "epsg:3947", "CC48": "epsg:3948", "CC49": "epsg:3949", "CC50": "epsg:3950", "ED50-UTM30": "epsg:23030", "ED50-UTM31": "epsg:23031", "ED50-UTM32": "epsg:23032", "WSG84": "epsg:4326", "WEB_MERCATOR": "epsg:3857" } ça c'est fait. Nous pouvons maintenant appeler ce dictionnaire avec un simple from transConst import DICSYS Créons une liste boxe simple choix. Crée le fichier transGUI.py et copier cela: # coding: utf-8 # python 3.12 # only for Windows """ tkListbox Boite de dialogue de type liste boxe à choix unique, de taille adaptative à la longueur de la liste. Utilisable par un programmme Autolisp. Args: tit: str , Titre de la boite. txt: str , Message lst: liste de texte , Choix Ret: str, L'élément choisi. Testé sur Windows 10 et Autocad 2015 """ from tkinter import Tk, Listbox, Label, Button import pyperclip def tkListbox(tit, txt, lst): # Fonction de validation def ok_clic(): # Globalisation du choix global sel # Récupération de la séléction. si = lb.curselection() sel = lb.get(si[0]) win.destroy() # Instanciation de l'objet Tk win = Tk() # Init de la boxe win.title(tit) win.geometry(f'250x{(len(lst) * 19)+25}+820+270') win.resizable(False, False) # Message Label(win,text = txt).pack() # Instanciation de l'objet Listbox lb = Listbox(win, width=30, height=len(lst)) # Insertion des éléments de la liste nb = 0 for key in lst: nb += 1 lb.insert(nb, key) # Séléction par defaut lb.select_set(0) lb.pack() # Bouton OK Button(win, text="Ok", command=ok_clic).pack(pady=10) # Fin propre si Echap win.bind('<Escape>', lambda e: win.destroy()) win.mainloop() # Copie du retour dans le presse-papier pyperclip.copy(sel) return sel a bientôt avec une fonction Autolisp qui utilise tout cela.
    1 point
  2. Effectivement @lecrabe, les notions de base restent similaires. Pour passer en revue les grandes fonctionnalités de Civil 3D c'est un bon début !
    1 point
  3. Hello @Maxx29 et @Guillaume Berson Telechargement : grosfi.ch/VX4cnB9kkzy Le fichier sera DISPO 14 jours au telechargement ... Voici un ancien Support de Cours (440 pages) AutoCAD 2018 French par INFRATECH CE Support etait DISPO et FREE au telechargement il y a qq annees ... Je pense que 90% de ce Support s applique a un AutoCAD CIVIL 202X moderne !? Qu en pensent nos Maitres @Guillaume Berson et @Vincent Fredon ? Bon WE, Bye, lecrabe
    1 point
  4. Coucou, Ce n'est pas possible de faire des objets NETTOYER en arc de cercle, mais il est toujours possible de "simuler" un arc de cercle en transformant l'arc de cercle en un ensemble de segments droits suffisamment courts pour se rapprocher suffisamment de la courbure générale. Pour se faire, tu peux t'aider du LISP suivant par exemple : http://gilecad.azurewebsites.net/LISP/Arc2Seg.LSP Bisous, Luna
    1 point
  5. Bonsoir à toutes et tous, Oui sur Civil 3D c'est possible mais il faut que toutes les conditions soient réunies, à savoir, à minima, un semis de points topographique du terrain en l'état actuel (plan topographique). De la, création du MNT (Modèle Numérique de Terrain), Création de l'axe en plan Tabulation de cet axe en plan Dessin du Profil en Long Dessin des Profils en Travers Extraction des données
    1 point
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité