Invité tjrsNRV Posté(e) le 4 janvier 2011 Posté(e) le 4 janvier 2011 Bonjour et bonne année à tous ! Je voudrais savoir s'il est possible de rendre un objet (bloc ou Xref) non-sélectionnable. un reactor ? C'est pour éviter que lors q'uon sélectionne, le fond de plan fasse partie de la sélection. Je sais qu'on peut sélectionner de gauche à droite pour éviter ça mais ça ne me convient pas... Sechanbask [Edité le 4/1/2011 par tjrsNRV]
Fraid Posté(e) le 4 janvier 2011 Posté(e) le 4 janvier 2011 Bonjour, Si tu place tes objets dans un calque vérouillé ils ne sont pas sélectionnable c'est d'ailleur fait pour cela @+ https://github.com/Fraiddd
Invité tjrsNRV Posté(e) le 4 janvier 2011 Posté(e) le 4 janvier 2011 Avec le calque verrouillé, on peux toujours sélectionner à la souris les objets qui sont dans ce calque. et comme mon xref fait 40 Mo une fois nettoyé, si je le sélectionne effectivement je ne peux pas le déplacer, le supprimer etc, mais il apparait dans le jeu de sélection et donc à chaque fois ça met mon PC à genou...
Fraid Posté(e) le 6 janvier 2011 Posté(e) le 6 janvier 2011 Bonjour, tu transforme en bloc ce que tu veux editer tu l'edite dans le dessin meme le reste n'est pas selectionnable ou tu demande un autre pc a ton patron ;) https://github.com/Fraiddd
Invité tjrsNRV Posté(e) le 6 janvier 2011 Posté(e) le 6 janvier 2011 bloc : mauvaise idée, il est possible de rendre des objets invisible par programmation, mais pas non-sélectionnable ?
bonuscad Posté(e) le 6 janvier 2011 Posté(e) le 6 janvier 2011 il est possible de rendre des objets invisible par programmation, mais pas non-sélectionnable ? Oui, par programmation uniquement. C'est d'ailleurs pour ça que je déconseille l'utilisation de ce bit d'invisibilité car un utilisateur lambda pourrait se tirer les cheveux lors d'une purge inefficace lors de l'utilisation ultérieure d'un tel fichier. Néanmoins voici les codes E_OFF et E_ON qui permettent d'utiliser ce bit. (defun c:e_off ( / js_off n ent dxf_ent ) (princ "\nChoix des entités à inactiver: ") (setq js_off (ssget) n 0) (cond (js_off (repeat (sslength js_off) (setq ent (ssname js_off n) dxf_ent (entget ent) ) (if (not (member '(60 . 0) dxf_ent)) (entmod (append dxf_ent '((60 . 1)))) (entmod (subst '(60 . 1) '(60 . 0) dxf_ent)) ) (setq n (1+ n)) ) ) (T (princ "\nSélection vide.") ) ) (princ) ) (defun c:e_on ( / js_off n js_swap n_swap ent ent_dxf js_on nb) (setq js_off (ssget "_X" '((60 . 1))) n 0) (cond (js_off (setq js_swap (ssget "_X" '((-4 . ""))) n_swap 0) (cond (js_swap (repeat (sslength js_swap) (setq ent (ssname js_swap n_swap)) (redraw ent 2) (setq n_swap (1+ n_swap)) ) ) ) (repeat (sslength js_off) (setq ent (ssname js_off n)) (setq dxf_ent (entget ent)) (entmod (subst '(60 . 0) '(60 . 1) dxf_ent)) (entupd ent) (setq n (1+ n)) ) (princ "\nChoix des entités à réactiver: ") (setq js_on (ssget) n 0) (cond (js_on (repeat (sslength js_on) (if (ssmemb (ssname js_on n) js_off) (setq js_off (ssdel (ssname js_on n) js_off)) ) (setq n (1+ n)) ) (cond (js_off (setq nb 0) (repeat (sslength js_off) (setq ent (ssname js_off nb)) (setq dxf_ent (entget ent)) (if (not (member '(60 . 0) dxf_ent)) (entmod (append dxf_ent '((60 . 1)))) (entmod (subst '(60 . 1) '(60 . 0) dxf_ent)) ) (entupd ent) (setq nb (1+ nb)) ) (cond (js_swap (setq n_swap 0) (repeat (sslength js_swap) (setq ent (ssname js_swap n_swap)) (redraw ent 1) (setq n_swap (1+ n_swap)) ) ) ) ) (T (princ "\nAucune entité à réactivée!") ) ) ) (T (princ "\nSélection vide.") ) ) ) (T (princ "\nAucune entité à réactivée!") ) ) (princ) ) [Edité le 6/1/2011 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 6 janvier 2011 Posté(e) le 6 janvier 2011 Salut, Je crois que tjrsNRV/Sechanbask ne cherche pas à rendre des objets invisible (ce qui est possible en Natif depuis la version 2011 ou par programmation) mais à rendre des entités non-sélectionnables.Et ça, à ma connaissance, ce n'est pas possible. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
krunch Posté(e) le 16 janvier 2011 Posté(e) le 16 janvier 2011 En revanche il est possible de filtrer (enlever) les objets des calques verrouillés d'un jeu de sélection, en Lisp, et éventuellement dans un réacteur.. Sinon pour faire simple j'utiliserais le filtre de sélection en filtrant les Blocs/XRefs qui ont certaine propriété (calque par exemple).
Invité tjrsNRV Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 le filtre de sélection n'est pas applicable tout au long de l'édition d'un fichier, donc je ne vois que la programmation pour faire ça...
krunch Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 En fait je comprends pas très bien ce que tu veux faire... Mais si tu veux filtrer la sélection courante lorsqu'elle est modifiée tu peux brancher un réacteur comme ça :(vlr-miscellaneous-reactor "NOM" '((:vlr-pickfirstModified . Filtre))) Puis tu écris une fonction avec 2 arguments, qui récupère et traite la sélection courante :(defun Filtre (u v / sel) (setq sel (cadr(ssgetfirst))) .... traitement ...) A la sortie il faut effacer le réacteur :(mapcar 'vlr-remove (vl-remove-if-not '(lambda(u)(= (vlr-data u) "NOM")) (cdr(car(vlr-reactors :vlr-miscellaneous-reactor)))))
Fraid Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 Bonjour, Ce n'est pas en rajoutant une roue a un tracteur qu'il ira plus vite Change de pc et ton problème sera résolu https://github.com/Fraiddd
bonuscad Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 Ou alors, si tu veux simplement avoir ton fond en visuel, change l'ensemble de tes Xrefs en une seule image (sortie traceur au format image de tous les XRef), comme ça, hormis le cadre, rien ne sera sélectionnable... Rien ne t'empêche de rattacher tes Xrefs par la suite à la place de l'image. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Invité tjrsNRV Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 non mon problème ne peux pas être résolu en changeant le PC, car j'aurais toujours besoin de faire des sélections de droite à gauche pour lancer la commande ETIRER. et comme je fait une selection de droite à gauche mais si mon XREF est dans un calque verrouiller, ça me le sélectionne et c'est très lourd !!! J'ai pas un tracteur, mais un PC plutôt récent (moins d'un an). Les Xref avec lesquels je travaille sont très lourd graphiquement parlant (hachures, textures que je dois conserver pour travailler) Je voudrais interdire, quelque soit la commande lancée, de sélectionner les XREF. Je ne sais pas qui peut se permettre de changer de PC à chaque fois qu'il a besoin d'une fonction, mais pour nous c'est pas une solution valable... bonuscad : je ne comprends ta proposition, tu pourrais préciser la marche à suivre ?
krunch Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 Mais oui, ou mieux : tu fais un DWF (Fichier/Exporter..) que tu ré-importe (il faut sans doute remettre à l'échelle). Contrairement aux images le DWF est "snapable", et j'ai vérifié il n'est pas accroché par la commande Etirer.. Pour importer un DWF il faut aller dans Insertion, ça marche comme une XRef mais ça s'appelle un "Calque sous-jacent" [Edité le 17/1/2011 par krunch]
Fraid Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 Tu as combien de RAM ? quel windows? quelle carte graphique? (l'a tu mise a jour) l'age d'un pc n'a rien a voir avec ses performances car nous travaillons presque tous avec des xrefs et n'avons pas ce probleme de ralentissementen cas de sélection de ces dernières (même volumineuse). tu n'a peut être pas besoins de voir tes hachures par exemple, si tu les gèles cela ira surement mieux essaye de ne faire apparaître ce que tu as besoin Quel est le poids de ces fameuses xref ? Et si tes toujours énervé ce n'est pas de notre fautenous essayons de t'aider et prenons sur notre temps pour résoudre ton problèmealors un p'tit merci de temps en temps ne ralentira pas ton tracteur tendrement ;) https://github.com/Fraiddd
bonuscad Posté(e) le 17 janvier 2011 Posté(e) le 17 janvier 2011 En effet avec le DWF c'est encore mieux et certainement plus fluide car ça reste du vectoriel. Je pense que trjNRV tiens sa solution. La démarche? Par exemple dans ton dessin ou un nouveau dessin, arrange toi pour n'avoir que tes XRefs de chargés et tu fais une sortie sur le périphérique DWF (si pas disponible rajoute le par le gestionnaire de tracé).Cela va te créer un DWF contenant tout tes XRefs Dans ton dessin origine tu Détache ou Décharge tout tes XRefs et à la place du attache ton DWF. krunch à raison les objets dans le DWF restent "snapables" (accroche objet) contrairement à une image (qui aurait pixélisée suivant le zoom), l'idéal quoi ! ;) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bryce Posté(e) le 19 janvier 2011 Posté(e) le 19 janvier 2011 Bonjour, Une autre possibilité éventuelle : mettre la variable HIGHLIGHT à 0 pour désactiver l'affichage en pointillés des objets sélectionnés et avoir de meilleures performances d'affichage. A noter que sur AutoCAD 2011 (peut-être aussi sur les versions précédentes, je ne me souviens plus), les objets appartenant à un calque verrouillé ne sont pas du tout inclus dans les sélections (pas mis en surbrillance/pointillés). Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
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