Topheur Posté(e) le 21 juin 2017 Posté(e) le 21 juin 2017 Bonjour les lispeurs <img src='http://cadxp.com/public/style_emoticons/<#EMO_DIR#>/laugh.gif' class='bbc_emoticon' alt=':(rires forts):' /> Petite demande du jour, je suis à la recherche d'un lisp me permettant de dessiner plusieurs spline à l'aide du même point de base. J'y parviens avec des traits, des arcs (voir code plus bas) mais pas avec des splines. (defun c:TEST_ARC ( / pdep pfin pmil) ;point de départ de l'arc (centre pie) (setq pdep (getpoint "\nSpécifiez le premier point: ")) ;défini les point l'arc (setq pmil (getpoint pdep "\nSpécifiez le deuxième point: ")) ;; milieu de l'arc (setq pfin (getpoint pdep "\nSpécifiez le troisièmepoint: ")) ;; fin de l'arc ;trace l'arc (command "_.arc" pdep pmil pfin "") ;; dessine l'arc Pour la Spline j'ai essayé (command "_.spline") (while(setq p(getpoint))(command p)) (command "" "" "") Ce code marche mais pas avec mon point de base, j'ai donc essayé (command "_.spline") (while(setq p(pdep))(command p)) (command "" "" "") Ou encore (command "_.spline") (while(setq pdep(getpoint))(command p)) (command "" "" "") Mais cela ne marche pas plus. Une petite idée ? Voilà ce code est dans une boucle qui me permet une fois le premier élément tracé de tracé le deuxième en partant depuis le point de base défini, puis le troisième toujours depuis ce point de base, etc... Deuxième question, quand j'utilise ces codes, je ne vois pas mes ligne en cours de traçage, je pense que cela viens d'un paramètre mais lequel ? Merci les lispeurs Citer
(gile) Posté(e) le 21 juin 2017 Posté(e) le 21 juin 2017 Salut, Je ne suis pas sûr de comprendre ce que tu cherches à faire, mais essaye ça : (defun c:TEST (/ pdep pfin pmil pt) ;; point de départ de l'arc (centre pie) (setq pdep (getpoint "\nSpécifiez le premier point: ")) ;; défini les point l'arc (setq pmil (getpoint pdep "\nSpécifiez le deuxième point: ")) ; milieu de l'arc (setq pfin (getpoint pdep "\nSpécifiez le troisièmepoint: ")) ; fin de l'arc ;; trace l'arc (command "_.arc" pdep pmil pfin "") ;; dessine l'arc ;; trace la spline (command "_.spline" pdep) (while (setq pt (getpoint pdep "\nPoint suivant: ")) (command pt) ) (command "" "" "") (princ) ) Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Topheur Posté(e) le 22 juin 2017 Auteur Posté(e) le 22 juin 2017 Salut, Je ne suis pas sûr de comprendre ce que tu cherches à faire, mais essaye ça : (defun c:TEST (/ pdep pfin pmil pt) ;; point de départ de l'arc (centre pie) (setq pdep (getpoint "\nSpécifiez le premier point: ")) ;; défini les point l'arc (setq pmil (getpoint pdep "\nSpécifiez le deuxième point: ")) ; milieu de l'arc (setq pfin (getpoint pdep "\nSpécifiez le troisièmepoint: ")) ; fin de l'arc ;; trace l'arc (command "_.arc" pdep pmil pfin "") ;; dessine l'arc ;; trace la spline (command "_.spline" pdep) (while (setq pt (getpoint pdep "\nPoint suivant: ")) (command pt) ) (command "" "" "") (princ) ) Bonjour Gile Effectivement, tu n'as pas compris :(rires forts): mais je me suis mal exprimé.Je voulais simplement dessiner une spline avec un pt d'origine puis une autre, toujours avec ce même point d'origine. L'arc servais à montrer se que j'avais bricolé mais que je n'arrivez pas à adapter à ma spline. Bref, j'ai adapté ton bout de code et cela fonctionne MERCI. Par contre essaye ton code et dis moi si tu vois le tracé de la spline quand tu clique point par point car moi je ne la vois pas (je ne peux la visualiser qu'à la fin du lisp). Je pense que cela viens d'un paramètre mais lequel ? Citer
(gile) Posté(e) le 22 juin 2017 Posté(e) le 22 juin 2017 Salut, Si tu veux voir la spline au fur et à mesure que tu spécifies des points il faut faire : (command "_.spline" pdep) (while (< 0 (getvar "cmdactive")) (command pause) )mais l'utilisateur devra faire lui même les 3 validations pour sortir de la commande SPLINE. Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Topheur Posté(e) le 22 juin 2017 Auteur Posté(e) le 22 juin 2017 Salut, Si tu veux voir la spline au fur et à mesure que tu spécifies des points il faut faire : (command "_.spline" pdep) (while (< 0 (getvar "cmdactive")) (command pause) )mais l'utilisateur devra faire lui même les 3 validations pour sortir de la commande SPLINE. Hello, Là c'est pas cool <_< J'utilise le lisp pour gagner du temps, c'est quand même hallucinant de ne pas pouvoir voir le tracer !Appuyer 3 fois sur entrer je trouve ça idiot mais bon tracé un arc sans voir le tracé passe encore mais pour une spline c'est problématique. Mais si le magicien du lisp n'y parviens pas, je pense qu'il va falloir que je me contente de mes 3 fois entrée :( Merci en tous cas, il me reste encore un peu de chose à développer dans mon code mais j'approche du but grace à toi. Mille merci Citer
Messages recommandés