Aleck_Ultimate Posté(e) le 23 octobre 2018 Posté(e) le 23 octobre 2018 Bonjour à tous. Tout est dans le titre, je voudrais savoir comment vous faites pour vous y retrouver quant vos LISP commencent à êtres conséquents. Certains LISP sont tellement longs qu'ils dépassent le nombre de ligne (ou de caractère) maximum autorisé par le forum, et moi avec une estimation entre 200 et 300 lignes (plus de trois fois la hauteur de ma fenêtre dans l'éditeur Visual LISP) j'ais déja du mal à m'y retrouver alors que c'est mon code et que abstraitement je connais sa structure sur le bout des doigts. J'ais essayé de mettre des signets mais ils disparaissent dés lors que je formate la fenêtre, ce qui m'aide beaucoup à lire le code. Le formatage, pas les signets qui disparaissent. J'ais cherché s'il était possible d'afficher les numéro de lignes comme ceux qui apparaissent sur Da-code mais j'ais l'impression que c'est particulier au formatage du site de Didier parce que je n'ais rien trouvé dans la console. Le seul truc qui m'aide un peut à m'y retrouver c'est que j'annonce chaque sous-routine et chaque "chapitre" de mon code principale sous la forme suivante : Code précédent ;;; ;;; Nom ;;; Description ;;; Suite du code C'est bien mais ça fait pas tout. C'est juste un coup à prendre ou y'a des astuces ? Merci. Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
Patrick_35 Posté(e) le 23 octobre 2018 Posté(e) le 23 octobre 2018 Salut Il n'y a pas 50 solutions. 1) Quand des fonctions sont répétitives d'un lisp à l'autre, elles ont toujours le même nom.2) Avoir le nom d'une fonction la plus clair pour soi. Par exemple, une fonction qui supprime les espaces --> (defun supprimer_espace())3) Ne pas hésiter à faire des commentaires.4) Un exemple de commentaires. ;;;================================================================= ;;; ;;; Description de la fonction ;;; Avec les paramètres si besoin ;;; ;;;================================================================= ;;;--------------------------------------------------------------- ;;; ;;; Description de la sous-routine ;;; Avec les paramètres si besoin ;;; ;;;--------------------------------------------------------------- @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Aleck_Ultimate Posté(e) le 23 octobre 2018 Auteur Posté(e) le 23 octobre 2018 J'avais pas pensé à encadrer le texte avec d'autres caractères que des ";" . Ca rend plutôt bien comme tu fait ^^ Et surtout ça accroche mieux l'œil que des lignes de ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
didier Posté(e) le 23 octobre 2018 Posté(e) le 23 octobre 2018 Coucouà lire ou relire : Commentaires sur lignes multiples Éternel débutant... Mon site perso : Programmer dans AutoCAD
GEGEMATIC Posté(e) le 23 octobre 2018 Posté(e) le 23 octobre 2018 Salut à tous,sur ce sujet moi j'ai ce type de commentaire : ;; ********************************************************************************************* ;;§/inventaire/recherche des fichiers similaires dans une liste de fichier /lfich sim-mini ;; sans prendre en compte ni le chemin ni l'extension ;; retourne le résultat sous forme de liste. ;;lfich = liste des fichiers, sim-mini = taux de similarité minimum ;;(rechercheSimilarite '("un" "un1" "uns" "deux" "deux2" "pas" "ni" ) 0.75)-> (("deux" "deux2")) ;;(rechercheSimilarite '("un.dwg" "un1.pdf" "uns.dxf" "deux" "deux2" "pas" "ni" ) 0.6)-> (("deux" "deux2") ("un.dwg" "un1.pdf" "uns.dxf")) ;;(rechercheSimilarite '("un.dwg" "un.dwg" "un1.pdf" "uns.dxf" "deux" "deux2" "pas" "ni" ) 0.6)-> (("deux" "deux2") ("un.dwg" "un.dwg" "un1.pdf" "uns.dxf")) (defun rechercheSimilarite (lfich sim-mini / 1st lsim lgrp-sim) ... J'ajoute systématiquement des exemples d'utilisation, c'est plus parlant, et en cas de bug, en général à cause de la mise à jour d'une routine appelée, on à la certitude de ce qui marchait avant. la 1ere ligne est une codification qui me permet d'utiliser "man", un outil de documentation dont je ne saurai plus me passer.vieille version de manAvec man, je génère automatiquement:- une doc au format HTML : exemple de doc html- une doc au format excel xml : Fonction|Arguments|Famille |Chemin |Description C:AFFCOT|none |COVADIS |E:\aclsp\lisp\covadis_extension.lsp|affiche cotation pentes et altitudes des plateformes - Et surtout, un menu popup partiel qui recense toute les commandes "c:" classées par famille Volontairement Man n'affiche jamais l'aide stockée dans des fichier html ou xml:Au 1er démarrage, il scanne les projets lisp, comme ça la doc est toujours "fraiche" Sur que ça vaut le coup quand on commence a avoir beaucoup de projets, et beaucoup de routines ...Je tiens la dernière version à dispo si ça intéresse quelqu'un.A+Gégé ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
rebcao Posté(e) le 24 octobre 2018 Posté(e) le 24 octobre 2018 Bonjour, Voici par exemple, le début d'un programme que j'utilise pour des formations LISP, il s'agit de construire un rectangle... Je me force toujours à ajouter des commentaires ;;; et surtout indenter (avec TAB) les lignes en fonction du niveau de la fonction ! http://www.rebcao.fr/cadxp/images/prog_LISP.pngetc. Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
DenisHen Posté(e) le 31 octobre 2018 Posté(e) le 31 octobre 2018 Salut.Perso, j'attend qu'AutoDesk fasse pareil que DraftSight, une série de petits "+" à gauche du code qui développe un(des) sous-ensemble(s)... Comme ça se fait sur NotePad++ ou autre...Mais pour l'instant, voici un petit exemple que j'utilise :;;; ********************************************* ;;; Créé des géocarte en mode "Folio" ;;; Spéciale dédicace à La Lozère (CadXP.com) ;;; ********************************************* (defun c:MultiCarte () (princ "\nDéveloppé par Denis H. (vers.1.4)") (command "Geocarte" "h") (setq NbCarteHori (getreal "\nNombre de carte horizontales : ") NbCarteVerti (getreal "\nNombre de carte verticales : ") NbCarteHoriOrig NbCarteHori NbCarteVerti (+ NbCarteVerti 1) screen (getvar "screensize") ratio (/ (car screen) (cadr screen)) cen (getvar "viewctr") cen (trans cen 1 0) angle_rad (getvar "viewtwist") angle_rad (- (* 2 pi) angle_rad) h (getvar "viewsize") w (* h ratio) BasGauche (polar (polar cen (+ angle_rad pi) (/ w 2)) (- angle_rad (/ pi 2)) (/ h 2)) BasDroite (polar (polar cen angle_rad (/ w 2)) (- angle_rad (/ pi 2)) (/ h 2)) HautDroite (polar (polar cen angle_rad (/ w 2)) (+ angle_rad (/ pi 2)) (/ h 2)) HautGauche (polar (polar cen (+ angle_rad pi) (/ w 2)) (+ angle_rad (/ pi 2)) (/ h 2)) Xmin (car BasGauche) Ymin (cadr BasGauche) Xmax (car HautDroite) Ymax (cadr HautDroite) DeltaX (- Xmax Xmin) DeltaY (- Ymax Ymin) Haut (/ DeltaY NbCarteVerti) Larg (/ DeltaX NbCarteHori) ValDecal (* Haut 0.028) ;;NbCarteVerti (fix (* (/ DeltaY DeltaX) NbCarteHori)) ) ;_ Fin de setq (while (> NbCarteVerti 0) (while (> NbCarteHori 0) (setq PtGauche (list Xmin Ymin)) (setq PtDroite (list (+ Xmin Larg) (+ Ymin Haut))) (command "zoom" "f" PtGauche PtDroite) (command "imagegeo" "") (setq NbCarteHori (- NbCarteHori 1)) (setq Xmin (+ Xmin Larg)) ) ;_ Fin de while (setq NbCarteVerti (- NbCarteVerti 1)) (setq NbCarteHori NbCarteHoriOrig) (setq Xmin (car BasGauche)) (setq Ymin (+ Ymin (- Haut ValDecal))) ) ;_ Fin de while (command "Geocarte" "d") (princ) ) ;_ Fin de defun Sachant que j'ai des LiSP de plusieurs milliers de lignes ! ! Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant