Aller au contenu

Creer un Arc tangent à deux Elements et qui passe par un point donne


Messages recommandés

Posté(e)

Coucou

 

En réponse au message #46

Je n'ai pas dit qu'il exigeaient MAP, il le conseille tellement fortement que pour ne pas l'avoir et avoir un AutoCAD "normal" il faut en faire la demande expresse, ça m'est arrivé de le vouloir et de le leur faire comprendre et ils ont trouvé des arguments (fallacieux?) comme quoi si j'étais pas certain d'être sûr il valait mieux garder l'offre avec MAP.

Ils ont aggravé le monopole et comme ils sont "indépendants" ils doivent y trouver leur intérêt, grand bien leur fasse.

Toutefois il est vrai qu'une offre plurielle de logiciel de base pour faire tourner les applicatifs serait un "plus" qui ferait tendre vers moins de monopole en élargissant les offres (et donc la concurrence)

 

Amicalement

Posté(e)

Petite amélioration, ARCTAN fonctionne sur le plan XY du SCU courant quel que soit celui-ci.

Le lien réponse #43 est mis à jour (désinstaller ArcExtension avant d'installer la nouvelle version).

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Petite amélioration, ARCTAN fonctionne sur le plan XY du SCU courant quel que soit celui-ci.

Le lien réponse #43 est mis à jour (désinstaller ArcExtension avant d'installer la nouvelle version).

 

MERCI !

COME

 

La vie sans musique est tout simplement une erreur, une fatigue, un exil. »

Friedrich Nietzsche

Posté(e)

Salut,

 

Pendant ce temps là, j'ai amélioré mon petit bout de code (tordu, je vous l'accorde) en lisp et avec l'aide des commandes autocad.

(defun c:ttp ( / e1 e2 pt el ctr temp_pt1 temp_pt2)
(while (not (setq e1 (nentsel "\n1ère entité de tangeance : "))))
(while (not (setq e2 (nentsel "\n2nde entité de tangeance : "))))
(if (angle (car e1) (car e2))
	(progn
		(while (not (setq pt (getpoint "\nPoint d'intersection : "))))
		(setvar 'cmdecho 0)
		(command "_.circle" "_3P" "_tan" (cadr e1) "_tan" (cadr e2) pt)
		(setq
			el (entlast)
			ctr (cdr (assoc 10 (entget el)))
		)
		(command 
			"_.line" ctr (setq temp_pt1 (osnap (cadr e1) "_per")) ""
			"_.line" ctr (setq temp_pt2 (osnap (cadr e2) "_per")) ""
		)
		(while el
			(entdel el)
			(setq el (entnext el))
		)
		(command "_.arc" temp_pt1 temp_pt2 pt)
		(setvar 'cmdecho 1)
	)
	(princ "\nEntités parallèles.")
)
(princ)
)

J'aimerais bien trouver les deux intersections tangeantes de l'arc autrement qu'en dessinant des lignes avec accroche perpendiculaire puis les supprimer, mais je ne sais pas comment faire (en lisp, hein). La fonction osnap demande un point en amont pour faire une perpendiculaire.

Bonnne journée.

 

"Chacun compte pour un, et nul ne compte pour plus d'un."

Posté(e)

J'aimerais bien trouver les deux intersections tangeantes de l'arc autrement qu'en dessinant des lignes avec accroche perpendiculaire puis les supprimer, mais je ne sais pas comment faire (en lisp, hein). La fonction osnap demande un point en amont pour faire une perpendiculaire.

Bonnne journée.

 

la fonction vlax-curve-getClosestPointTo pourrait être utile ? Mais ce n'est pas du lisp pur, alors je ne sais pas si ça conviendra.

 

aide autocad

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Coucou

 

Pour l'instant j'en suis là :

go3d.gif

Je ne dessine rien en temporaire, les points sont calculés mais je dois peaufiner...

Je restitue des cercles mais c'est pour l'exemple, les arcs c'est rien à faire, je voulais vérifier l'intégrité des calculs

Amicalement

Posté(e)

Bonjour,

pour ma part, je suis parti sur une solution très "graphique". Contrairement à celle de Didier, elle utilise une foule de constructions temporaires.

 

Cela m'a permis de découvrir la construction de Wallis

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Coucou

 

Eh oui ! mes "bases" de géométrie sont utiles pour ce genre de réponse

Je connais ce site, très bien fait, et "dans le temps" nos professeurs nous faisaient réaliser tous ces montages au compas,

De nos jours le calcul l'emporte sur la construction graphique mais si tu n'as pas intégré cette base graphique il te manquera quelque chose.

Aujourd'hui ça semble mort mais demain je vais peut-être terminer le code.

 

Amicalement

 

 

Posté(e)

Salut,

 

J'utilise aussi ces méthodes de résolution graphique mais avec les objets "non graphiques" de l'espace de nom Autodesk.AutoCAD.Geometry de l'API .NET.

Il s'agit d'objets purement géométriques (pas de représentation dans AutoCAD) comme des points des vecteurs, des matrices, des segments de droite, des droites, des arcs, etc... Ces objets fournissent de nombreuses propriétés et méthodes qui facilitent grandement les choses.

De plus,comme ces objets existent en 2D ou 3D et qu'ici le problème est en 2D, utiliser les objets 2D allège les calculs.

Dans le code donné à la réponse #45, la méthode Update() de la classe ArcJig est exécutée à chaque déplacement du curseur, cette méthode appelle les méthodes SetAxis() et GetTangentArcs() pour recalculer les arcs tangents en fonction de la position du curseur et mettre à jour l'arc (graphique) affiché dans AutoCAD.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Coucou

 

Ouf ! le vendredi est un jour plus calme que les autres dans les contrées où je sévis, on travaille aussi mais on peut lever le pied.

Pour ne pas utiliser d'entités graphiques, en particulier les cercles de construction et en trouver les intersections j'ai écrit une fonction de calcul d'intersection de cercles

Je fonctionne sur des entités LIGNE

Je n'ai pas besoin qu'elle soient jointives à leur intersection

Je n'ai pas filtré le cas de lignes parallèles

Je ne coupe pas les lignes une fois l'arc en place

Ce n'est pas "dynamique" (visuel)

Et autres manquements sans doute...

Voici donc ma proposition dans le message qui suit car ma "mise en forme" nuit au formatage du code

 

Amicalement

  • 4 ans après...
  • 1 an après...
Posté(e)

Bonjour @didier

 

j'ai suivi votre discussion depuis  le début, et je cherche également un lisp en créant un arc à 2 points de tangence et un point donné, comme d'ailleurs le montre votre vidéo...

j'ai essayé les lisps mais malheureusement ils ne fonctionnent pas sur mon logiciel,

cependant la CTTP fonctionne à merveille

y aurait-il une mise à jour du LISP en question?

merci bien.

 

 

 

 

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é