Aller au contenu

cote d'angle supérieure à 180°


orionis

Messages recommandés

Salut,

 

À la première invite de la commande COTANG :

"Choix de l'arc, cercle, ligne ou : "

tu valides "indiquez un sommet" par Entrée, puis tu spécifies le sommet de l'angle, la première extrémité, la seconde et tu peux placer ta cote dans la zone de l'angle supérieure à 180°.

  • Upvote 1

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

  • 3 ans après...

Bonjour à toutes et tous,

 

Oui ! Au lancement de la commande cotation angulaire, faire une entrée à vide pour pouvoir sélectionner le point, puis les branches,..

 

Commande: _dimangular
Choix de l'arc, cercle, ligne ou <indiquez un sommet>:
Indiquez le sommet de l'angle:
Indiquez la première extrémité de l'angle:
Indiquez la seconde extrémité de l'angle:
Indiquez la position de la dimension de l'arc de cote ou [textMult/TExte/Angle/Quadrant]:
Texte de cote = 180

 

Christian l'avais déjà écrit ici

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

Merci Lili !

Quand on prend l'habitude d'utiliser une commande, on ne prend plus le temps de lire toutes les options proposées...

Une question cependant :

Serait il possible de coter les angles de la même façon, mais à la volée ?

- Cliquer sur l'axe 0°-180° (pour donner une base)

- Cliquer sur l'axe 22.5° [cela permet de trouver le sommet (axes concourants)]

- Déposer le texte manuellement en bout d'axe

- Cliquer sur l'axe suivant sans redonner la base 0°-180°, déposer le texte

- Cliquer sur l'axe suivant...

Faudrait il se tourner du côté LISP ?

Merci à vous.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

En PJ un exemple de deux appareils complètement différents:

http://zupimages.net/viewer.php?id=18/08/vewf.jpg

Sur le premier appareil, par exemple, il faut que je fasse 12x la même manipulation (cotation angulaire, indiquer un sommet, indiquer le sommet de l'angle, indiquer la 1iére extrémité de l'angle,...) pour arriver à coter tous les angles.

Les appareils sont toujours différents, mais la cotation suit toujours la même logique.

Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

OK, je te propose un petit LISP, il faut que dans le style de cote, la "Position du texte", case "Horizontal" soit sur : "Au dessus de la ligne d'attache 1".

 

(defun c:test (/ cen org pt)
 (if
   (and
     (setq cen (getpoint "\nSommet de l'angle: "))
     (setq org (getpoint cen "\nExtrémité de l'axe de base: "))
   )
    (progn
      (command "_.DIMANGULAR" "" "non" cen "non" org "non" org "non" org)
      (while (setq pt (getpoint cen "\nExtrémité de l'angle suivant: "))
        (command "_.DIMANGULAR" "" "non" cen  "non" pt "non" org "non" pt)
      )
    )
 )
 (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

Merci Gile !

Quelques questions :

1- Sur mes plans, j'ai aussi de la cotation angulaire "traditionnelle", pour des détails de mécanique notamment (voir le lien), serait il possible de garder cette possibilité de cotation "traditionnelle" et aussi la cotation comme dans votre LISP ?

3- Serait il possible que la position des textes soit conforme au croquis "En final", c'est à dire centré et en bout de l'axe [sur le LISP, si j'essaie de le bouger par la suite, une fois la côte posée, le texte change d'angle (position)]?

2- Serait il possible d'avoir l'écriture des angles 0°-180° horizontale ?

http://zupimages.net/viewer.php?id=18/08/jvlw.jpg

Merci encore pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

1- Il suffit de définir deux styles de cotation.

 

2- 3- C'est plus compliqué en utilisant les cotations. Je te propose une solution avec juste des lignes et des textes.

 

(defun c:test (/ cen org dist ang0 ang pt)
 (if
   (and
     (setq cen (getpoint "\nCentre de la cotation: "))
     (setq org (getpoint cen "\nExtrémité de l'axe de base: "))
   )
    (progn
      (setq dist (distance cen org)
            ang0 (angle cen org))
      (command "_.line" "_non" cen "_non" org "")
      (command "_.text" "_justify" "_BC" "_non" org "" 0.0 "0°")
      
      (setq pt (polar cen (+ pi ang0) dist))
      (command "_.line" "_non" cen "_non" pt  "")
      (command "_.text" "_justify" "_TC" "_non" pt "" 0.0 "180°")
      
      (setq pt (polar cen (- ang0 (* 0.5 pi)) dist))
      (command "_.line" "_non" cen "_non" pt  "")
      (command "_.text" "_justify" "_ML" "_non" pt "" 0.0 "90°")
      
      (setq pt (polar cen (- ang0 (* 1.5 pi)) dist))
      (command "_.line" "_non" cen "_non" pt  "")
      (command "_.text" "_justify" "_MR" "_non" pt "" 0.0 "270°")
      
      (while (setq pt (getpoint cen "\nExtrémité de l'angle suivant: "))
        (setq ang (angle cen pt))
        (command "_.line" "_non" cen "_non" pt  "")
        (command "_.text"
                 "_justify"
                 "_ML"
                 "_non"
                 pt
                 ""
                 (angtos ang (getvar 'aunits) 16)
                 (strcat (angtos (- ang0 ang)) "°")
        )
      )
    )
 )
 (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 à tous...

 

On n'est pas dans le forum AutoCAD LT 2013 ?

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

YES Mr DenisHen !

Je disais ça car je ne comprenais pas ce que pouvait faire nicolas2 avec un LISP sous LT...

 

C'est nicolas2 qui a déterré ce sujet et évoquer un LISP pour son problème.

Je ne t'incriminais nullement (gile)...

 

Ni nicolas2... errare humanum est, et je suis bien placé pour le savoir... ;)

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Je ne suis clairement pas dans le bon forum, milles excuses !

Merci Gile de prendre du temps pour mon problème.

http://zupimages.net/viewer.php?id=18/08/jorb.jpg

- Serait il possible de modifier l'angle d'écriture au delà du 180° ?

- Serait il possible de ne pas écrire automatiquement 0°-90°-180°-270°, mais le gérer comme les autres écritures (à part le fait que l'écriture soit horizontale) ? En fait, si nous rajoutons un autre angle non prévu au départ (exemple 45°) et que nous relançons le LISP pour ce nouvel angle, le LISP va réécrire 0°-90°-180°-270° sur l'écriture déjà existante je crois (?)

Merci encore à vous.

Lien vers le commentaire
Partager sur d’autres sites

Voilà une version plus aboutie.

 

(defun c:cotcirc (/ *error* space cen pt ang ht just rot text)
 (vl-load-com)
 (or *acdoc*
     (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))
 )
 (defun *error* (msg)
   (and msg
        (/= msg "Fonction annulée")
        (prompt (strcat "\nErreur : " msg))
   )
   (vla-EndUndoMark *acdoc*)
   (princ)
 )
 (if (setq cen (getpoint "\nCentre de la cotation: "))
   (progn
     (vla-StartUndoMark *acdoc*)
     (setq space (vla-get-Block (vla-get-ActiveLayout *acdoc*)))
     (while (setq pt (getpoint cen "\nExtémité de l'angle: "))
       (setq pt (trans pt 1 0)
             cen (trans cen 1 0)
             ang (angle cen pt)
             ht (getvar 'textsize))
       (cond
         ((equal ang (* pi 0.5) 1e-9)
          (setq just acAlignmentBottomCenter
                rot  0.0
          )
         )
         ((equal ang (* pi 1.5) 1e-9)
          (setq just acAlignmentTopCenter
                rot  0.0
          )
         )
         ((< (* pi 0.5) ang (* pi 1.5))
          (setq just acAlignmentMiddleRight
                rot  (+ pi ang)
          )
         )
         (T
          (setq just acAlignmentMiddleLeft
                rot  ang
          )
         )
       )
       (vla-AddLine space (vlax-3d-point cen) (vlax-3d-point pt))
       (setq text (vla-AddText space (strcat (angtos (- (* 0.5 pi) ang)) "°") (vlax-3d-point pt) ht))
       (vla-put-Rotation text rot)
       (vla-put-Alignment text just)
       (vla-put-TextAlignmentPoint text (vlax-3d-point pt))
     )
   )
 )
 (*error* nil)
)

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

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é