Aller au contenu

Spline en lisp avec point de base


Topheur

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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)
)

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

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).

 

mini_551601Sanstitre.png

 

Je pense que cela viens d'un paramètre mais lequel ?

Lien vers le commentaire
Partager sur d’autres sites

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.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é