Topheur Posté(e) le 4 décembre 2016 Posté(e) le 4 décembre 2016 Bonjour les lispeurs <img src='http://cadxp.com/public/style_emoticons/<#EMO_DIR#>/laugh.gif' class='bbc_emoticon' alt=':(rires forts):' /> Je reviens vers vous car je patauge (comme d'hab :P ). J'essaye de créer un calque avec 2 noms de variables sans succès. J'ai écris le code suivant : ;CREATION D'UN CALQUE EN FONCTION DE DEUX NOM TAPPER (defun c:NVCN() (setq nnom(getstring"\nNom ou numéro ? ")) (setq nnom2(getstring"\nNom ou numéro n°2 ? ")) (command "calque" "E" nnom & nnom2 "") (princ) ) Cela me crée un calque avec nnom mais pas avec nnom2.J'ai également essayé de supprimer le & et le remplacer par un espace mais cela ne fonctionne pas. En plus de cela, j'aimerais que le nom du calque devienne "00_nnom_nnom2" (ex. 00_VRD_01 ou 00_A1_ELEC) Voilà, merci de votre aide. Citer
(gile) Posté(e) le 4 décembre 2016 Posté(e) le 4 décembre 2016 Salut, Regarde la fonction strcat. Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Topheur Posté(e) le 4 décembre 2016 Auteur Posté(e) le 4 décembre 2016 Salut, Regarde la fonction strcat. Merci Gile. ;CREATION D'UN CALQUE EN FONCTION DU NOM TAPPER (defun c:NVCN() (setq nnom(getstring"\nNom du calque ? ")) (setq nnom2(getstring"\nNom du calque ? ")) (command "calque" "E" (strcat "00_" nnom nnom2 ) "") (princ) ) Citer
Topheur Posté(e) le 4 décembre 2016 Auteur Posté(e) le 4 décembre 2016 Une autre question, pourquoi la commande : (command "calque" "E" "test" "") Arrête mon lisp.Si je tape par exemple(command "calque" "E" "test" "")(alerte"test") le lisp crée le calque, le rend courant (se que je désire) mais il ne m'affiche pas le message. Pourquoi ? Citer
arnaudalp Posté(e) le 5 décembre 2016 Posté(e) le 5 décembre 2016 Bonjour Il manque encore un "" pour sortir de la commande il me semble. Citer
DenisHen Posté(e) le 5 décembre 2016 Posté(e) le 5 décembre 2016 Bonjour à tous. Attention, dans ton (strcat, tu écris nnom, avec 2 "n", c'est nom avec un seul "n" qu'il faut... Citer 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)
didier Posté(e) le 5 décembre 2016 Posté(e) le 5 décembre 2016 Coucou il écrit ce qu'il veut après tout !!! il met bien deux P au verbe taper... ce qui importe c'est qu'il reprenne le même nom de variable que lors de l'affectation ce qui est le cas en l’occurrence. Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 5 décembre 2016 Posté(e) le 5 décembre 2016 Effectivement... Je pensais juste aider... Comme nom et nom2, on pourrais écrire nom1 et nom2... Il n'a pas déclaré ses variables non plus... Citer 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)
didier Posté(e) le 5 décembre 2016 Posté(e) le 5 décembre 2016 Coucou je répondais en reprenant ta remarque car s'il la prenait à la lettre (et suivant son niveau) il pouvait y avoir confusionpour mémoire en lisp on ne déclare pas les variables. lors de leur affectation il avait bien écrit nnom et nnom2 donc le strcat est correct (quant aux deux p de taper c'est une autre histoire ...) et pour répondre au message #4 : c'est du même acabitla commande alerte (avec un e à la fin) n'existe pas en natif on peut la créer certes mais je ne pense pas qu'il en soit question iciattention à ce que vous tapez, le souci est comme dans bien des cas, entre la chaise et l'écran...pour afficher un message d'alerte la commande est ALERT avec une string en argument. amicalement Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
Topheur Posté(e) le 5 décembre 2016 Auteur Posté(e) le 5 décembre 2016 Coucou je répondais en reprenant ta remarque car s'il la prenait à la lettre (et suivant son niveau) il pouvait y avoir confusionpour mémoire en lisp on ne déclare pas les variables. lors de leur affectation il avait bien écrit nnom et nnom2 donc le strcat est correct (quant aux deux p de taper c'est une autre histoire ...) et pour répondre au message #4 : c'est du même acabitla commande alerte (avec un e à la fin) n'existe pas en natif on peut la créer certes mais je ne pense pas qu'il en soit question iciattention à ce que vous tapez, le souci est comme dans bien des cas, entre la chaise et l'écran...pour afficher un message d'alerte la commande est ALERT avec une string en argument. amicalement Bonsoir, Pour info, il est vrai que je suis une quiche en orthographe, en conjugaison et en grammaire (et je m'en excuse). Je le prends un petit peu mal :angry: car je trouve (parfois) les remarques un peu blessante(je parle dans la vie de tous les jours). Du coup, j'applique la philosophie suivante ;) :"Ne juge pas trop vite les gens car ces derniers ont très souvent un passé qui n'est pas le tiens !!!" Je ne vais pas vous raconter ma vie mais je remercie déjà le ciel de m'avoir amené jusqu'ici et me serais bien marré de voir certaines personnes à ma place aujourd'hui (et leur niveau en général)... Bref... Je déteste l'injustice et j'aimerais rendre à César se qui lui appartient.Le lisp n'est pas de moi, je l'ai TOTALEMENT pompé et j'ai simplement modifié le nom des variables qui n'avait pas de sens pour moi.Je sais c'est pas bien mais j'ai appris le VBA comme ça et à l'heure d'aujourd'hui, je dispose d'un niveau correcte (je ne suis pas une bête mais j'ai fais la domotique de ma maison avec ! toc ! :P ). Du coup, je ne m'amuse pas (car je n'y prête aucune attention) à corriger les fautes d'orthographe. Pour en revenir au problème, merci à vous, il est résolu. Concernant les variables :nnom nnom2, n pour variable, nom pour la désignation, et 1,2,3 si plusieurs.Cela aurait donné npiece npiece2 pour un nom de pièce par exemple.Je ne sais pas si c'est la bonne méthode mais c'est celle que j'applique. Déclarer les variables, je le faisais en VBA via Dim car cela me planté mes macro mais en lisp je n'arrive pas à m'y faire et je ne les déclares pas souvent vu que cela ne plante pas le lisp. Pour la commande alertE, idem, pompé sur un code...Ecrit avec un E à la fin donc... je mets un E à la fin. Voilà messieurs, ne prenais pas mal mon message car je trouve votre forum super et les gens qui y participe également car sans VOUS je jouerais encore avec mon c... <img src='http://cadxp.com/public/style_emoticons/<#EMO_DIR#>/laugh.gif' class='bbc_emoticon' alt=':(rires forts):' /> Citer
didier Posté(e) le 5 décembre 2016 Posté(e) le 5 décembre 2016 Coucou désolé si tu prends mal les choses, l'idée initiale de ma réponse n'allait pas dans ce sens et il ne faut pas prendre grief de ce qui n'en est pas.sache que si j'avais voulu me moquer, j'aurais employé des tournures de phrase mais je ne me moque pas et je juge encore moins.des gens me gavent certes, et dans la vie je le dis, ici je ne le dis pas justement (comme tu le précises) parce qu'on ne se connaît pas et chacun a un parcours plus ou moins linéaire. rapidement : j'ai vécu en Afrique, à Madagascar, dans l'océan indien, au Maroc et je suis sur le départ pour l'Algérie, je te dis ça pour te faire toucher du doigt que j'ai "formé" des gens de bien des origines et que s'ils faisaient des fautes dans leur CV je ne disais rien (ou presque) mais quand ça touche au code, là on n'a plus de marge de manœuvre.sujet clos (du moins à mes yeux) pour ce qui est du vocabulaire, je m'en contrefiche que tu écrives taper avec deux p puisque ça ne nuit pas au codemais quand tu déclenches une erreur à cause d'une faute de frappe (ou d'orthographe) là j'interviens.par contre je maintiens que la commande ALERTE n'existe pas, sans doute celui que tu as pompé l'avait redéfinie... pour ce qui est de copier-coller du code, je garde mon avis pour moi vu que tu as l'air assez chatouilleux. ce qu'il faut en retenir c'est que ça fonctionne et j'en suis content pour toi.je me permettrai sans doute une réponse si tu reviens questionner, ce que je souhaite. amicalement Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 5 décembre 2016 Posté(e) le 5 décembre 2016 Salut, Concernant la déclaration locale des variables, charger le LISP suivant et exécuter plusieurs fois de suite la commande TEST1.Est-ce bien le résultat attendu ? (defun c:test1 () (setq pt (getpoint "\nPremier point: ")) (setq lst (cons pt lst)) (while (setq pt (getpoint "\nPoint suivant: ")) (setq lst (cons pt lst)) ) (command "_.pline") (foreach p lst (command p)) (command "") (princ) ) Charger Test2 et faire de même... (defun c:test2 (/ pt lst) (setq pt (getpoint "\nPremier point: ")) (setq lst (cons pt lst)) (while (setq pt (getpoint "\nPoint suivant: ")) (setq lst (cons pt lst)) ) (command "_.pline") (foreach p lst (command p)) (command "") (princ) ) On peut aussi lire ce sujet notamment la réponse #3. Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Topheur Posté(e) le 6 décembre 2016 Auteur Posté(e) le 6 décembre 2016 Bonsoir, D'abord au sujet du message de gile, je vais me pencher dessus quand j'aurais un peu de temps car cela m’intéresse. Quand à didier, sujet clos, on enterre la hache de guerre Par contre je ne suis pas chatouilleux au sujet des copier/coller de code, c'est juste que le monde change et qu'il faut parfois avancer professionnellement très vite sans prendre le temps de comprendre se que l'on fait réellement et je le regrette ! Du coup, j'ai appris à faire le "chinois" (comme on dit chez nous, ou le moine copiste), c'est pas la meilleure méthode mais c'est ça ou on passe une semaine à faire un truc faisable en 10 secondes avec un lisp (oui 10 secondes car les PC du taff...) En tous cas j'espère bien que tu continueras à répondre si d'aventure je me heurte à un problème sur mes lisp :P et je ne t'en voudrais pas de corriger mes fautes (mais je te préviens, je suis un vrai petit poucet :) ) Citer
Messages recommandés