brunomu Posté(e) le 7 février 2011 Posté(e) le 7 février 2011 Bonjour Forum ! Il m’arrive de vouloir bouger une ligne de cotes toute entière, sans avoir à sélectionner chaque cote. ArchiCad fait ça très bien, mais, à ma connaissance, pas AutoCad. Alors je me dis que peut-être un crack du LISP saurait écrire une routine qui sélectionne une ligne de cote entière du moment qu’on a cliqué sur une des cotes (je ne saurais pas le faire moi-même) ? Ça rendrait sûrement service à plein de gens. Avis aux bonnes volontés ! Merci.
bryce Posté(e) le 7 février 2011 Posté(e) le 7 février 2011 Bonjour, Ça peut se faire avec la commande étirer. ;) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
Fraid Posté(e) le 7 février 2011 Posté(e) le 7 février 2011 Bonjour, si tu veux la déplacerclic sur une poignée et tape une fois sur barre espace https://github.com/Fraiddd
brunomu Posté(e) le 7 février 2011 Auteur Posté(e) le 7 février 2011 Oui, mais avec étirer, on sélectionne toujours des tas de trucs auxquels on ne veut pas toucher, et qu'il faut alors déselectionner, etc... Pas super-pratique quand les plans sont très chargés...
FormaBois Posté(e) le 7 février 2011 Posté(e) le 7 février 2011 Salut,...et avec les contraintes dimensionnelles !? Studio Gfilm - Agence de communication par l'image "Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"
brunomu Posté(e) le 7 février 2011 Auteur Posté(e) le 7 février 2011 Merci pour vos réponses. @ Fraid : en fait je veux déplacer non pas une cote mais une ligne de cotes d'un coup. A moins que ta manip le permette, mais alors je n'ai pas réussi. @ Formabois : je n'utilise pas les contraintes dimensionnelles...
FormaBois Posté(e) le 7 février 2011 Posté(e) le 7 février 2011 Alors excuse... mais je n'ai pas compris ta demande- Veux-tu repositionner la ligne de cote ?- Modifier la ligne de cote avec ses 2 lignes d'attache ?- Modifier les dimensions de l'objet ?- Déplacer plusieurs lignes de cote en même temps ?Peux-tu préciser un peu ... Studio Gfilm - Agence de communication par l'image "Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"
bryce Posté(e) le 7 février 2011 Posté(e) le 7 février 2011 Ce que gloub appelle une ligne de cotes,c'est (si j'ai bien compris) une chaîne de plusieurs cotes, comme les cotes créées avec la cotation continue.Il voudrait pouvoir bouger plusieurs lignes de cotes en les gardant alignées entre elles, comme ceci : Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
brunomu Posté(e) le 8 février 2011 Auteur Posté(e) le 8 février 2011 Merci Bryce, c'est exactement ça : cliquer sur une cote et obtenir la possibilité de déplacer toutes les cotes "colinéaires", à sa droite et à sa gauche.L'idée est de ne pas avoir à saisir ces cotes par une fenêtre, comme sur la vidéo, pour éviter d'avoir à déselectionner les entités qu'on ne souhaite pas déplacer. J'espère m'être mieux expliqué ce coup-ci.
brunomu Posté(e) le 14 février 2011 Auteur Posté(e) le 14 février 2011 ...hum hum : pas de réponses ? Je résume ma question : je rêve d'un LISP qui permette, en cliquant sur une cote, de sélectionner toutes les cotes qui la prolongent à gauche et à droite (ou en haut et en bas si la cote est verticale). Mais je ne sais pas l'écrire. Donc si un crack en LISP pouvait m'aider, ce serait cool ! Merci !
bryce Posté(e) le 14 février 2011 Posté(e) le 14 février 2011 Bonjour, j'avais fait ça vite fait, pas encore eu le temps de le perfectionner : (defun c:ds(/ ent1 ent2 pt1 pt2 pt3 pt4 ucmdecho uosnapcoord) (command "._undo" "_group") (setq ucmdecho (getvar "cmdecho")) (setvar "cmdecho" 0) (setq uosnapcoord (getvar "osnapcoord")) (setvar "osnapcoord" 1) (while (not (and (setq ent1 (entsel "\nChoisissez la première cote de la chaîne :" ) ) (eq "DIMENSION" (cdr (assoc 0 (setq ent1 (entget (car ent1))) ) ) ) );and );not (princ "\nL'objet sélectionné n'est pas une cote !") );while (while (not (and (setq ent2 (entsel "\nChoisissez la dernière cote de la chaîne :" ) ) (eq "DIMENSION" (cdr (assoc 0 (setq ent2 (entget (car ent2))) ) ) ) );and );not (princ "\nL'objet sélectionné n'est pas une cote !") );while (setq pt1 (cdr (assoc 10 ent1))) (setq pt2 (cdr (assoc 10 ent2))) (setq pt1 (trans (polar pt1 (+ (angle pt1 pt2) PI (/ PI 4)) 0.1) 0 1) ) (setq pt2 (trans (polar pt2 (- (angle pt1 pt2) (/ PI 4)) 0.1) 0 1) ) (setq pt3 (polar pt1 (+ (angle pt1 pt2) (/ PI 2)) 0.2) ) (setq pt4 (polar pt2 (+ (angle pt1 pt2) (/ PI 2)) 0.2) ) (command "_.stretch" (ssget "_cp" (list pt1 pt2 pt4 pt3) '( (0 . "DIMENSION") (-4 . "")) ) "" pt1 pause) (setvar "osnapcoord" uosnapcoord) (command "._undo" "_end") (setvar "cmdecho" ucmdecho) (princ) );defun La commande à taper est DS.Il faut cliquer sur 2 cotes : la première et la dernière de la chaîne à déplacer, puis cliquer un point pour la nouvelle position. La commande ne prend en compte que les cotes linéaires et alignées. [Edité le 14/2/2011 par bryce] Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
brunomu Posté(e) le 14 février 2011 Auteur Posté(e) le 14 février 2011 Merci Bryce ! Ta routine marche bien, mais elle beugue (bugue ? bug ?) sur les cotes associatives. Y a-t-il moyen de les désassocier avant de les déplacer ?(je sais que certains se diront : à quoi bon utiliser des cotes associatives si c'est pour les désassocier, et ils n'auront pas tort. Mais en fait l'associativité ne me sert pas. Quand je modifie des entités cotées, c'est dans 90% des cas par ETIRER,) Deux autres questions/remarques : – je cherche avant tout un mode de sélection d'un ensemble de cotes. Pour ce qui est de les déplacer, la commande DEPLACER me va bien, parce qu'elle permet de tâtonner, donc la 2ème partie de ta routine (celle où on spécifie la nouvelle position des cotes) ne me rend pas spécialement service. D'autant qu'une fois exécutée, on ne peut pas récupérer le jeu de sélection pour la commande DEPLACER, par exemple. – pour simplifier la manip, ta routine pourrait-elle sélectionner toutes les cotes colinéaires plutôt que les 2 cotes extrêmes ? (notamment parce qu'il m'arrive d'effacer les cotes des cloisons par exemple, ce qui interrompt la continuité de cotes à la queue-leu-leu entre les 2 cotes extrêmes). J'espère avoir été clair et que ça ne demande pas trop de boulot. En tous cas, ça devrait rendre service à tous les pôv architectes qui galèrent pour finaliser leurs plans. Merci !!!
bryce Posté(e) le 14 février 2011 Posté(e) le 14 février 2011 Qu'est-ce que tu appelles des cotes associatives exactement ?C'est quoi le bug que tu rencontres ?Parce que toutes les cotes sur lesquelles j'ai testé étaient associatives (DIMASSOC = 2)... :casstet: Pour ce qui est de déplacer les cotes, je ne vois pas vraiment l'intérêt. C'est même plutôt "cracra" comme manip à mon avis... :P Si c'est pour ce que je pense, ce serait mieux de cocher "Lignes d'attache de longueur fixe" dans l'onglet Lignes du style de cote, et d'utiliser Étirer plutôt que Déplacer. ;)Cela dit, si tu y tiens absolument je peux modifier le lisp pour qu'il déplace les cotes. En attendant, j'ai modifié le lisp pour que le repositionnement des cotes se fasse en temps réel (plutôt que de cliquer la nouvelle position et de voir le résultat ensuite). Pour la sélection de toutes les cotes linéaires, c'est une amélioration que je voudrais apporter, mais pour l'instant je ne sais pas encore comment je pourrais faire, et je n'ai pas encore eu le temps de me pencher dessus... Edit: D'autant qu'une fois exécutée, on ne peut pas récupérer le jeu de sélection pour la commande DEPLACER, par exemple.Après avoir utilisé la routine, tu peux utiliser la commande Déplacer et répondre P à l'invite Choix des objets... ;) [Edité le 14/2/2011 par bryce] [Edité le 14/2/2011 par bryce] Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
brunomu Posté(e) le 15 février 2011 Auteur Posté(e) le 15 février 2011 Après revérification, voilà ce qui se passe :– quand je lance la routine, les cotes se déplacent bien. En revanche la longueur de certaines se modifie (elles s'allongent, voire se déplacent parallèlement à la ligne de cotes) ?!– les cotes sur lesquelles j'ai agi ne sont pas associatives (c'est le comportement ci-dessus qui m'avait fait penser qu'elles l'étaient)Je peux envoyer un fichier si tu veux. Quant au déplacement des cotes, je sais bien que ce n'est pas très pur, mais quand un plan évolue et s'enrichit, on est souvent amené à le faire.Quand le plan devient très chargé, la commande ETIRER devient fastidieuse car il faut sélectionner puis déselectionner avant de déplacer. Quant à la récupération du jeu de sélection précédent : mea culpa, j'avais dû mal vérifier.Cela dit, j'ai essayé sur un plan : seules les cotes horizontales sélectionnées se déplacent, mais le jeu de sélection contient aussi les cotes verticales qui intersectent les horizontales. Merci pour ton aide anyway... !
bryce Posté(e) le 15 février 2011 Posté(e) le 15 février 2011 Si tu peux envoyer un fichier ce serait intéressant, j'aimerais bien voir les problèmes dont tu parles. pour simplifier la manip, ta routine pourrait-elle sélectionner toutes les cotes colinéaires plutôt que les 2 cotes extrêmes ? (notamment parce qu'il m'arrive d'effacer les cotes des cloisons par exemple, ce qui interrompt la continuité de cotes à la queue-leu-leu entre les 2 cotes extrêmes).Il peut y avoir un "trou" entre la première cote sélectionnée et la 2e, ça doit marcher quand même. ;) [Edité le 15/2/2011 par bryce] Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
brunomu Posté(e) le 16 février 2011 Auteur Posté(e) le 16 février 2011 ...euh : comment on joint un fichier sur le forum ?
bryce Posté(e) le 16 février 2011 Posté(e) le 16 février 2011 Tu peux héberger le fichier sur http://dl.free.fr ou http://file.ahst.fr/ par exemple, et coller le lien ici. ;) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
Patrick_35 Posté(e) le 16 février 2011 Posté(e) le 16 février 2011 Tu peux héberger le fichier sur http://dl.free.fr ou http://file.ahst.fr/ par exemple, et coller le lien ici. ;) Salut Je pense que tu peux intégrer tes liens dans ta signature ;) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
brunomu Posté(e) le 16 février 2011 Auteur Posté(e) le 16 février 2011 Et voilà : http://dl.free.fr/piG19IMYP (j'ai dû le ziper pour que ça marche)
bryce Posté(e) le 16 février 2011 Posté(e) le 16 février 2011 Ok, je vois le souci...Les cotes se comportent bizarrement sur ton dessin parce que les lignes d'attache ont une longueur nulle.Les points de définition des cotes (extrémités des lignes d'attaches) sont confondus avec les extrémités des lignes de cotes. Comme le lisp fait un polygone de capture, il attrape les points de définition des cotes... Il y a sans doute un moyen bien plus élégant de faire, mais mon niveau en lisp n'est pas suffisant pour le moment. :( Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
brunomu Posté(e) le 17 février 2011 Auteur Posté(e) le 17 février 2011 Mon niveau étant encore bien inférieur, je n'irai pas plus loin tout seul. Merci pour ton aide en tous cas.
pierrevigneux Posté(e) le 28 février 2011 Posté(e) le 28 février 2011 Bonjour gloub J'ai vu ton dessin, je pense que tu devrais changer ton style de cotes.Tu as un style fixe et les cotes ne bougent pas. Amicalement Acadnadien
brunomu Posté(e) le 3 mars 2011 Auteur Posté(e) le 3 mars 2011 Merci pour ta réponse. Mon style de cotes s'appelle "COT-FIX" parce que les lignes d'attache ont une longueur réglée une fois pour toutes, mais les cotes bougent (aussi bien leur position que leur longueur, donc la valeur numérique qui s'affiche)...... ou alors je ne comprends pas ta remarque.
brunomu Posté(e) le 28 mars 2011 Auteur Posté(e) le 28 mars 2011 Bonjour Forum ! Je relance ce sujet qui est en panne : je voudrais, en cliquant sur une cote, sélectionner toutes les cotes qui lui sont colinéaires (que ces cotes soient à touche-touche ou séparées par un vide, comme, par exemple, de part et d’autre d’une cloison non cotée). Problème : je ne sais pas écrire ce LISP. Help !
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