Aller au contenu

aligner les textes de cotation en modifiant les propriétés des coordonnées du texte


Messages recommandés

Posté(e)

Bonsoir

Lors du la mise en page, mes cotations sont souvent insivibles dans mes fenêtres, est-il possible de d'aligner les textes de cotation par rapport a une cote existante?

J'y arrive manuellement en modifiant les propriétés des coordonnées du texte. Je cherche a automatiser cette etape, est-ce possible avec un lisp?

Merci de votre aide

Dimension.dwg

Posté(e)

Bonjour,

En fait, tes lignes de côtes ne sont pas invisible das tes fenêtres, c'est juste que tes fenêtres ne couvrent pas la position de ta côte car celles-ci n'apparaissent pas entièrement dans la fenêtre. Tes côtes sont bien comme il faut centrées sur la ligne de côtes tel que défini dans le style.

A part manuellement, tu peux modifier ton style de côte pour avoir par défaut ton texte du côté ligne d'attache 1 ou ligne d'attache 2.

image.png.db003d23f7b94195f10993f799e85698.pngimage.png.e1720c1eb7caa22512ac5a63a98ad666.png

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Invité francinez
Posté(e)

Bjr, 

Merci pour votre réponse,

Je sais que mes côtes sont bien là en arrière plan et en temps normal j'utilise la commande permettant d'attacher les côtes a une ligne de côte.

C'est simplement une situation qui arrive couramment et je me suis posée la question comment simplifier cette tache. Surtout que je le fais en 3 étapes, je côte avec mon style standard, je bouge la côte a une extremité puis je redéplace la côte car elle se trouve trop près de la ligne de côte.

J'ai testé le lisp, c'est exactement ce que je recherche, mais c'est dommage car ca ne fonctionne que pour des côtes horizontales.

Posté(e)

HELLO

trois petit lisp

coc : remet le texte de cote au centre

cog : met le texte de cote a gauche intérieur de la cote ( depend de la création de cote de gauche a droite ou de droite a gauche )

cod : met le texte de cote a droite intérieur de la cote ( depend de la création de cote de gauche a droite ou de droite a gauche )

a+

Phil
 

(defun c:coc ()
  (setvar "cmdecho" 0)
  (setvar "PICKSTYLE" 0)
  (setq osm (getvar "osmode"))
  (prompt "\nCLIQUER SUR LES OBJETS COTES A MODIFIER, TEXTE AU CENTRE:")
  (setq entites nil)
  (while (null entites) (setq entites (ssget '((0 . "DIMENSION")))))
  (setvar "osmode" 0)
  (setq compt 0)
  (setq com (sslength entites))
  (while (< compt com)
    (progn (setq obj (ssname entites compt)) (command-s "_dimtedit" obj "c") (setq compt (1+ compt)))
    (setvar "osmode" osm)
    (princ)
    )
  )

(defun c:cod ()
  (setvar "cmdecho" 0)
  (setvar "PICKSTYLE" 0)
  (setq osm (getvar "osmode"))
  (prompt "\nCLIQUER SUR LES OBJETS COTES A MODIFIER, TEXTE INTERIEUR DROIT :")
  (setq entites nil)
  (while (null entites) (setq entites (ssget '((0 . "DIMENSION")))))
  (setvar "osmode" 0)
  (setq compt 0)
  (setq com (sslength entites))
  (while (< compt com)
    (progn (setq obj (ssname entites compt)) (command-s "_dimtedit" obj "d") (setq compt (1+ compt)))
    (setvar "osmode" osm)
    (princ)
    )
  )

(defun c:cog ()
  (setvar "cmdecho" 0)
  (setvar "PICKSTYLE" 0)
  (setq osm (getvar "osmode"))
  (prompt "\nCLIQUER SUR LES OBJETS COTES A MODIFIER, TEXTE INTERIEUR GAUCHE  :")
  (setq entites nil)
  (while (null entites) (setq entites (ssget '((0 . "DIMENSION")))))
  (setvar "osmode" 0)
  (setq compt 0)
  (setq com (sslength entites))
  (while (< compt com)
    (progn (setq obj (ssname entites compt)) (command-s "_dimtedit" obj "g") (setq compt (1+ compt)))
    (setvar "osmode" osm)
    (princ)
    )
  )

 

 

 

  • Like 1

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

j'ai trouvé cette video qui decrit exactement ce que je recherche, mais le lisp qui y est rattaché est un lisp protégé (vlx) dont la commande DTA ne fonctionne pas

 

 

Posté(e)

Salut Francine,

Ceci devrait répondre à ta demande :

(defun c:FRANCINE (/ ss i lst rot pt p)
  (if (setq ss (ssget '((0 . "DIMENSION") (-4 . "<NOT") (-4 . "&") (70 . 7) (-4 . "NOT>"))))
    (progn
      (repeat (setq i (sslength ss))
	(setq lst (cons (ssname ss (setq i (1- i))) lst))
      )
      (setq rot (getpropertyvalue (car lst) "Rotation"))
      (if (vl-every '(lambda (d) (= (getpropertyvalue d "Rotation") rot)) lst)
	(if (setq pt (getpoint "\nSpécifiez le point d'alignement: "))
	  (foreach d lst
	    (if	(= rot 0.)
	      (setpropertyvalue d "TextPosition/X" (car pt))
	      (setpropertyvalue d "TextPosition/Y" (cadr pt))
	    )
	  )
	)
	(prompt "\nCôtes horizontales et verticales mélangées.")
      )
    )
  )
  (princ)
)

 

  • Like 1

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

  • 2 semaines après...
Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é