Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

je cherche à coter un angle supérieur à 180°, a priori ce n'est pas possible? Je me retrouve à chaque fois avec l'angle complémentaire.

Existe-t-il un moyen de contourner ce blocage?

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Il faut que tu selectionne les sommets de l'angle et non les lignes

 

EDIT : Grillé :angry:

Autocad 2015 - Lumion 3D - SCIA Engineer

I7 6700K 4 cores @4.0Ghz - 32Go DDR4 - GTX980ti 6Gb - SSD 512Go - Windows 7 64 bits.

  • 3 ans après...
Posté(e)

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 2025 - COVADIS_18.3b

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

Posté(e)

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.

Posté(e)

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.

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

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.

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

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)

Posté(e)

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)

Posté(e)

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.

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Il suffit de supprimer la ligne (ou de la mettre en commentaire avec deux points-virgules au début) :

(vla-AddLine space (vlax-3d-point cen) (vlax-3d-point pt))

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

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é