CadXP: [TEXTE] copier propriete - CadXP

Aller au contenu

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

[TEXTE] copier propriete

#1 L'utilisateur est hors-ligne   drault 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 46
  • Inscrit(e) : 08-avril 20

Posté 15 septembre 2020 - 19:11

Bonsoir,

Nouveau soucis.
Quand je copie les props d'un texte pour les appliquer à un autre texte, il ne garde pas la justification au centre, quand bien même je change au préalable mon texte pour une justification au centre.

J'ai un LISP pour mettre en MAJ un texte mais pas celui permettant d'avoir l'exact même présentation que le texte visé.

Merci,
0

#2 L'utilisateur est en ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 9 105
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 16 septembre 2020 - 07:47

Hello

Reflexe immediat SANS AutoCAD ...

Quand tu lances la fonction "Copier les Proprietes", as tu regarde l'option "PA" (comme Parametres)
pour voir si l'option concernant les textes est bien cochee !?

LA SANTE (Stay Safe, Stay Home, Stay Live), Regards, lecrabe "triste"
Automne 2020 la retraite ... Dans 14 jours ...
Autodesk Expert Elite Team
0

#3 L'utilisateur est hors-ligne   drault 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 46
  • Inscrit(e) : 08-avril 20

Posté 16 septembre 2020 - 09:42

Je viens de tester et rien ne fait référence à la copie de propriété que ce soit avant de lancer la commande ou après.
Après l'avoir lancée, aucune option n'est disponible en plus
0

#4 L'utilisateur est en ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 9 105
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 16 septembre 2020 - 09:46

Hello

On parle bien de la fonction "Copier / Peindre les Proprietes" ??

As tu regarde l'option "PA" (comme Parametres)
pour voir si l'option concernant les textes est bien cochee !?

Cette option "PA" existe depuis toujours !
SVP tu regardes BIEN la ligne de commande ...

LA SANTE (Stay Safe, Stay Home, Stay Live), Regards, lecrabe "triste"
Automne 2020 la retraite ... Dans 14 jours ...
Autodesk Expert Elite Team
0

#5 L'utilisateur est hors-ligne   drault 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 46
  • Inscrit(e) : 08-avril 20

Posté 16 septembre 2020 - 13:50

Voir le messagelecrabe, le 16 septembre 2020 - 09:46 , dit :

Hello

On parle bien de la fonction "Copier / Peindre les Proprietes" ??

As tu regarde l'option "PA" (comme Parametres)
pour voir si l'option concernant les textes est bien cochee !?

Cette option "PA" existe depuis toujours !
SVP tu regardes BIEN la ligne de commande ...

LA SANTE (Stay Safe, Stay Home, Stay Live), Regards, lecrabe "triste"
Automne 2020 la retraite ... Dans 14 jours ...

"CORRESPROP" il me semble que c'est bien la même mais en anglais.
Quand je fais PA, une fois la commande enclenchée, rien de plus se passe.
Si PA fait avant, oui, une fenêtre de réglage s'ouvre mais dans les différents onglets, rien ne fait référence à ma question ou je lis mal...possible aussi ahaha

Fichier(s) joint(s)


0

#6 L'utilisateur est en ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 9 105
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 16 septembre 2020 - 14:13

Hello

On parle bien de la fonction "Copier / Peindre les Proprietes" ??

-------- DONC JE ME REPETE ! --------

1) Tu selectionnes ton objet maitre / source ...
2) Tu cliques sur l Icone "Copier / Peindre les Proprietes" ...
3) SVP tu REGARDES BIEN la ligne de commande !!
---- Tu as l option importante "PA" en version French !!
---- Tu cliques dessus en ligne de commande (C en BLEU) !!
---- Ou Bouton droit "Parametres" !!

As tu regarde l'option "PA" (comme Parametres)
pour voir si l'option concernant les textes est bien cochee !?

Cette option "PA" existe depuis toujours !
SVP tu regardes BIEN la ligne de commande ...

LA SANTE (Stay Safe, Stay Home, Stay Live), Regards, lecrabe "triste"
Automne 2020 la retraite ... Dans 14 jours ...
Autodesk Expert Elite Team
0

#7 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 207
  • Inscrit(e) : 21-décembre 05

Posté 17 septembre 2020 - 09:31

Bonjour à toutes et tous,
De mémoire, de tout temps, la commande "copier les propriétés" ne copie justement pas les positions de textes modifiés, du moins, à ma connaissance,..
De mémoire, j'avais déjà eu ce besoin et (gile) avait fait un lisp pour ça, et bien d'autres choses d'ailleurs de mémoire,..
Pas le temps de chercher, désolé,..

AutoCAD MAP 3D 2021 - COVADIS_17.1b
https://www.linkedin...3%ABt-95313341/
0

#8 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 207
  • Inscrit(e) : 21-décembre 05

Posté 17 septembre 2020 - 09:35

Re,
Si, j'ai retrouvé ! C'est le lispe "ju"
;; JU (gile) 14/11/07
;; Pour justifier des textes simples ou multilignes et des définitions d'attributs
;; à partir d'une boite de dialogue ou de la ligne de commande (commande : -ju)
;; Une option permet de conserver le point d'insertion fixe.

;; Boite d dialogue

(defun c:ju (/ column ss temp file dcl_id just ins)

  (defun column (l1 l2)
	(apply 'strcat
       	(mapcar
         	(function
           	(lambda (x1 x2)
             	(strcat
               	":button{width=12;label="
               	(vl-prin1-to-string x1)
               	";key="
               	(vl-prin1-to-string x2)
               	";allow_accept=true;}"
             	)
           	)
         	)
         	l1
         	l2
       	)
	)
  )

  (if (setq ss (ssget '((0 . "*TEXT,ATTDEF"))))
	(progn
  	(or (getenv "PointInsertionFixe")
      	(setenv "PointInsertionFixe" "0")
  	)
  	(setq temp (vl-filename-mktemp "Tmp.dcl")
        	file (open temp "w")
  	)
  	(write-line
    	"justify:dialog{label=\"Justifier\";:boxed_row{"
    	file
  	)
  	(mapcar
    	(function
      	(lambda (x)
        	(write-line
          	(strcat ":column{" (column (car x) (cadr x)) "}")
          	file
        	)
      	)
    	)
    	'((("Haut Gauche" "Milieu Gauche" "Gauche" "Bas Gauche")
       	("HG" "MG" "G" "BG")
      	)
      	(("Haut Centre" "Milieu Centre" "Centre" "Bas Centre")
       	("HC" "MC" "C" "BC")
      	)
      	(("Haut Droite" "Milieu Droite" "Droite" "Bas Droite")
       	("HD" "MD" "D" "BD")
      	)
     	)
  	)
  	(write-line
    	"}spacer;:toggle{label=\"Point d'insertion fixe\";key=\"ins\";}
    	spacer;cancel_button;}"
    	file
  	)
  	(close file)
  	(setq dcl_id (load_dialog temp))
  	(if (not (new_dialog "justify" dcl_id))
    	(exit)
  	)
  	(set_tile "ins" (getenv "PointInsertionFixe"))
  	(foreach k '("G" "C" "D" "HG" "HC" "HD" "MG" "MC" "MD" "BG" "BC" "BD")
    	(action_tile
      	k
      	(strcat
        	"(setq just "
        	(vl-prin1-to-string k)
        	")(if (= \"1\" (get_tile \"ins\"))
              	(setq ins T) (setq ins nil)) (done_dialog)"
      	)
    	)
  	)
  	(action_tile "cancel" "(setq just nil)")
  	(start_dialog)
  	(unload_dialog dcl_id)
  	(vl-file-delete temp)
  	(if ins
    	(setenv "PointInsertionFixe" "1")
    	(setenv "PointInsertionFixe" "0")
  	)
  	(and just (justify ss just ins))
	)
  )
  (princ)
)

;; Ligne de commande
(defun c:-ju (/ ss par just ins)
  (if (setq ss (ssget '((0 . "*TEXT,ATTDEF"))))
	(progn
  	(or (getenv "PointInsertionFixe")
      	(setenv "PointInsertionFixe" "0")
  	)
  	(while (or (not just) (= just "Paramètre"))
    	(princ (strcat "\nParamètre courant : "
                   	(if (= (getenv "PointInsertionFixe") "0")
                     	"texte fixe.\t"
                     	"point d'insertion fixe.\t"
                   	)
           	)
    	)
    	(initget
      	"Gauche Centre Droite HG HC HD MG MC MD BG BC BD Paramètre"
    	)
    	(setq just
           	(getkword
             	"Entrez une option de justification\n
    	[Gauche/Centre/Droite/HG/HC/HD/MG/MC/MD/BG/BC/BD/Paramètre] <Paramètre>: "
           	)
    	)
    	(if (or (not just) (= just "Paramètre"))
      	(progn
        	(initget 1 "Oui Non")
        	(setq par (getkword "\nPoint d'insertion fixe ? [Oui/Non]: "))
        	(if (= par "Oui")
          	(setenv "PointInsertionFixe" "1")
          	(setenv "PointInsertionFixe" "0")
        	)
      	)
    	)
  	)
  	(and (= (getenv "PointInsertionFixe") "1") (setq ins T))
  	(and just (justify ss just ins))
	)
  )
  (princ)
)

;; Modifie la justification des textes sélectionnés

(defun justify (ss just ins / n elst org pos oj nj x y ang mat dep vert)
  (repeat (setq n (sslength ss))
	(setq elst (entget (ssname ss (setq n (1- n))))
      	org  (cdr (assoc 10 elst))
	)
	(if (= (cdr (assoc 0 elst)) "MTEXT")
  	;; texte multiligne
  	(progn
    	(cond
      	((setq pos (vl-position just '("G" "C" "D")))
       	(setq pos (+ 7 pos))
      	)
      	(T
       	(setq pos (vl-position
                   	just
                   	'(nil "HG" "HC" "HD" "MG" "MC" "MD" "BG" "BC" "BD")
                 	)
       	)
      	)
    	)
    	(setq oj   (cdr (assoc 71 elst))
          	elst (subst (cons 71 pos) (assoc 71 elst) elst)
    	)
    	(entmod elst)
    	;; repositionnement du texte
    	(and
      	(not ins)
      	(setq elst (entget (cdr (assoc -1 elst)))
            	nj   (cdr (assoc 71 elst))
            	y	(cond
                   	((and (< 6 oj) (< nj 4)) (cdr (assoc 43 elst)))
                   	((or (and (< 3 oj 7) (< nj 4)) (and (< 6 oj) (< 3 nj 7)))
                    	(/ (cdr (assoc 43 elst)) 2.)
                   	)
                   	((or (and (< oj 4) (< 3 nj 7)) (and (< 3 oj 7) (< 6 nj)))
                    	(/ (cdr (assoc 43 elst)) -2.)
                   	)
                   	((and (< oj 4) (< 6 nj)) (- (cdr (assoc 43 elst))))
                   	(T 0.0)
                 	)
            	oj   (rem oj 3)
            	nj   (rem nj 3)
            	x	(cond
                   	((= oj nj) 0.0)
                   	((and (= oj 1) (= nj 0)) (cdr (assoc 42 elst)))
                   	((and (= oj 0) (= nj 1)) (- (cdr (assoc 42 elst))))
                   	((or (and (= oj 1) (= nj 2)) (and (= oj 2) (= nj 0)))
                    	(/ (cdr (assoc 42 elst)) 2.)
                   	)
                   	(T (/ (cdr (assoc 42 elst)) -2.))
                 	)
            	ang  (angle '(0 0 0)
                        	(trans (cdr (assoc 11 elst)) 0 (cdr (assoc 210 elst)))
                 	)
            	mat  (mxm (mapcar (function (lambda (v)
                                          	(trans v 0 (cdr (assoc 210 elst)))
                                        	)
                              	)
                              	'((1 0 0) (0 1 0) (0 0 1))
                      	)
                      	(list (list (cos ang) (- (sin ang)) 0)
                            	(list (sin ang) (cos ang) 0)
                            	'(0 0 1)
                      	)
                 	)
            	dep  (mxv mat (list x y 0.0))
      	)
      	(entmod
        	(subst (cons 10
                     	(mapcar '+ (cdr (assoc 10 elst)) dep)
               	)
               	(assoc 10 elst)
               	elst
        	)
      	)
    	)
  	)

  	;; texte simple ou définition d'attribut
  	(progn
    	(if (= (cdr (assoc 0 elst)) "TEXT")
      	(setq vert 73)
      	(setq vert 74)
    	)
    	(if (= (cdr (assoc 72 elst)) (cdr (assoc vert elst)) 0)
      	(setq
        	elst (subst (cons 11 org) (assoc 11 elst) elst)
      	)
      	(setq
        	elst (subst (cons 10 (cdr (assoc 11 elst))) (assoc 10 elst) elst)
      	)
    	)
    	(setq elst
           	(subst (cons vert
                        	(cond
                          	((wcmatch just "B*") 1)
                          	((wcmatch just "M*") 2)
                          	((wcmatch just "H*") 3)
                          	(T 0)
                        	)
                  	)
                  	(assoc vert elst)
                  	(subst (cons 72
                               	(cond
                                 	((wcmatch just "*G") 0)
                                 	((wcmatch just "*C") 1)
                                 	((wcmatch just "*D") 2)
                               	)
                         	)
                         	(assoc 72 elst)
                         	elst
                  	)
           	)
    	)
    	(entmod elst)
    	;; repositionnement du texte
    	(and
      	(not ins)
      	(setq elst (entget (cdr (assoc -1 elst))))
      	(if (= (cdr (assoc 72 elst)) (cdr (assoc vert elst)) 0)
        	(entmod (subst (cons 10 org) (assoc 10 elst) elst))
        	(progn
          	(setq dep (mapcar '- org (cdr (assoc 10 elst))))
          	(entmod
            	(subst (cons 11 (mapcar '+ (cdr (assoc 11 elst)) dep))
                   	(assoc 11 elst)
                   	elst
            	)
          	)
        	)
      	)
    	)
  	)
	)
  )
) 


AutoCAD MAP 3D 2021 - COVADIS_17.1b
https://www.linkedin...3%ABt-95313341/
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)