Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

(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

 

./__\.
(.°=°.)
Posté(e)

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

Posté(e)

Salut le doc

Que 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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é