x_all Posté(e) le 3 septembre 2012 Posté(e) le 3 septembre 2012 bonjour... comme il parait qu'on a l'oreille d'un officiel d'autocad, je me permet de relever un bug qui traine sur ce logiciel depuis que je l'utilise avec une sourie à roulette et ça date pas d'hier... bon... sous DOS un zoom était considéré comme une commande, et en tant que tel, on ne pouvait pas l'utiliser de manière transparente. Avec l'arrivée de la roulette on pouvais enfin zoomer pendant une commande !! le bug en 1 j'ai une vue générale de mon dessin je m’appète a faire une sélection. http://joch04.free.fr/images/1.jpg en 2 le premier clic http://joch04.free.fr/images/2.jpg en 3, pour finaliser ma sélection, il faut que je zoome pas mal (a la roulette) car il y a un truc que je ne veux pas... http://joch04.free.fr/images/3.jpg en 4 je dé zoome toujours à la roulette et surprise (mauvaise) ce qui n'était pas visible pendant l'étape 3 n'est pas pris en compte.... http://joch04.free.fr/images/4.jpg En plus de corriger ce bug qui se retrouve avec étirer, copier ext... Ne serai t-il pas temps de séparer les zooms des commandes d'édition comme sur Révit par exemple ou les commandes de vue ne réinitialisent pas la sélection? quelques trucs sur autocad
Dinosor Posté(e) le 3 septembre 2012 Posté(e) le 3 septembre 2012 Merci x_all, J'appuie, évidemment ! ;) Je me fais encore avoir parfois. C'est agaçant... Seuls nous allons vite, ensemble nous allons plus loin... CPU Intel 3,5Go / Nvidia RTX-3090 AutoCad (Architecture) 2022 - Lumion PRO BMW R-1200-RT, c'est moche, oui... je sais... www.neda.ch
-Olivier- Posté(e) le 3 septembre 2012 Posté(e) le 3 septembre 2012 Salut X_all et Dinosor, Tout à fait d'accord.Ce bug, existant depuis belle lurette oblige parfois à de multiple sélections.Agaçant ++
Steven Posté(e) le 3 septembre 2012 Posté(e) le 3 septembre 2012 Salut, Avant la roulette de la souris on pouvait déjà zoomer de manière transparente, pendant une commande. Il fallait faire ' (apostrophe ou prime) z ou zoom et valider. Ceci est toujours possible.C'est la prime commande; commande qui prime sur une autre. 'zoom'snapangPar exemple. Deux commande que j'utilise régulièrement Par exemple, tu es dans la commande déplacer. Tu peux pendant la commande "déplacer" taper 'z --> valider, faire une fenêtre de zoom à l'endroit où tu veux et tu reviens aussitôt dans la commande "déplacer" pour finir ton action ;) Exemple en vidéo: http://www.youtube.com/watch?v=ODIEcf4yLDQ Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
x_all Posté(e) le 4 septembre 2012 Auteur Posté(e) le 4 septembre 2012 tien tien... je l'avais oublier celle là... et pour tout dire j’avais un peu d'espoir il n’empêche que... 1 je lance ma copiehttp://joch04.free.fr/images/11.jpg 2 j'appelle 'zhttp://joch04.free.fr/images/12.jpg 3 je vais la ou je veux pour éviter un objet et je valide la fin de ma selectionhttp://joch04.free.fr/images/13.jpg 4 j'admire le résultathttp://joch04.free.fr/images/14.jpg Quand ça veux pas, ça veux pas... :P en fait le pb, c'est sur la sélection,que ce soit la roulette ou 'z, une fois la sélection terminée c'est sur que la commande n'oublie pas les objets... et heureusement mais essaye ton truc sur la commande étirer. tu lance 'z pour choper un détail, tu valide, et tout ce qui était pas dans le cadre quand tu as validé ne s'étire pas... quelques trucs sur autocad
benoitlacroix Posté(e) le 4 septembre 2012 Posté(e) le 4 septembre 2012 bonjour à tous moi aussi je suis d'accord avec toi, du coup je me pose le problème à l'envers.je fais une large sélection puis je désélectionne les objet en trop.j’admets que ce peut être un peu long des fois. mais faute de mieux! Le trlalala du nain - Moi c'que j'aime dans les cavernes - C'est qu'on peut allez piocher. - on peut extraire du minerais - Et des pierres pour les tailler
Steven Posté(e) le 4 septembre 2012 Posté(e) le 4 septembre 2012 tien tien... je l'avais oublier celle là... et pour tout dire j’avais un peu d'espoir il n’empêche que... 1 je lance ma copiehttp://joch04.free.fr/images/11.jpg 2 j'appelle 'zhttp://joch04.free.fr/images/12.jpg 3 je vais la ou je veux pour éviter un objet et je valide la fin de ma selectionhttp://joch04.free.fr/images/13.jpg 4 j'admire le résultathttp://joch04.free.fr/images/14.jpg Quand ça veux pas, ça veux pas... :P en fait le pb, c'est sur la sélection,que ce soit la roulette ou 'z, une fois la sélection terminée c'est sur que la commande n'oublie pas les objets... et heureusement mais essaye ton truc sur la commande étirer. tu lance 'z pour choper un détail, tu valide, et tout ce qui était pas dans le cadre quand tu as validé ne s'étire pas... J'avais déjà remarqué que la commande "étirer" foirait un peu lorsqu'on zoom sur une partie du dessin pendant la commande et que les objets hors écran, même si ceux-ci sont dans la fenêtre de capture, ne sont pas étiré.Et pour ton exemple, c'est vrai qu'AutoCAD a parfois des soucis de sélection sur les objets qui ne sont plus dans son champs de vision, à savoir l'écran.d'accord avec toi ;) Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Titi95 Posté(e) le 4 septembre 2012 Posté(e) le 4 septembre 2012 Pareil , j'ai remarqué cela depuis bien longtemps et toujours pas corrigé sur la 2013, c'est agaçant D’ailleurs on voir bien la limite de sélection représentée en pointillé qui reste collé le long de l'écran plutot que de disparaitre quand on zoom... ce qui indique bien la sélection des objets à l’intérieur de la sélection sur l'écran Par contre sur la 2013, avec la fonction étirer on peu étirer plusieurs zones en sélectionnant plusieurs objets avant de donner la distance unique, avant on avait droit qu'à une sélection. Mes anciennes réalisations Autocad
mathieu Posté(e) le 22 mai 2013 Posté(e) le 22 mai 2013 je déterre le sujet !! J'avoue que ce problème recurant m'a posé plus d'un souci ! Il n'y a à ce jour toujours pas de solution?!!
bonuscad Posté(e) le 22 mai 2013 Posté(e) le 22 mai 2013 C'est vrai que c'est agaçant! D’ailleurs on voir bien la limite de sélection représentée en pointillé qui reste collé le long de l'écran plutot que de disparaitre quand on zoom... ce qui indique bien la sélection des objets à l’intérieur de la sélection sur l'écranOn peut remarquer que dans cette situation si on appui sur la molette pour faire un pan (avec le symbole main) et qu'on se déplace, que le cadre de sélection est réduit. J'ai essayer ceci, (on pourrait le mettre dans un bouton) ((lambda ( / p1 p2) (setvar "cmdecho" 0) (command "'_.-view" "_save" "$TMP$") (initget 9) (setq p1 (getpoint "\n1er point?: ")) (initget 41) (setq p2 (getcorner p1 "\n2ème point?: ")) (command "'_.-view" "_restore" "$TMP$") (command "'_.-view" "_delete" "$TMP$") (setvar "cmdecho" 1) (if (zerop (getvar "cmdactive")) (sssetfirst nil (ssget (if (> (car p1) (car p2)) "_C" "_W") p1 p2)) (command (if (> (car p1) (car p2)) "_Crossing" "_Window") p1 p2) ) (prin1) )) Chose bizarre cela fonctionne bien en mode sélection/action (c'est à dire avec les grips), par contre en action/sélection (c'est à dire en transparence dans une commande standard), cela fonctionne bien la 1ere fois, mais par la suite le point p1 est systématiquement substitué par le point p2 de la précédente action .!?!? Je ne comprends pas pourquoi! Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
-Olivier- Posté(e) le 22 mai 2013 Posté(e) le 22 mai 2013 Bonjour, par contre en action/sélection (c'est à dire en transparence dans une commande standard), cela fonctionne bien la 1ere fois, mais par la suite le point p1 est systématiquement substitué par le point p2 de la précédente action .!?!? Je ne comprends pas pourquoi! Malgré cette bizarerie je garde tout de même ton code (avec ta permission bien sûr. :P ) Olivier
VDH-Bruno Posté(e) le 23 mai 2013 Posté(e) le 23 mai 2013 Bonjour BonusCAD, Chose bizarre cela fonctionne bien en mode sélection/action (c'est à dire avec les grips), par contre en action/sélection (c'est à dire en transparence dans une commande standard), cela fonctionne bien la 1ere fois, mais par la suite le point p1 est systématiquement substitué par le point p2 de la précédente action .!?!? Je ne comprends pas pourquoi! Cela vient certainement du fait que la command "'_.-view" avec l’option "_restore" exécute une régénération de l’affichage ce qui exclut une utilisation en mode transparent. C’est un souci de même nature que j’avais rencontré ici http://cadxp.com/index.php?/topic/35882-modifier-temporairement-l%E2%80%99affichage-des-lignes-discontinues-en-continues/ avec la commande "'_.ltscale" bien que les conséquences étaient différente car il me lançait un Régénération en file d'attente. Empêchant la mise à jour de l’affichage par transparence. Pour avoir la commande en transparence, il possible d’adapter facilement ton code en substituant l’usage de la commande _.-view, via les variables viewctr, viewsize et la méthode vla-ZoomCenter. Le code :;; Enregistre une sélection pendant en zoom effectue une sélection pendant ;; zoom. Avant ou pendant une commande AutoCAD. (defun c:selzoom (/ p1 p2 viewctr viewsize jsel) (vl-load-com) (setq viewctr (trans (getvar 'VIEWCTR) 1 0) viewsize (getvar 'VIEWSIZE) ) (initget 9) (setq p1 (getpoint "\n1er point?: ")) (initget 41) (setq p2 (getcorner p1 "\n2ème point?: ")) (vla-ZoomCenter (vlax-get-acad-object) (vlax-3d-point viewctr) viewsize) (setq jsel (ssget (if (> (car p1) (car p2)) "_C" "_W" ) p1 p2 ) ) (cond ((zerop (getvar "cmdactive")) (sssetfirst nil jsel) (princ)) (jsel) (T (princ)) ) ) A tester, A+ Bruno Apprendre => Prendre => Rendre
bonuscad Posté(e) le 24 mai 2013 Posté(e) le 24 mai 2013 Bonjour VDH-Bruno Cela vient certainement du fait que la command "'_.-view" avec l’option "_restore" exécute une régénération de l’affichage ce qui exclut une utilisation en mode transparent. Pas sur que cela vienne de là car en mode sélection/verbe, il n'y a pas de problème!En tout cas ta formulation à l'avantage de supprimer les appels par (command), donc...: un plus indéniable. Par curiosité j'ai essayé mon code sous une version 2008, mais la transparence de VUE est très mal supportée à contrario de la version 2011 où je l'ai conçue. Alors que ta version ne pose aucun problème suivant la version d'Autocad. Adoptée! et je conseille à Olivier de faire de même... :P Malgré cette bizarerie je garde tout de même ton code Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
VDH-Bruno Posté(e) le 24 mai 2013 Posté(e) le 24 mai 2013 Re, Pas sur que cela vienne de là car en mode sélection/verbe, il n'y a pas de problème!Oui, tu as raison, cela ne vient pas de là, c’est plus simplement dû à une incompatibilité entre le mode transparent et l’usage de la fonction command dans les expressions lisp. D’ailleurs je m’étais déjà fait cette réflexion ici http://cadxp.com/index.php?/topic/35882-modifier-temporairement-l%e2%80%99affichage-des-lignes-discontinues-en-continues/page__view__findpost__p__195287 Pour s’en convaincre on peut s’appuyer sur la commande zoom, commande qui ne devrait pas porter à discussion quelque soit la version d’AutoCAD : Lancement de la commande ‘zoom en transparence à la ligne de commande Commande: (setq p2 (getcorner (setq p1 (getpoint "\nPremier point: ")) "\nSpécifiez le coin opposé: ")) Premier point:Spécifiez le coin opposé: (12085.1 11609.3 0.0) Commande:Commande:Commande: _moveChoix des objets: '_.zoom >>Spécifiez le coin d'une fenêtre, entrez un facteur d'échelle (nX ou nXP) ou[Tout/Centre/DYnamique/ETendu/Précédent/Echelle/Fenêtre/Objet] <temps réel>: !p1(9363.77 7909.78 0.0) >>>>Spécifiez le coin opposé: !p2(12085.1 11609.3 0.0) Reprend la commande DEPLACER. Choix des objets:Ok pas de problème, on a bien les chevrons du mode transparent d’activé dans les invite de commande Lancement de la commande ‘zoom en transparence depuis une expression lisp Commande: _moveChoix des objets: (command "'_.zoom" p1 p2)'_.zoom *Sélection non valable*Attend un point ou Fenêtre/Dernier/Capture/BOîte/TOUT/Trajet/SPolygone/CPolygone/Groupe/Ajouter/Supprimer/Multiple/Précédent/annUler/AUto/uniQue/SOus-objet/Objet; erreur: Fonction annulée Choix des objets:Erreur, le mode transparent ne s’active pas.. et c’est idem depuis une fonction lisp définit avec c :xxx. En tout cas ta formulation à l'avantage de supprimer les appels par (command), donc...: un plus indéniable.…..Adoptée!et je conseille à Olivier de faire de même... :P Et ta formulation suivante : (setvar "cmdecho" 1) (if (zerop (getvar "cmdactive")) (sssetfirst nil (ssget (if (> (car p1) (car p2)) "_C" "_W") p1 p2)) (command (if (> (car p1) (car p2)) "_Crossing" "_Window") p1 p2) ) (prin1) Est visuellement plus jolie au retour d’invite sur la ligne de commande AutoCAD, je conseillerai donc à Olivier de penser à un mixe des 2. ;) A+ Bruno Apprendre => Prendre => Rendre
-Olivier- Posté(e) le 24 mai 2013 Posté(e) le 24 mai 2013 Bonjour, Commande: _move Choix des objets: (command "'_.zoom" p1 p2) '_.zoom *Sélection non valable* Attend un point ou Fenêtre/Dernier/Capture/BOîte/TOUT/Trajet/SPolygone/CPolygone/Groupe/Ajouter/Sup primer/Multiple/Précédent/annUler/AUto/uniQue/SOus-objet/Objet ; erreur: Fonction annulée Choix des objets: Alors là; il y a vraiment une bizarerie !!! :D Parce-que moi j'obtiens ceci Commande: _move Choix des objets: (command "'_.zoom" p1 p2)'_.zoom>>Spécifiez le coin d'une fenêtre, entrez un facteur d'échelle (nX ou nXP) ou[Tout/Centre/DYnamique/ETendu/Précédent/Echelle/Fenêtre/Objet] <temps réel>:>>>>Spécifiez le coin opposé:Reprend la commande DEPLACER. ...et d'ailleurs la fonction lisp fonctionne aussi. Commande: (defun c:toto () (command "'_.zoom" p1 p2) (princ))C:TOTO Commande: _move Choix des objets: 'toto'_.zoom>>Spécifiez le coin d'une fenêtre, entrez un facteur d'échelle (nX ou nXP) ou[Tout/Centre/DYnamique/ETendu/Précédent/Echelle/Fenêtre/Objet] <temps réel>:>>>>Spécifiez le coin opposé:Reprend la commande TOTO. Choix des objets:Choix des objets:Choix des objets: Spécifiez le coin opposé: 1 trouvé(s) Choix des objets:Spécifiez le point de base ou [Déplacement] <Déplacement>: Spécifiez le deuxième point ou <utiliser le premier point comme déplacement>: Si j'ai le temps ce weekend je refais des essais avec la première version de Bonuscad car je trouvais les zooms pendant la commande plus intuitifs, j'espère que tu ne m'en voudras pas VDH-Bruno. ;) Adoptée! et je conseille à Olivier de faire de même... :P Pour moi, je n'ai encore rien adoptée définitivement. @+ Olivier
VDH-Bruno Posté(e) le 24 mai 2013 Posté(e) le 24 mai 2013 Alors là; il y a vraiment une bizarerie !!! Parce-que moi j'obtiens ceciMerci de ton retour –Olivier-, à suivre effectivement.. Personnellement je suis sur AutoCAD 2007 sous seven 32 bit sans virtualisation (donc c’est pas ce qu’il y a de plus top comme type d’installe.. ) Si j'ai le temps ce weekend je refais des essais avec la première version de Bonuscad car je trouvais les zooms pendant la commande plus intuitifs, j'espère que tu ne m'en voudras pas VDH-Bruno. Ho, non !!! Ce n’est pas le genre de la maison, je propose après chacun prend/donne ce qu’il veut et comme il peut, c’est l’idée que je me fais du partage et de l’entre-aide… :) A+ Apprendre => Prendre => Rendre
-Olivier- Posté(e) le 25 mai 2013 Posté(e) le 25 mai 2013 Bonjour à tous,Après quelques petits me revoilà!Donc, comme l'avais précisé Bonuscad, son programme fonctionne très bien si dans le sens nom / verbe.Dans le sens verbe nom cela fonctionne la première fois, mais là seconde fois,le point p1 ne prend pas le point cliqué mais le point p2 de la précédente utilisation. Je n'arrive pas à trouver où est enregistrée cette valeur lorsque la commande est terminée. Car en lisant la valeur de !p1 et de !p2 à la fin de la commande, elles sont bien à nil. Cela ne correspond pas non plus à la valeur de variable Autocad LASTPOINT. Pour le moment j'ai contourné le problème avec ceci (n'aimant pas les boutons , je l'ai inséré dans un defun c:... (defun c:toto ( / p1 p2) (setvar "cmdecho" 0) (command "'_.-view" "_save" "$TMP$") (initget 9) (if (= *toto* 1) (getpoint "\n1er point?: ")) (setq p1 (getpoint "\n1er point?: ")) (initget 41) (setq p2 (getcorner p1 "\n2ème point?: ")) (command "'_.-view" "_restore" "$TMP$") (command "'_.-view" "_delete" "$TMP$") (setvar "cmdecho" 1) (if (zerop (getvar "cmdactive")) (sssetfirst nil (ssget (if (> (car p1) (car p2)) "_C" "_W") p1 p2)) (progn (setq *toto* 1) (command (if (> (car p1) (car p2)) "_Crossing" "_Window") p1 p2) )) (prin1) ) Du coup le point p1 est demandé 2 fois lorsque nécessaire. La première fois pour rien puis une seconde fois réelle. C'est loin d'être trèe propre mais me suffit pour mon utilisation. @+Olivier
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