dr.loveless Posté(e) le 29 avril 2004 Posté(e) le 29 avril 2004 Salut, Je cherche à utiliser la fonction INTERS expliquée dans l'aide AutoCAD, mais je dois mal taper le code, quelqu'un pourrait me filer un petit coups de pouce ?? Je voudrais que la variable J100 enregistre les coordonées du point d'intersection de la ligne J0 J0a et J1 J2, j'ai beau avoir essayé un paquet de manière différentes aucune ne fonctionne..... A L'AIDE (setq j100 (inters J0 J0a J1 J2 )) merci Le DOC
Patrick_35 Posté(e) le 29 avril 2004 Posté(e) le 29 avril 2004 Salutun (inters '(0.0 0.0) '(10.0 10.0) '(0.0 5.0) '(10.0 5.0)) te retournes '(5.0 5.0) @+ 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 29 avril 2004 Posté(e) le 29 avril 2004 Ce sont donc tes points qui ne sont pas dans un format valide ou issus d'un GETPOINT !? Sinon, il y a aussi l'histoire de l'intersection virtuelle. Si tu ajoute un T (non nul) à la fin de la liste des points, l'intersection de lignes ne se coupant pas est renvoyée.... ....sauf erreur, mais tu dois l'avoir vu dans le catalogue des fonctions de l'aide. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 29 avril 2004 Posté(e) le 29 avril 2004 bonsoir à toutes et à tous,ainsi qu'à toi, le doc, il semble souhaitable, que tu recopies la partie de ton code,avec la façon de définir tes points. de cette façon, on pourra tester et donc te répondre.amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 29 avril 2004 Posté(e) le 29 avril 2004 (inters p1 p2 p3 p4 nil) L'argument nil (et non T comme je disais) donne la possibilité d'avoir un point d'intersection dans le prolongement des lignes.Sans ce "nil", l'intersection ne serra renvoyé que si les lignes se coupent. J'ai vérifié en créant mes points par getpoint.J'ai vérifié aussi en créant des points avec LIST. Tu les as défini comment tes points ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 29 avril 2004 Posté(e) le 29 avril 2004 coucouben oui c'est peut être çà le problème du DOC,n'empêche que s'il avait envoyé le morceau du code qui le plante,on ne serait pas obligé de dire "peut être que ..."allez le doc, ne sois pas timide et envoie ton soucidans son environnement.ciao Éternel débutant... Mon site perso : Programmer dans AutoCAD
dr.loveless Posté(e) le 30 avril 2004 Auteur Posté(e) le 30 avril 2004 Ben le code je l'ai plus, vu que finalement j'ai fait appel à mes souvenirs de mathématique pour calculé ce foutu point, mais tout de même le code fait au moins 25 ligne de plus qu'avec la fonction INTERS.De souvenir c'était : (setq xJ0 (+ (car O0) (* (/ largcloi 2) (cos alfa1)))) (setq yJ0 (+ (cadr O0) (* (/ largcloi 2) (sin alfa1)))) (setq xJ1 (+ (car O1) (* (/ largcloi 2) (cos alfa1)))) (setq yJ1 (+ (cadr O1) (* (/ largcloi 2) (sin alfa1)))) (setq xJ2 (+ (car O2) (* (/ largcloi 2) (cos alfa1)))) (setq yJ2 (+ (cadr O2) (* (/ largcloi 2) (sin alfa1)))) (setq xJ3 (+ (car O3) (* (/ largcloi 2) (cos alfa1)))) (setq yJ3 (+ (cadr O3) (* (/ largcloi 2) (sin alfa1)))) (setq J0 (list xJ1 yJ1)) (setq J1 (list xJ1 yJ1)) (setq J2 (list xJ2 yJ2)) (setq J3 (list xJ3 yJ3)) (setq PtInter (inters J0 J1 J2 J3 nil)) Sachant que quand j'inspecte mes variables J0 J1 J2 &J3, celles -ci sont composées d'une liste de deux données correspondant aux coordonnées de point. En revanche quand j'execute celui-ci, çà me met une erreur "erreur point 2D/3D", ou sinon çà marche mais la valeur de PtInetr est "nil" donc aucun interêt!! J'ai donc essayé en faisant une liste de 3 données correspondant au coordonnée en X,Y et Z (avec 0.0 pour Z) et çà ne marche pas non plus. J'espère que vous m'avez compris. Merci. Le DOC
Patrick_35 Posté(e) le 30 avril 2004 Posté(e) le 30 avril 2004 Salut le docQue PtInter te retourne nil me semble logique vu que J0 et J1 sont identiques. Un inters fonctionne sur deux segments et non sur un point et un segment @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
dr.loveless Posté(e) le 30 avril 2004 Auteur Posté(e) le 30 avril 2004 Désolé c'est une erreur de ma part, le code est le suivant : (setq xJ0 (+ (car O0) (* (/ largcloi 2) (cos alfa1))))(setq yJ0 (+ (cadr O0) (* (/ largcloi 2) (sin alfa1)))) (setq xJ1 (+ (car O1) (* (/ largcloi 2) (cos alfa1))))(setq yJ1 (+ (cadr O1) (* (/ largcloi 2) (sin alfa1)))) (setq xJ2 (+ (car O2) (* (/ largcloi 2) (cos alfa1))))(setq yJ2 (+ (cadr O2) (* (/ largcloi 2) (sin alfa1)))) (setq xJ3 (+ (car O3) (* (/ largcloi 2) (cos alfa1))))(setq yJ3 (+ (cadr O3) (* (/ largcloi 2) (sin alfa1)))) (setq J0 (list xJ0 yJ0))(setq J1 (list xJ1 yJ1))(setq J2 (list xJ2 yJ2))(setq J3 (list xJ3 yJ3)) (setq PtInter (inters J0 J1 J2 J3 nil)) Le DOC
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