yusukens82 Posté(e) le 19 juillet 2024 Auteur Posté(e) le 19 juillet 2024 @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
Luna Posté(e) le 19 juillet 2024 Posté(e) le 19 juillet 2024 Cf. Edit de mon précédent message car ta solution peut engendrer des problèmes selon la méthode de travail de chacun...
VDH-Bruno Posté(e) le 20 juillet 2024 Posté(e) le 20 juillet 2024 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
VDH-Bruno Posté(e) le 20 juillet 2024 Posté(e) le 20 juillet 2024 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
yusukens82 Posté(e) le 20 juillet 2024 Auteur Posté(e) le 20 juillet 2024 @VDH-Bruno Merci beaucoup pour ton autre proposition. ça répond parfaitement à ma demande. merci merci
didier Posté(e) le 21 juillet 2024 Posté(e) le 21 juillet 2024 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 Éternel débutant... Mon site perso : Programmer dans AutoCAD
VDH-Bruno Posté(e) le 22 juillet 2024 Posté(e) le 22 juillet 2024 Il y a 21 heures, didier a dit : Au moins ça aura peut-être donné des idées pour ceux qui ne connaissaient pas grdraw. Bonjour, Oui c'était l'idée. A+ Bruno Apprendre => Prendre => Rendre
Luna Posté(e) le 22 juillet 2024 Posté(e) le 22 juillet 2024 Yes merci @VDH-Bruno, J'avoue avoir lu le sujet en diagonal donc je me doutais que je ferais une erreur, désolée. Je ne savais pas que l'on pouvait (redraw) une entité pour le coup en changeant son état (highlight, masked, etc...), comme quoi.. :3 Bisous, Luna
didier Posté(e) le 22 juillet 2024 Posté(e) le 22 juillet 2024 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 Éternel débutant... Mon site perso : Programmer dans AutoCAD
yusukens82 Posté(e) le 22 juillet 2024 Auteur Posté(e) le 22 juillet 2024 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 🙂
didier Posté(e) le 22 juillet 2024 Posté(e) le 22 juillet 2024 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 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
VDH-Bruno Posté(e) le 22 juillet 2024 Posté(e) le 22 juillet 2024 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
didier Posté(e) le 22 juillet 2024 Posté(e) le 22 juillet 2024 Bonjour @VDH-Bruno Je te rejoins tout à fait, ce n'est que récemment que ce redraw est devenu moins visible. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
VDH-Bruno Posté(e) le 1 août 2024 Posté(e) le 1 août 2024 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é SELECTIONEFFECT & SELECTIONEFFECTCOLOR 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
didier Posté(e) le 1 août 2024 Posté(e) le 1 août 2024 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 Éternel débutant... Mon site perso : Programmer dans AutoCAD
VDH-Bruno Posté(e) le 2 août 2024 Posté(e) le 2 août 2024 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
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant