AUTOCAD - Aplanir des cotations (Z=0)

AUTOCAD - Aplanir des cotations (Z=0)

SET040
Advocate Advocate
959 Visites
4 Réponses
Message 1 sur 5

AUTOCAD - Aplanir des cotations (Z=0)

SET040
Advocate
Advocate

Bonjour à tous,

 

J'ai aplani un plan 3D entièrement en 2D (Z=0), manuellement ou via la commande FLATTEN.

 

Cela a fonctionner sur quasi toutes les entités (polylignes, lignes, cercles, hachures, textes etc.) sauf pour les cotations.

 

En effet, lorsqu'on bascule la vue (vue avant ou vue orbite 3D) on voit bien que les textes et les flèches de ces cotation sont bien à zéros mais les points d'accroches de ces cotations ont une altitude :

cotations.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

il semblerait que le dessinateur ait dessiner ses cotations sur des polylignes qui avaient une élévation de 100m.

 

Quelqu'un pourrait-il m'aider à ce sujet ? D'avance un tout grand merci.

 

Je mets le .dwg en annexe si besoin.

0 J'aime
Solutions acceptées (2)
960 Visites
4 Réponses
Replies (4)
Message 2 sur 5

_gile
Consultant
Consultant
Solution acceptée

Salut,

Tu peux essayer ce LISP :

(defun c:FLATDIM (/ flattenDim ss i)
  (defun flattenDim (dim / flattenDxf elst)
    (defun flattenDxf (dxf) (subst 0. (cadddr dxf) dxf))
    (setq elst (entget dim))
    (entmod
      (subst (flattenDxf (assoc 10 elst))
	     (assoc 10 elst)
	     (subst (flattenDxf (assoc 11 elst))
		    (assoc 11 elst)
		    (subst (flattenDxf (assoc 13 elst))
			   (assoc 13 elst)
			   (subst (flattenDxf (assoc 14 elst))
				  (assoc 14 elst)
				  elst
			   )
		    )
	     )
      )
    )
  )
  (if (setq ss (ssget '((0 . "DIMENSION"))))
    (repeat (setq i (sslength ss))
      (flattenDim (ssname ss (setq i (1- i))))
    )
  )
  (princ)
)


Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 3 sur 5

-didier-
Advisor
Advisor
Solution acceptée

Bonjour @SET040 

 

Sans dénigrer le lisp de @_gile, la solution de déplacer les objets de 0,0,0 à 0,0,1e99 puis de déplacer à nouveau de 0,0,0 à -1e99 fonctionne.

C'est aisé à mettre dans une macro.

 

Amicalement

Éternel débutant.. my site for learning : Programmer dans AutoCAD

DA

EESignature

Message 4 sur 5

SET040
Advocate
Advocate

Ca marche parfaitement, merci @_gile ! 

 

Merci @-didier-. C'est une vieille astuce il me semble, je n'avais jamais oser l'utiliser pourtant. Et pourtant ça marche aussi , comme quoi... 😉

0 J'aime
Message 5 sur 5

CADaSchtroumpf
Advisor
Advisor

@SET040  a écrit :

 

Merci @-didier-. C'est une vieille astuce il me semble, je n'avais jamais oser l'utiliser pourtant. Et pourtant ça marche aussi , comme quoi... 😉


Oui ça fonctionne, mais attention aux pièges. Cela peut donner des résultats inattendus avec des entités construite dans des SCU non parallèle au SCG et parfois avec des insertions de blocs. A utiliser en conscience de cause...🙄