Aller au contenu

Cercle par 2pts avec rayon (débutant)


Messages recommandés

Posté(e)

Voilà, c'est tout bête, j'aimerai savoir s'il est possible dans Autocad de dessiner un cercle d'un diamètre voulu, en désignants 2 point par lesquels le cercle doit passer.

Une seule chose à dire : MERCI CADxp !

Posté(e)

CERCLE -- ENTREE ("C" tout court est le raccourci).

2P -- ENTREE

 

Et voilà....

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

bonjour Azerty,

non, ce n'est pas possible dans AutoCad.

il faut que tu fasses ton cercle normalement

et ensuite tu le déplaces avec les accrochages

puis rotation.

car lorsque tu choisis l'option 2 Points

la distance de ces deux points sera le diamètre du cercle,

donc tu ne peux pas faire un cercle, d'un diamètre choisi

ET passant par deux points

amicalement

 

 

Posté(e)

@ Trambler

Je suis un éternel incompris on dirait ... :casstet:

Promis, un jour j'apprendrai a poser des questions claires ...

 

@ Didier

Oui voilà, on est daccord.

Mais je demandais au cas où un autocadien aurait combler cette lacune en ecrivant 'qq lignes'.

Une seule chose à dire : MERCI CADxp !

Posté(e)

Salut,

 

Tu peux ruser avec l'option 3P de la commande cercle

 

Tu donne ton 1er point de passage obligé, pour le 2eme point tu donne le diamètre en relatif ex:

@0,50 (pour un diamètre de 50

et pour le 3eme point, tu clique sur ton 2eme point de passage obligé.

 

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Tu marques "débutant", alors moi j'y crois à fond :exclam:

 

Et dans l'usage des arcs, y a pas une solution, je crois que si ! (pas DIA mais rayon)

 

Après l'arc, le cercle est facile.

Je dis ç comme ça car je me déconnecte dans 5 minutes.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

Reconnecté

 

^C^Carc \f \r;

 

Pas de mystère, ca correspond au bouton Arc -> pointFinal -> Rayon.

 

Ensuite on peut lancer :

^C^Ccercle;cen \ ext;

 

***************

 

Mais j'ai essayé de glisser un peu de de DIESEL après, je n'ai pas réussi.

Le code était:

^C^Carc \f \r $(/,$(getvar,USERS1),2);

Après un

(setq USERS1 (getreal)) dans le dessin.

:casstet:

 

***************

 

Au fait, ton diametre, Azerty, c'est toujours le même, ou il change à chaque fois ?

 

 

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Invité Patrick
Posté(e)
Voilà, c'est tout bête, j'aimerai savoir s'il est possible dans Autocad de dessiner un cercle d'un diamètre voulu, en désignants 2 point par lesquels le cercle doit passer.

 

C'est non seulement impossible dans AutoCAD, mais ailleurs aussi... car avec les contraintes que tu proposes, il est toujours possible de créer deux cercles, et non pas un seul. Une telle commande ne fonctionnerait pas par manque de contraintes géométriques.

Posté(e)

hello

çà m'amuse bien ton truc

je termine ma journée, et je me suis VRAIMENT pris la tête

merci de me proposer une récréation, :P

bon venons en au fait ,

essaie ce petit lisp, tapé à la va-vite

mais qui doit fonctionner

 

(setq p1(getpoint"\nPoint1\n"))

(setq p2(getpoint"\nPoint2\n"))

(setq dia (getreal"\nDiametre\n"))

(setq dist(distance p1 p2))

(if (> dist dia)

(progn

(alert"Impossible")

(quit)

)

(progn

(setvar "CECOLOR" "1")

(command "arc" p1 "FI" p2 "r" (/ dia 2))

(setq arcrouge(entlast))

(setq centrerouge (cdr(assoc 10 (entget arcrouge))))

(command "_circle" centrerouge "d" dia)

(setq cerclerouge (entlast))

(entdel arcrouge)

 

(setvar "CECOLOR" "5")

(command "arc" p2 "FI" p1 "r" (/ dia 2))

(setq arcbleu(entlast))

(setq centrebleu (cdr(assoc 10 (entget arcbleu))))

(command "_circle" centrebleu "d" dia)

(setq cerclebleu(entlast))

(entdel arcbleu)

 

)

)

(setvar "CECOLOR" "256")

(setq rep (strcase (getstring "\nLequel veux tu garder, Azerty ?\n

le Bleu, Taper B\n

le Rouge, n'importe quelle autre touche\n")))

(if ( = rep "R")

(entdel cerclebleu)

(entdel cerclerouge)

)

(command "chprop" (entlast) "" "co" "duc" "")

 

tiens moi au courant si tu veux des améliorations ...

amicalement

 

Posté(e)

• Cela me sera bien utile (pr projection de rd-point presque aux normes ;) ) alors si en plus vous vous amusez ... elle est pas belle la vie.

 

• Oui, oui, j'ai mis débutant, parcque c'est le cas, dailleurs en lisant les cours de LISP et une 10aine de sujets sur le forum, je n'est pas trouvé (pas compris...) une chose essentielle :

comment fait-on pour définir un nom de commande dans un lisp ?

(en clair, j'aimerai taper par ex. CCC pr executer CCC.lsp)

 

@ Bonuscad

• C'était la 1ère idée qui m'étais venue à l'esprit la première fois que je me suis posé la question. Mais cela ne fonctionne pas, il me dit que le 2eme point est inccorecte si j'essaye de lui specifier un diametre avec @0.5.

 

@ Didier

• En fesant AutoLisp/Charger... le lisp s'exécute.

Cela fonctionne, mais à moitié : pt1 pt2 et diamètre, mais pas de questionnement sur rouge/bleu. Donc ca pose effectivement un souci si c'est le "2eme cercle possible" qui m'intéresse.

(Mais ca vient surement plus du fait que je ne sache pas correctement lancer la routine, plutôt que d'une erreur de ta part.)

Une seule chose à dire : MERCI CADxp !

Posté(e)

T'es pas très sympa avec moi car avec mes 2 macros, on va vachement vite.

Tu ne prends pas.

 

C'est vrai qu'on ne peut pas choisir le côté d'exécution du cercle, mais il suffit de choisir l'ordre de saisie des points en fonction.

 

Après il faut effacer l'arc,c'est vrai.

 

Mais le macrotage le + simple peut rendre de bons services, non ?

 

La routine de Didier n'est pas terminé, c'est vrai, mais je ne devrais rien dire car il a su débugger tellement de mes codes. Je pourrais prendre 5 minutes. ;)

 

Azerty, uiop (c'est la suite de azerty), tu trouveras souvent cela au début d'un code LSP :

(defun c:mafunction ()...bla bla bla....)

Alors, tu peux lancer mafunction dans AutoCAD .

 

Mais le code

(defun mafunction  ()...bla bla bla....)

t'oblige à lancer (mafunction)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

bonjour à tout le monde

eh azerty ! file moi ton mail et tu recevras une version

plus travaillée, car hier soir j'ai fait çà sans vraiment de contrôle.

c'était juste pour expliciter la faisabilité.

maintenant il faut vérifier les cas impossibles et tutti quanti.

les jours se suivent, les "Lisp" restent...

à bientôt :) :D ;)

Posté(e)

• Mon courriel devrait t'arriver par MP.

 

@Tramber

• Alors là oui, exact, je suis impardonnable. Tu me donnes une solution tt simple et je passe à côté. :(

J'ai telement l'habitude d'utilise les polylignes ou les cercles que j'ai même pas cherché du côté des Arcs.

 

Dans tous les cas, merci bcp, avec tout ça je devrais m'en sortir.

Une seule chose à dire : MERCI CADxp !

Invité Patrick
Posté(e)

Une solution "Quick and dirty", en français, à la va-vite, sans contrôle d'erreurs:

 

 (defun DTR (angle_degre)
 (* pi (/ angle_degre 180.0))
) ;_ Fin de defun

(defun CERCLE2PDIA (/P1 P2 diametre rayon corde demicorde mediane P3)
 (setq	P1	  (getpoint "\nSpécifiez le premier point :")
P2	  (getpoint "\nSpécifiez le deuxième point :")
diametre  (getreal "\nSpécifiez le diamètre :")
rayon	  (/ diametre 2.0)
corde	  (distance P1 P2)
demicorde (/ corde 2)
mediane	  (sqrt (abs(- (* rayon rayon) (* demicorde demicorde))))
P3	  (polar P1 (angle P1 P2) demicorde)
P3	  (polar P3 (+ (angle P1 P2) (DTR 90.0)) mediane)
 )
 (command "_CIRCLE" P3 rayon)
)
(CERCLE2PDIA)

 

Instructions: copiez/collez le code dans un fichier texte nommé CERCLE2PDIA.LSP et glissez/déposez ce LISP dans AutoCAD.

Posté(e)

Comme j'ai dis une "connerie" avec cercle 3p qui ne marche pas.

Je donne ma solution qui réalise les 2 cercles coupés aux intersections (se sont des arc)

(defun c:CD2P (/ p1 p2 rad)

(initget 1)

(setq p1 (getpoint "\n1er point obligé: "))

(initget 1)

(setq p2 (getpoint p1 "\n2eme point obligé: "))

(initget 3)

(while (< (setq rad (getdist p1 "\nDiamètre ?: ")) (distance p1 p2)) (princ " **Incorrect** ") (initget 3))

(setq rad (/ rad 2.0))

(setvar "cmdecho" 0)

(command "_.arc" p1 "_en" p2 "_radius" rad)

(command "_.arc" p1 "_en" p2 "_radius" (- rad))

(command "_.arc" p2 "_en" p1 "_radius" rad)

(command "_.arc" p2 "_en" p1 "_radius" (- rad))

(setvar "cmdecho" 1)

(princ "\n*Cercles coupés aux intersections * by me!!")

(princ)

)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Quel déchainement d'inventivité !

 

Tous + forts les uns que les autres !

 

:cool:

 

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

Pour le "Fun" j'ai rajouté le choix de la solution qu'on veut retenir.

Et puis ça peut donner des idées pour d'autre fonction!.

 

(defun c:CD2P ( / p1 p2 rad ss1 ss2 s_osm key)

(initget 1)

(setq p1 (getpoint "\n1er point obligé: "))

(initget 1)

(setq p2 (getpoint p1 "\n2eme point obligé: "))

(initget 3)

(while (< (setq rad (getdist p1 "\nDiamètre ?: ")) (distance p1 p2)) (princ " **Incorrect** ") (initget 3))

(setq rad (/ rad 2.0))

(setvar "CMDECHO" 0)

(setq s_osm (getvar "OSMODE"))

(setvar "OSMODE" 0)

(if (zerop (getvar "PICKFIRST")) (setvar "PICKFIRST" 1))

(command "_.arc" p1 "_en" p2 "_radius" rad)

(setq ss1 (ssget "_L"))

(command "_.arc" p2 "_en" p1 "_radius" (- rad))

(ssadd (entlast) ss1)

(command "_.arc" p1 "_en" p2 "_radius" (- rad))

(setq ss2 (ssget "_L"))

(command "_.arc" p2 "_en" p1 "_radius" rad)

(ssadd (entlast) ss2)

(setvar "OSMODE" s_osm)

(if (and ss1 ss2 (= 0 (getvar "CMDACTIVE")))

(progn

(sssetfirst nil ss2)

(princ "\n touche 1 ou 2 pour choisir |Entrée| pour fin.")

(while (not (member (setq key (grread)) '((2 13) (2 32))))

(cond

((equal key '(2 49))

(sssetfirst nil ss1)

)

((equal key '(2 50))

(sssetfirst nil ss2)

)

)

)

)

)

(setvar "CMDECHO" 1)

(princ "\n*Cercles coupés aux intersections * by me!!")

(princ)

)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

hello

quand on voit ce qu'on voit

et qu'on entend ce qu'on entend

 

on a raison de penser ce qu'on pense :D :D :D

 

dans tous les cas :

se référer à l'article UN :

dès que la porte est fermée

essaie de rentrer par la fenêtre :) :D ;) ;)

 

vous êtes une belle bande de joyeux Lispeurs

ciao

 

 

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é