CADxp: Cotation inversé - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Cotation inversé

#1 L'utilisateur est hors-ligne   yusukens82 

  • ceinture noire
  • Groupe : Membres
  • Messages : 404
  • Inscrit(e) : 14-novembre 07
  • LocationParis

Posté 08 avril 2011 - 09:06

Bonjour,
Après une rotation d'un plan, je me retrouve avec des cotes inversés par rapport au SCU.
voir image :
http://yusukens.free...ion_inverse.jpg

Avez vous une méthode pour les remettres correctement dans le bon sens ?
voici le fichier dwg de l'image
http://yusukens.free...ion_inverse.zip
0

#2 L'utilisateur est hors-ligne   wookichu 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 128
  • Inscrit(e) : 11-juillet 07

Posté 08 avril 2011 - 09:57

Bonjour,

sélection de la cote,
onglet propriétés,
aller dans 'zone textes' => direction du texte mettre "de gauche à droite"

a+
0

#3 L'utilisateur est hors-ligne   yusukens82 

  • ceinture noire
  • Groupe : Membres
  • Messages : 404
  • Inscrit(e) : 14-novembre 07
  • LocationParis

Posté 08 avril 2011 - 10:08

Bonjour,
cela inverse bien le sens du texte mais par contre cela ne met pas le texte dans le bon SCU, c'est a dire pour les cotes verticale le texte doit être à gauche
et pour les cote horizontale au dessus.

0

#4 L'utilisateur est hors-ligne   wookichu 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 128
  • Inscrit(e) : 11-juillet 07

Posté 08 avril 2011 - 10:29

a part le faire à la main je vois pas , désolé :casstet:
0

#5 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11154
  • Inscrit(e) : 02-septembre 05

Posté 08 avril 2011 - 10:36

Salut,

En sélectionnant les cotes > Propriétés > Texte > Rotation > 180° (pas testé).
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#6 L'utilisateur est hors-ligne   yusukens82 

  • ceinture noire
  • Groupe : Membres
  • Messages : 404
  • Inscrit(e) : 14-novembre 07
  • LocationParis

Posté 08 avril 2011 - 10:48

Salut Gile, je confirme que la rotation du texte ne fonctionne pas.
c'est pas grave, j'ai refais toutes les cotes manuellement.
merci quand même
0

#7 L'utilisateur est en ligne   PHILPHIL 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 957
  • Inscrit(e) : 24-janvier 06
  • LocationNANTES

Posté 08 avril 2011 - 13:54

hello

regarde ici

http://www.cadxp.com...Forum-18197.htm

ou la

http://www.cadxp.com...Forum-17603.htm

la ou tu es déja allé

j'ai depuis peut etre fait une mise a jour sur mon ordi

a+

phil

[Edité le 8/4/2011 par PHILPHIL]
Autodesk Architecture 2019 sous windows 10 64
24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
0

#8 L'utilisateur est hors-ligne   yusukens82 

  • ceinture noire
  • Groupe : Membres
  • Messages : 404
  • Inscrit(e) : 14-novembre 07
  • LocationParis

Posté 08 avril 2011 - 14:18

Je me disais bien avoir vu un lisp permettant cette fonction il y a longtemps
voila ce que ça donne pour ceux qui souhaite le tester.
encore merci

Image IPB

[Edité le 8/4/2011 par yusukens82]
0

#9 L'utilisateur est en ligne   PHILPHIL 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 957
  • Inscrit(e) : 24-janvier 06
  • LocationNANTES

Posté 08 avril 2011 - 18:08

hello

pour aller encore plus vite tu peux passer en une seule fois la selection sur toute la coupe
il ne prendra que les cotes, mais pas les cotes alignés je crois

et ca doit buguer quand le scu n'est pas pile poil bien orienter, style 8 chiffre apres la virgule

a+

phil
Autodesk Architecture 2019 sous windows 10 64
24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
0

#10 L'utilisateur est hors-ligne   Krynn 

  • ceinture noire
  • Groupe : Membres
  • Messages : 356
  • Inscrit(e) : 04-juin 03

Posté 19 octobre 2011 - 10:31

Voir le messageyusukens82, le 08 avril 2011 - 14:18 , dit :

Je me disais bien avoir vu un lisp permettant cette fonction il y a longtemps

voila ce que ça donne pour ceux qui souhaite le tester.

encore merci


<font class=edite>[Edité le 8/4/2011 par yusukens82]</font>



Bonjour,

Je suis intéressé par tester le LISP.
Envoyez-moi un ptit message.

Merci
0

#11 L'utilisateur est en ligne   PHILPHIL 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 957
  • Inscrit(e) : 24-janvier 06
  • LocationNANTES

Posté 19 octobre 2011 - 11:24

hello

voici le lisp pour refaire les cotes avec le texte dans le bon sens par rapport au scu corespondant a la vue du plan de la coupe ou facade

selectionner toutes les cotes a la volée

il peut y avoir des cotes verticales qui passent en horizontales et vis versa attention
car le LISP refait des cotes suivant les points 10 13 14

il faut aussi parfois redeplacer le scu sur un objet avant de relancer "REC"

a+

phil


(defun c:rec (/          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)
)

Autodesk Architecture 2019 sous windows 10 64
24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
0

#12 L'utilisateur est hors-ligne   Dinosor 

  • ceinture noire 2em dan
  • Groupe : Moderateurs
  • Messages : 1169
  • Inscrit(e) : 26-mars 07
  • LocationSuisse - Vaud

Posté 19 octobre 2011 - 13:03

Hello Phiphil,

Merci pour ce lisp que je ne connaissais pas et qui va bien me servir. :)
Sauf que dans la ligne de commande REC lance la fonction rectangle...

Que modifier dans le texte du lisp pour changer ça ? J'ai essayé mais ça marche pas, grrr... Suis pas spécialiste lisp moi. ;)

Merki
Seuls nous allons vite, ensemble nous allons plus loin...
AutoCad (Architecture) 2018 - Lumion 9 PRO
BMW R-1200-RT, c'est moche, oui... je sais...

www.neda.ch
0

#13 L'utilisateur est en ligne   PHILPHIL 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 957
  • Inscrit(e) : 24-janvier 06
  • LocationNANTES

Posté 19 octobre 2011 - 13:25

hello

les appels de fonctions dans les LISp commencent apres "DEFUN"

quand c'est sur la ligne de commande de autocad au rajoute "C:" devant le nom de commande

dans le cas de ce LISP

"c:rec" à changer en "c:rec2" ou autre chose "c:lenomdefonctionquelonveut"

a+
phil
Autodesk Architecture 2019 sous windows 10 64
24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
0

#14 L'utilisateur est hors-ligne   Dinosor 

  • ceinture noire 2em dan
  • Groupe : Moderateurs
  • Messages : 1169
  • Inscrit(e) : 26-mars 07
  • LocationSuisse - Vaud

Posté 19 octobre 2011 - 14:02

Ben là j'avais fait juste alors... suis pas trop à côté ouf ! :rolleyes:

Mai9s ça ne fonctionne toujours pas.
Après mon APPLOAD, il me met la remarque suivante à la fermeture, sur la ligne de commande:
"structure incorrecte de la liste en entrée"

Pourtant le .lsp est correctement chargé d'après la ligne précédente...

Ai-je mal copié le lisp, je vais essayer encore...
Seuls nous allons vite, ensemble nous allons plus loin...
AutoCad (Architecture) 2018 - Lumion 9 PRO
BMW R-1200-RT, c'est moche, oui... je sais...

www.neda.ch
0

#15 L'utilisateur est hors-ligne   Dinosor 

  • ceinture noire 2em dan
  • Groupe : Moderateurs
  • Messages : 1169
  • Inscrit(e) : 26-mars 07
  • LocationSuisse - Vaud

Posté 19 octobre 2011 - 14:22

Ben voilà, j'avais oublié la dernière parenthèse du lisp, alors forcément !

Désolé, et merci à toi Phiphil. :)
Seuls nous allons vite, ensemble nous allons plus loin...
AutoCad (Architecture) 2018 - Lumion 9 PRO
BMW R-1200-RT, c'est moche, oui... je sais...

www.neda.ch
0

#16 L'utilisateur est hors-ligne   Krynn 

  • ceinture noire
  • Groupe : Membres
  • Messages : 356
  • Inscrit(e) : 04-juin 03

Posté 20 octobre 2011 - 08:12

Voir le messagePHILPHIL, le 19 octobre 2011 - 11:24 , dit :

hello

voici le lisp pour refaire les cotes avec le texte dans le bon sens par rapport au scu corespondant a la vue du plan de la coupe ou facade

selectionner toutes les cotes a la volée

il peut y avoir des cotes verticales qui passent en horizontales et vis versa attention
car le LISP refait des cotes suivant les points 10 13 14

il faut aussi parfois redeplacer le scu sur un objet avant de relancer "REC"

a+

phil





Merci pour ce LISP.
Il fonctionne d'enfer et il me sera bien utile.
0

#17 L'utilisateur est hors-ligne   zebulon_ 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1354
  • Inscrit(e) : 02-mai 03
  • LocationSchnersheim

Posté 14 septembre 2016 - 08:44

Bonjour,

voir ici pour avoir un lisp plus simple dont le but est le même

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)
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)