Aller au contenu

Rotation de cote


Messages recommandés

Posté(e)

Bonjour à tous,

 

J'ai un petit probleme qui me chagrine.

 

Je suis dans l'espace objet je tourne une piece (2D) qui est côté et quand je tourne ma piece le texte des cotes tourne aussi (ce met a l'envers)!!!

 

Exist il une variable ou autre pour contrer cela??

 

Merci par avance pour tout

 

Cordialement

 

ADDS

Posté(e)

Bonjour à toutes et tous,

 

Dimassoc ?

 

Je pense que cette variable est à zéro chez toi, passes là à 2

 

DIMASSOC (variable système)

 

Contrôle l'associativité des objets cote et détermine si les cotes sont décomposées.

 

Type: Entier

Enregistré dans: Dessin

Valeur initiale : 2

0

Crée des cotes décomposées. Aucune association n'existe entre les différents éléments de la cote. Les lignes, les arcs, les pointes de flèche et le texte associés à une cote sont tracés en tant qu'objets distincts.

1

Crée des objets de cotes non associatifs. Les éléments de la cote sont groupés pour former un seul objet. Si l'un des points de définition sur l'objet se déplace, la valeur de la cote est mise à jour.

2

Crée des objets de cotes associatifs. Les éléments constituant la cote forment un objet unique et un ou plusieurs points de définition de la cote sont liés à des points d'association sur des objets géométriques. Si le point d'association de l'objet géométrique se déplace, l'emplacement de la cote, son orientation et sa valeur sont mis à jour.

DIMASSOC n'est pas enregistrée dans un style de cote.

Les dessins enregistrés dans un format antérieur à celui de la version 2002 conservent le paramétrage de la variable système DIMASSOC. Lorsque le dessin est rouvert dans la version 2002 ou dans une version ultérieure, le paramétrage de l'associativité des cotes est restauré.

Concepts associés

Cotes associatives

Référence associée

Commandes pour la création de lignes de repère

Commandes pour les cotes associatives

Commandes de modification de l'associativité des cotes

Commandes de modification de la géométrie de cote

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Moi je penche plutôt sur des cotations enfermées dans un bloc !

Si tu ne peux pas selectionner la cotation toute seule, c'est qu'elle est enfermée dans un bloc...

C'est le seul cas que je verrais... car DIMASSOC à 1 le comportement reste normal et s'il est à zéro, les cotes sont décomposées.

Alors là oui : adds a décomposé ses cotations....

 

:unsure:

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

Hello,

 

Il y a quelqu'un qui avait pondu ce lisp qui "retourne" les textes de cotes. Mes excuses à son auteur de ne plus pouvoir le citer... Je ne m'en souviens plus :(

 

Je m'en suis servi quelque fois et ça fonctionnait plutôt bien :)

 

(defun c:senscotes (/          angcote    angcotedegre          angscu     asx1       asx2       calqcote   cav 
             com        compt      ent        entx       nonent     osm        point10    point11    point13 
             point14    stylecote  stylecotebase 
            ) 
 (setvar "cmdecho" 0) 
 (setq osm (getvar "osmode")) 
 (setvar "osmode" 0) 
 (setq cav (getvar "clayer")) 
 (setq stylecotebase (getvar "dimstyle")) 
 (prompt "\nCLIQUER SUR LE(S) COTE(S) A MODIFIER :") 
 (setq entx nil) 
 (while (null entx) (setq entx (ssget '((0 . "DIMENSION"))))) 
 (setq compt 0) 
 (setq com (sslength entx)) 
 (while (< compt com) 
   (progn (setq ent (entget (ssname entx compt))) 
          (setq nonent      (cdr (assoc -1 ent)) 
                stylecote   (cdr (assoc 3 ent)) 
                calqcote    (cdr (assoc 8 ent)) 
                point10     (trans (cdr (assoc 10 ent)) 0 1) 
                point11     (trans (cdr (assoc 11 ent)) 0 1) 
                point13     (trans (cdr (assoc 13 ent)) 0 1) 
                point14     (trans (cdr (assoc 14 ent)) 0 1) 
                point15     (trans (cdr (assoc 15 ent)) 0 1) 
                angcote     (cdr (assoc 50 ent)) 
                angtextcote (cdr (assoc 51 ent)) 
                typecote    (cdr (assoc 70 ent)) 
                txt1        (cdr (assoc 1 ent)) 
                asx1        (car (getvar "ucsxdir")) 
                asx2        (cadr (getvar "ucsxdir")) 
          ) 
          (if (and (= asx1 1) (= asx2 0)) 
            (setq angscu 0) 
          ) 
          (if (and (and (< asx1 1) (> asx1 0)) 
                   (and (< asx2 1) (> asx2 0)) 
              ) 
            (setq angscu (atan (/ asx2 asx1))) 
          ) 
          (if (and (= asx1 0) (= asx2 1)) 
            (setq angscu (/ pi 2)) 
          ) 
          (if (and (and (< asx1 0) (> asx1 -1)) 
                   (and (< asx2 1) (> asx2 0)) 
              ) 
            (setq angscu (- (atan (/ asx2 asx1)) pi)) 
          ) 
          (if (and (= asx1 -1) (= asx2 0)) 
            (setq angscu (* 2 pi)) 
          ) 
          (if (and (and (< asx1 0) (> asx1 -1)) 
                   (and (< asx2 0) (> asx2 -1)) 
              ) 
            (setq angscu (+ (atan (/ asx2 asx1)) pi)) 
          ) 
          (if (and (= asx1 0) (= asx2 -1)) 
            (setq angscu (+ pi (/ pi 2))) 
          ) 
          (if (and (and (< asx1 1) (> asx1 0)) 
                   (and (< asx2 0) (> asx2 -1)) 
              ) 
            (setq angscu (atan (/ asx2 asx1))) 
          ) 
          (setq ang (- angcote angscu)) 
          (command "-calque" "ch" calqcote "") 
          (command "-dimstyle" "R" stylecote) 
          (setq angcotedegre (angtos (- angcote angscu) 0 14)) 
          (prompt (strcat "\nL'ANGLE DE LA COTE EST : " angcotedegre)) 
          (prompt 
            (strcat "\nLA COTE EST DE TYPE    : " (rtos typecote 2 2)) 
          ) 
          (prompt 
            (strcat "\nL'ANGLE (ANG) DE LA COTE EST : " (rtos ang 2 14)) 
          ) 
          (if (or (= (rtos ang 2 14) (- (* 3 pi))) 
                  (= (rtos ang 2 14) (- (* 2 pi))) 
                  (= (rtos ang 2 14) (- pi)) 
                  (= (rtos ang 2 14) 0) 
                  (= (rtos ang 2 14) pi) 
                  (= (rtos ang 2 14) (* 2 pi)) 
                  (= (rtos ang 2 14) (* 3 pi)) 
              ) 
            (progn (prompt (strcat "\nL'ANGLE EST EGAL A 180 OU 0")) 
                   (if (or (= typecote 32) (= typecote 160)) 
                     (progn (command "cotlin" point13 point14 "H" point10) 
                            (setq entder (entget (entlast))) 
                            (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                            (entmod entder) 
                     ) 
                   ) 
                   (if (or (= typecote 33) (= typecote 161)) 
                     (progn (command "cotali" point13 point14 point10) 
                            (setq entder (entget (entlast))) 
                            (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                            (entmod entder) 
                     ) 
                   ) 
                   (if (or (= typecote 36) (= typecote 164)) 
                     (progn (command "COPIER" nonent "" "0,0" "0,0") 
                            (setq entder (entget (entlast))) 
                            (setq entder (subst (cons 51 (- angtextcote pi)) 
                                                (assoc 51 entder) 
                                                entder 
                                         ) 
                            ) 
                            (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                            (entmod entder) 
                     ) 
                   ) 
            ) 
            (progn 
              (if (or (= (rtos ang 2 14) (- (+ pi pi (/ pi 2)))) 
                      (= (rtos ang 2 14) (- (+ pi (/ pi 2)))) 
                      (= (rtos ang 2 14) (- (/ pi 2))) 
                      (= (rtos ang 2 14) (/ pi 2)) 
                      (= (rtos ang 2 14) (+ pi (/ pi 2))) 
                      (= (rtos ang 2 14) (+ pi pi (/ pi 2))) 
                  ) 
                (progn (prompt (strcat "\nL'ANGLE EST EGAL A 90 OU 270")) 
                       (if (or (= typecote 32) (= typecote 160)) 
                         (progn (command "cotlin" point13 point14 "V" point10) 
                                (setq entder (entget (entlast))) 
                                (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                                (entmod entder) 
                         ) 
                       ) 
                       (if (or (= typecote 33) (= typecote 161)) 
                         (progn (command "cotali" point13 point14 point10) 
                                (setq entder (entget (entlast))) 
                                (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                                (entmod entder) 
                         ) 
                       ) 
                       (if (or (= typecote 36) (= typecote 164)) 
                         (progn (command "COPIER" nonent "" "0,0" "0,0") 
                                (setq entder (entget (entlast))) 
                                (setq entder (subst (cons 51 (- angtextcote pi)) 
                                                    (assoc 51 entder) 
                                                    entder 
                                             ) 
                                ) 
                                (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                                (entmod entder) 
                         ) 
                       ) 
                ) 
                (progn (prompt 
                         (strcat "\nL'ANGLE N'EST PAS EGAL A 0 90 180 OU 270") 
                       ) 
                       (setq angcotedegre (angtos (- angcote angscu) 0 14)) 
                       (if (or (= typecote 32) (= typecote 160)) 
                         (progn (vl-cmdf "cotlin" point13 point14 "R" angcotedegre point10) 
                                (setq entder (entget (entlast))) 
                                (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                                (entmod entder) 
                         ) 
                       ) 
                       (if (or (= typecote 33) (= typecote 161)) 
                         (progn (vl-cmdf "cotali" point13 point14 point10) 
                                (setq entder (entget (entlast))) 
                                (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                                (entmod entder) 
                         ) 
                       ) 
                       (if (or (= typecote 36) (= typecote 164)) 
                         (progn (command "COPIER" nonent "" "0,0" "0,0") 
                                (setq entder (entget (entlast))) 
                                (setq entder (subst (cons 51 (- angtextcote pi)) 
                                                    (assoc 51 entder) 
                                                    entder 
                                             ) 
                                ) 
                                (setq entder (subst (cons 1 txt1) (assoc 1 entder) entder)) 
                                (entmod entder) 
                         ) 
                       ) 
                ) 
              ) 
            ) 
          ) 
          (command "effacer" nonent "") 
          (setq compt (1+ compt)) 
   ) 
 ) 
 (setvar "osmode" osm) 
 (setvar "clayer" cav) 
 (command "-dimstyle" "R" stylecotebase) 
 (princ) 
)

 

On appelle la commande avec "SENSCOTES"

 

Bonne journée.

Seuls nous allons vite, ensemble nous allons plus loin...

CPU Intel 3,5Go / Nvidia RTX-3090

AutoCad (Architecture) 2022 - Lumion PRO

BMW R-1200-RT, c'est moche, oui... je sais...

 

www.neda.ch

Posté(e)

Oups,

 

Je viens de relancer ce lisp, et il ne semble plus fonctionner correctement sous 2015... Il passait nickel sous 2011 :huh: Il est vrai que je ne m'en suis plus servi depuis longtemps, alors je voulais quand-même vérifier...

 

Si une bonne âme veut remettre ce lisp à jour, si utile... Pour ma part j'en serais pas capable :)

 

Sinon à faire tourner sous 2011 ou précédents.

Merci.

 

J'édite mon message car j'ai retrouvé cette discussion où j'ai puisé ce lisp.

Ici

Seuls nous allons vite, ensemble nous allons plus loin...

CPU Intel 3,5Go / Nvidia RTX-3090

AutoCad (Architecture) 2022 - Lumion PRO

BMW R-1200-RT, c'est moche, oui... je sais...

 

www.neda.ch

Posté(e)

HELLO

 

ca marche sous toutes les versions mais il fallait orienter le scu en fonction de la vue.

j'ai rajouté en début l’obligation de sélectionner un ligne qui oriente le scu en fonction du sens de lecture du texte des cotes, il faut que cette ligne soit parallèle ou perpendiculaire aux lignes de cotes.

 

ca devrait mieux fonctionner maintenant

 

fonction d appel : REC

 

bonne journée

bonne année

 

Phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Extra super, merci. :)

Seuls nous allons vite, ensemble nous allons plus loin...

CPU Intel 3,5Go / Nvidia RTX-3090

AutoCad (Architecture) 2022 - Lumion PRO

BMW R-1200-RT, c'est moche, oui... je sais...

 

www.neda.ch

Posté(e)

hello

 

petite mise a jour

 

quand les cotes ont des points d'accroches en Z different de zero

le lisp permet de remetre les cotes sur le plan z=zero

 

un peu comme un "flatten"

 

on pourrait aussi décider de forcer le Z si besoin.

est ce utile pour certains ?

 

bonne soirée

 

Phil

REC.lsp

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Merci a vous tous pour vos reponses, mais bien malheuresement je ne peux me servir de lisp ou autre macro dans ma societée (sauf demande au service mais bon 1 semaine pour traiter ma demande...!!!).

 

Malgres toutes votre aide rien n'y fait les cotes tourne toujours. Les solutions que vous m'avez donné j'ai essayé mais marche pas!!!!! snif snif!!!

Je me suis peu etre mal exprimé, meme surment.

 

En fait j'utilise EFNA 2 pour extraite des calculs sur une piece. ce EFNA 2 me converti son fichié en DWG et c'est lorsque je me mets sur AutoCAD que la.... les cote sont bien orienté par rapport au dessin mais quand je tourne mon ensemble certaine cote (le texte) tourne.

 

Merci par avance pour tout

Cordialement

ADDS

Posté(e)

Slt

Regarde du coté de ton style de cote:

 

Onglet "annoter" tu clique sur la flèche en diagonale bas;droite (elle se trouve à droite de "cote")

 

Tu arrive sur le "Gestionnaire de styles de cote" tu sélectionne ton style de cote et tu clic sur "modifier". 3eme onglet "texte" et sur la droite en bas tu regarde si tu est en "horizontale" ou "aligné / à la cote" ou en "suivant norme iso"

  • 1 mois après...
Posté(e)

Je vous remerci pour tout j'ai trouvé en fait la convertion vers autocad fait un truc en gros lors de la convertion il ecrit de droite a gauche et a 180°.

 

Merci pour tout en tout cas car vos nombreuse solutions mon donné quelques idee.

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é