Aller au contenu

[Résolu] Copier Coller texte et effacer l'origine


yusukens82

Messages recommandés

@Luna,Mrerci aussi à toi que j'avais oublié 😉 , c'est bon j'ai réussi à contourner le problème en ajoutant 3 petites lignes.

Mettre au début :

(setq uc (getvar "worlducs"))

(if (= uc 0) (command "_ucs" ""))

LE CODE

A la fin de la routine :

(if (= uc 0) (command "_ucs" "p"))

 

mais je vais tout de même tester ta modification.

merci

Lien vers le commentaire
Partager sur d’autres sites

Le 19/07/2024 à 11:06, Luna a dit :

Coucou,
Oki je vois d'où vient le soucis dans ce cas 🙂
Les vecteurs sont tracés à partir des coordonnées SCG de l'objet dans le SCU (donc le rectangle est très sûrement dans ton dessin, mais avec les mauvaises coordonnées). Il faudrait donc translater (trans) les coordonnées permettant de créer les vecteurs depuis le SCG vers SCU (si SCG courant alors cela fera simplement une translation SCG>SCG :3)
Donc remplacer

(setq
  hg (list (car bg) (cadr hd))
  bd (list (car hd) (cadr bg))
)

par

(setq
  hg (trans (list (car bg) (cadr hd)) 0 1)
  bd (trans (list (car hd) (cadr bg)) 0 1)
)

je pense ?

Edit: Changer la variable WORLDUCS est une autre solution mais je conseille dans ce cas de vérifier également la valeur de UCSFOLLOW dans ce cas (car si UCSFOLLOW = 1, tu risques d'avoir des surprises) ! Et également de prévoir une gestion d'erreur pour remettre le dessin en ordre en cas de soucis ^^

Bisous,
Luna

Bonjour,

@Luna, Oui pour les explications, et non pour l'application, car il me semble que c'est plutôt ces lignes qu'il faudrait translater:

(setq	bg (vlax-safearray->list minext)
	hd (vlax-safearray->list maxext)
  )

en les remplaçants par les suivantes:

(setq	bg (trans (vlax-safearray->list minext) 0 1)
	hd (trans (vlax-safearray->list maxext) 0 1)
  )

sinon tu risques d'avoir des résultats surprenant avec les points bg & hd définie dans un système de coordonnées et les points hg & bd définie dans un autre

A+ Bruno

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Le 17/07/2024 à 18:38, yusukens82 a dit :

Re bonjour,

J'ai utilisé la routine toute l'après-midi. c'est très utile.

Si je peux apporter une petite amélioration (si c'est faisable bien sûr).

C'est de mettre en surbrillance le texte qu'on a sélectionné en premier pour montrer graphiquement qu'on l'a sélectionné.

Bonjour,

Pour compléter et répondre à la question de la surbrillance d'un objet, il y a la fonction  lisp redraw, qui gère l'aspect visuel d'une entitée, c'est moins graphique que la solution de @didier avec des vecteurs temporaire et c'est une variante à la proposition de @Luna et l'emploi d'un sssetfirst avec la création d'une sélection.

Pour l'illustration du propos:

(defun c:r2 (/ entseltxt etxt1 etxt2)
  
  ;; Sélection utilisateur retourne ename ou nil
  (defun entseltxt (msg / ent)
    (if	(and (setq ent (car (entsel msg)))
	     (or (wcmatch (cdr (assoc 0 (entget ent))) "*TEXT")
		 (prompt "\nL'entitée n'est pas un texte valide! ")
	     )
	)
      ent
    )
  )

  ;; Code
  (and (setq etxt1 (entseltxt "\nSélectionnez le texte à copier puis effacer: "))
       (or (redraw etxt1 3) (setq etxt2 (entseltxt "\nSélectionnez le texte à modifier: ")) (redraw etxt1 4))
       (entmod (subst (assoc 1 (entget etxt1)) (assoc 1 (entget etxt2)) (entget etxt2)))
       (entdel etxt1)
  )

  (princ)
)

 

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

J'avais essayé la solution de @VDH-Bruno utilisant le redraw, mais je n'étais pas satisfait du visuel que je ne trouve pas très efficace.
Je ne pensais que ça conviendrait à @yusukens82, comme quoi, il faut proposer avant de se compliquer la vie.

Au moins ça aura peut-être donné des idées pour ceux qui ne connaissaient pas grdraw.

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Si tu parles de la forme de la sélection du premier clic. 

on ne le distingue pas super, c'est pour cette raison que je suis revenu sur la proposition de Didier avec son encadrés provisoires.

en tout cas les 2 propositions fonctionnent à meilleur, je m'amuse tellement avec que je n'ai plus envie de partir en vacance 🙂 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @yusukens82

je n'ai plus envie de partir en vacances, j'espère que je ne serai pas condamné pour incitation au travail…
Ce que j'en retiens, c'est que les personnalisations LSP sont loin d'être désuètes, en quelques lignes, on fait du travail et des gens heureux.

Amicalement

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, didier a dit :

Bonjour @Luna @VDH-Bruno

Je n'ai pas utilisé redraw, car je ne trouve pas très visible cette surbrillance.
Est-ce le cas aussi pour vous ?
Est-ce un autre souci ? (SCU Police de texte...)

Amicalement

@didier pour avoir écrit de nombreuses routines avec la fonction redraw, sur des anciennes version l'aspect visuel était très bien géré, il est vrai que pour ce que j'en ai vu sur les versions récentes c'est plus ça, après est ce que Autodesk aurait introduit de nouvelles variables pour y remédié je ne saurais dire.... En tout cas sur le clone d'Autocad (en version 15) qu'il m'arrive encore d'utiliser au travail cela passe encore très bien.

 

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
Le 22/07/2024 à 14:13, VDH-Bruno a dit :

@didier pour avoir écrit de nombreuses routines avec la fonction redraw, sur des anciennes version l'aspect visuel était très bien géré, il est vrai que pour ce que j'en ai vu sur les versions récentes c'est plus ça, après est ce que Autodesk aurait introduit de nouvelles variables pour y remédié je ne saurais dire.... En tout cas sur le clone d'Autocad (en version 15) qu'il m'arrive encore d'utiliser au travail cela passe encore très bien.

 

@didier  , après être passé dépanné hier soir un confrère et ami sur un AutoCAD récent,  maintenant je sais dire j'en ai profité/amusé pour faire quelques tests sur des variables d'environnements apparu en 2015 et 2016, j'ai identifié SELECTIONEFFECTSELECTIONEFFECTCOLOR qui  influent sur l'aspect visuel des sélections et par effet de bord sur l'aspect visuel des entités géré par la fonction lisp redraw.

La première SELECTIONEFFECT paramétré sur 0 permet de retrouver l'ancien style d'affichage des sélections, paramétré sur 1 la couleur de l'aspect visuel de la surbrillance devient dépendant de SELECTIONEFFECTCOLOR.

SELECTIONEFFECTCOLOR est initialement réglé sur 0, elle accepte les 255 couleurs de la table ACI, personnellement j'ai gardé un environnement de travail sur fond noir et j'ai réglé SELECTIONEFFECTCOLOR sur 3 (vert), j'ai trouvé le visuel satisfaisant.

Voilà pour le retour

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @VDH-Bruno

Merci pour ces explications.
En lisant une autre de tes réponses sur un autre site, je me suis aussitôt dirigé vers ces variables.
Le bon réglage n'est pas simple à trouver, mais on finit par avoir quelque chose de satisfaisant.

Donc, plus besoin de chercher des artifices avec grdraw comme je m'y étais agacé !.

Amicalement

 

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 15 heures, didier a dit :

Bonjour @VDH-Bruno

Merci pour ces explications.
En lisant une autre de tes réponses sur un autre site, je me suis aussitôt dirigé vers ces variables.
Le bon réglage n'est pas simple à trouver, mais on finit par avoir quelque chose de satisfaisant.

Donc, plus besoin de chercher des artifices avec grdraw comme je m'y étais agacé !.

Amicalement

 

 

Ta solution avec grdaw est très bonne, cela offre du choix et du contenu pour qui voudrait s'inspirer et se perfectionner. 

 

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

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é