Oli553 Posté(e) le 20 avril 2005 Auteur Posté(e) le 20 avril 2005 Dans ce cas précis, à quoi sert "Initget" et comment sait t'on le chiffre que l'on doit mettre? Sinon, le repeat me sert à éviter de remettre la largeur voulue au bout de 2 polylignes. Merci pour cette réponse qui m'éclaire et me fait découvrir à chaque fois un peu plus du lisp :D L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai. "Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok. "ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana Ma bibliothèque de blocs électrique :symbole elec.dwg
Tramber Posté(e) le 20 avril 2005 Posté(e) le 20 avril 2005 Fais F1 depuis VLISP et tapes INITGET, la [surligneur]lumière[/surligneur] sera. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bonuscad Posté(e) le 20 avril 2005 Posté(e) le 20 avril 2005 (initget [bits] [chaine]) sert de fonction de controle d'entrée utilisateur pour toute les fonctions (get????) sauf (getstring) ainsi que (?entsel?) Suivant comment est amé le bit de controle, une réponse ne répondant pas aux exigences sera refusé et redemandé. ici (initget 4) refuse toute entrée négative car PLINEWID refuserait une telle valeur. Voir l'aide sur iniget pour les bit de controle Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Oli553 Posté(e) le 20 avril 2005 Auteur Posté(e) le 20 avril 2005 Amennnn... Va falloir que j eme remmette à l'anglais donc si j'ai bien compris il sert à gerer des conditions pour les valeurs demandés? (je résume peut etre imparfaitement) :casstet: L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai. "Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok. "ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana Ma bibliothèque de blocs électrique :symbole elec.dwg
bonuscad Posté(e) le 20 avril 2005 Posté(e) le 20 avril 2005 C'est vrai que cette doc en ligne en anglais exclu toute les personnes pas famillère avec l'english. Mais l'exclusion de nos jour est monnaie courante :mad: Tiens un nouveau jus, justement concernant initget, cela te permet de valider la dernière largeur, d'en entrer une nouvelle, ou de quitter la procédure. (defun c:limul (/ old_color old_plw w_pl def_color) (setq old_color (getvar "CECOLOR") old_plw (getvar "PLINEWID")) (initget 4 "Quitter _Quit") (while (/= (setq w_pl (getdist (strcat "\nLargeur de la polyligne/[Quitter] <" (rtos (getvar "PLINEWID")) ">: "))) "Quit") (if w_pl (setvar "PLINEWID" w_pl)) (setq def_color 50) (repeat 2 (setvar "CECOLOR" (itoa def_color)) (command "_.pline") (while (not (zerop (getvar "cmdactive"))) (command pause) ) (setq def_color 100) ) (initget 4 "Quitter _Quit") ) (setvar "CECOLOR" old_color) (setvar "PLINEWID" old_plw) (prin1) ) En voyant l'évolution, on comprend mieux. ;) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Oli553 Posté(e) le 20 avril 2005 Auteur Posté(e) le 20 avril 2005 Merci, effectivement, on comprend mieux en voyant l'évolution d'un programme.Je me pose la question : A quoi sert les données aprés la variable qui permet de lancer le lisp? (defun c:limul (/ old_color old_plw w_pl def_color) L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai. "Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok. "ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana Ma bibliothèque de blocs électrique :symbole elec.dwg
bonuscad Posté(e) le 20 avril 2005 Posté(e) le 20 avril 2005 Cela sert que lorsque la routine est achevée de remettre les variables déclarées à "nil" (rien, vide)Tu récupère ainsi de l'espace mémoire qui a servi au stockage des variables et évite aussi lors d'un appel ultérieur de la routine d'utiliser la valeur d'une variable (si le lisp n'est pas très bien monté) qui pourrait fausser le déroulement du code. Si ceci n'est pas fait ex (defun c:limul ( / ) tu pourras interroger tes variables utilisées à la fin de ta routine par !def_color (par exemple) au message commande: qui te retournera 100 (dernière valeur utilisée).Ce mode peut être utile en phase de débug Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Tramber Posté(e) le 20 avril 2005 Posté(e) le 20 avril 2005 Va falloir que j eme remmette à l'anglais donc si j'ai bien compris il sert à gerer des conditions pour les valeurs demandés? (je résume peut etre imparfaitement) :casstet: :red: Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 20 avril 2005 Posté(e) le 20 avril 2005 Génial, un nouveau lispeur a rejoint notre communautéDonc pour t'encourager dans cette voie et pour te montrer un peu ce qui est possible de faire, je te donne un lisp qui a été fait au plus simple et sans visual lisp (à part peut-être vl-remove) @+(defun c:mp(/ Cmd Co Coo Compt ep Lg os Pt1 Pt2 Pts Pas s) (defun *errmp* (msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nErreur : " msg)) ) (princ) ) (if os (setvar "osmode" os) ) (setvar "cecolor" coo) (command "_.undo" "_end") (setvar "cmdecho" Cmd) (setq *error* s) (princ) ) (defun cg_co() (setvar "cecolor" (itoa Co)) (if (= Co 50) (setq Co 100) (setq Co 50) ) ) (setq s *error*) (setq *error* *errmp*) (setq Cmd (getvar "cmdecho") Coo (getvar "cecolor")) (setvar "cmdecho" 0) (setq Ep (getstring (strcat "\nEpaisseur des polylignes <" (rtos (getvar "plinewid")) "> : "))) (if Ep (setvar "plinewid" (atof Ep)) ) (setq Pt1 (getpoint "\nPremier point : ") Pt2 '(0.0 0.0 0.0) Co 50 Compt 0) (if Pt1 (progn (setq Pts (list (cons 0 Pt1))) (while Pt2 (initget "Undo") (setq Pt2 (getpoint Pt1 "\nPoint suivant / Undo : ")) (if Pt2 (progn (if (= Pt2 "Undo") (progn (if (/= Compt 0) (progn (command "_.undo" "1") (setq Pts (vl-remove (assoc Compt Pts) Pts) Compt (1- Compt) Pt1 (cdr (assoc Compt Pts))) ) (princ "\nRien à annuler") ) ) (progn (command "_.undo" "_group") (setq os (getvar "osmode")) (setvar "osmode" 0) (setq Pas 0 Lg (* (getvar "ltscale") 5)) (while (< Pas (- (distance Pt1 Pt2) Lg)) (cg_co) (command "_.pline" (if (= Pas 0) Pt1 "@" ) (strcat "@" (rtos Lg) "<" (angtos (angle Pt1 Pt2) 0 16)) "") (setq Pas (+ Pas Lg)) ) (cg_co) (command "_.pline" "@" Pt2 "") (setvar "osmode" os) (setvar "cecolor" coo) (command "_.undo" "_end") (setq Pt1 Pt2 Compt (1+ Compt) Pts (append Pts (list (cons Compt Pt2)))) ) ) ) ) ) ) ) (setvar "cmdecho" Cmd) (setq *error* s) (princ) ) Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 20 avril 2005 Posté(e) le 20 avril 2005 Y'en a qui ont du temps, à 18h !Avec Patrick, tu vas avoir une super routine. Oli, demain tu lui mets tes voeux de formation sous le nez à ton patron. S'il ne donne pas sa réponse dans les 4 semaines, c'est acquis.(hi hi) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Oli553 Posté(e) le 20 avril 2005 Auteur Posté(e) le 20 avril 2005 Tu fait bien de me le rappeler, j'avais oublier ce petit point là... ;) Pour Patrick, merci beaucoup, j'essairai de regarder en profondeur demain ou Vendredi :D Merci à tous, je m'y met doucement, cette semaine j'ai un peu de temps, les semaines qui viennent à mon avis j'en aurais moins... :exclam: @+ L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai. "Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok. "ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana Ma bibliothèque de blocs électrique :symbole elec.dwg
Patrick_35 Posté(e) le 21 avril 2005 Posté(e) le 21 avril 2005 Y'en a qui ont du temps, à 18h !Non, pas spécialement, jute le temps de l’écrire, de corriger un ou deux bug, de l’améliorer un peu et de le tester. De plus, c’est le type de prog qui peut me servir à l’occasion @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
kallain Posté(e) le 21 avril 2005 Posté(e) le 21 avril 2005 Sans lisp ni vba ni.... J'aime bien cette Bidouille 1) je trace un trait en couleur jaune et en type de ligne continuous2) je fais une copie de ma ligne en @ (en clair sur lui-même)3) je change les propriétés de ma copie en vert et avec le type de ligne cache4) il ne reste plus qu'à jouer avec ltscale (de la ligne ou général) Pourquoi faire simple .... ;) Parceque entre nous, des lignes bicilores... On en fait pas souvent :hallucine:
Oli553 Posté(e) le 21 avril 2005 Auteur Posté(e) le 21 avril 2005 :P C'était histoire de voir ce qu'il est possible et non en lisp :D et aussi parce que j'i une affaire ou la Terre générale de fond de fouille du batiment doit apparaitre :o .@+ L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai. "Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok. "ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana Ma bibliothèque de blocs électrique :symbole elec.dwg
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