bono05 Posté(e) le 6 février 2009 Posté(e) le 6 février 2009 Bonjour, je coince !! Est-ce possible d'allonger un seul coté d'une cote alignée tout en gardant son angle d'origine? Actuellement si j'allonge un coté...ben forcement mon angle change.Même si je sais que c'est le principe de cette commande je me demandais si il y avait un truc? Merci. :D [Edité le 6/2/2009 par bono05]
Tramber Posté(e) le 6 février 2009 Posté(e) le 6 février 2009 Pas compris. A savoir quand même : on peut utiliser les outils AJUSTER et PROLONGER sur des cotations. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bono05 Posté(e) le 6 février 2009 Auteur Posté(e) le 6 février 2009 je pense qu'un petit dessin sera plus claire, je l'avoue... Petit détail: les côtes sont déjà dessiner sur le plan. Si je veux "tirer" la ligne de gauche d'une cote alignée, la cote tourne sur elle même et même si c'est bien le but de cette côte je voudrais quand même pouvoir le faire. y a t'il une solution? http://img3.imageshack.us/img3/9673/cotevc2.th.jpg http://imageshack.us/img/butansn.png Quickpost this image to Myspace, Digg, Facebook, and others![Edité le 6/2/2009 par bono05] [Edité le 6/2/2009 par bono05]
yw22 Posté(e) le 6 février 2009 Posté(e) le 6 février 2009 Salut bono05, Lorsque la cote est réalisée, il suffit de cliquer sur la ligne de cote gauche pour obtenir les grips, puis cliquer sur le carré bleu du bas et le glisser sur le coin de la forme de gauche. Cordialement. yw22 [Edité le 6/2/2009 par yw22]
bono05 Posté(e) le 6 février 2009 Auteur Posté(e) le 6 février 2009 Mais le problème c'est que ma cote fait une rotation en même temps que je rallonge ma ligne?!Ce qu'il n'y a pas avec une cote lineaire... Donc je suis toujours bloqué... :(
yw22 Posté(e) le 6 février 2009 Posté(e) le 6 février 2009 re Avec la cotation non-associative cela fonctionne, mais ce n'est peut-être pas ce que tu cherches. Salutations. yw22
lili2006 Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 Bonjour à toutes et tous, A part décomposer la cote (à éviter !!), je ne vois pas,.... PS: Si tu veux avoir ton image sous ce format sur le forum, sélectionne alors l'adresse "FORUM" depuis le site "http://img3.imageshack.us/my.php?image=cotevc2.jpg ", ce qui donne => http://img3.imageshack.us/img3/9673/cotevc2.jpghttp://img3.imageshack.us/img3/cotevc2.jpg/1/w564.png Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 Salut, Une solution serait de remplacer la cote alignée par une cote pivotée après avoir orient le SCU suivant les points d'attache de la cote alignée.C'est ce que fait le LISP ci-dessous (defun c:al2li (/ al elst p1 p2 ang osm) (if (and (setq al (car (entsel "\nSélectionnez une cote alignée: "))) (setq elst (entget al)) (= "DIMENSION" (cdr (assoc 0 elst))) (member '(100 . "AcDbAlignedDimension") elst) (= 1 (logand 1 (cdr (assoc 70 elst)))) ) (progn (setq p1 (cdr (assoc 13 elst)) p2 (cdr (assoc 14 elst)) ang (angle p1 p2) osm (getvar 'osmode) ) (and (minusp (cos ang)) (setq ang (+ ang pi))) (setvar 'osmode 0) (command "_.ucs" '(0 0 0) (polar '(0 0 0) ang 1) "") (command "_.dimlinear" (trans p1 0 1) (trans p2 0 1) (trans (cdr (assoc 11 elst)) al 1) ) (command "_.ucs" "_p") (setvar 'osmode osm) (entdel al) ) (princ "\nL'objet sélectionné n'est pas une cote alignée") ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 Un LISP un peu plus "propre" : sans toucher au SCU (defun c:al2li (/ al elst) (if (setq al (car (entsel "\nSélectionnez une cote alignée: "))) (or (aligned2linear al) (princ "\nEntité non valide")) ) (princ) ) ;;; Aligned2Linear (gile) ;;; Transforme une cote alignée en une cote linéaire pivoté avec la même orientation ;;; ;;; Argument : une cote alignée (ENAME) ;;; ;;; Retour : ENAME de la cote pivotée ou nil si la transformation a échoué (defun Aligned2Linear (dim / elst p1 p2 ang result) (if (and (setq elst (entget dim)) (= "DIMENSION" (cdr (assoc 0 elst))) (member '(100 . "AcDbAlignedDimension") elst) (= 1 (logand 1 (cdr (assoc 70 elst)))) ) (progn (setq elst (entget dim) p1 (cdr (assoc 13 elst)) p2 (cdr (assoc 14 elst)) ang (angle p1 p2) ) (and (minusp (cos ang)) (setq ang (+ ang pi))) (if (setq result (entmakex (append (subst '(70 . 32) (assoc 70 elst) (subst (cons 50 ang) (assoc 50 elst) (subst (cons 51 (- (* 2 pi) ang)) (assoc 51 elst) (vl-remove-if '(lambda (x) (member (car x) '(-1 5 2 102 360 330)) ) elst ) ) ) ) (list '(100 . "AcDbRotatedDimension")) ) ) ) (entdel dim) ) ) ) result ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 Re, Une idée : Tu cotes d'abord ton premier rectangle et ensuite tu prend la cotation continue => Voici le résultat => 800x500http://images4.hiboox.com/images/0609/e7c47b4701f3695dff78731a12ac858d.jpg[/img] Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 rere, (gile) , comment fonctionne "al2li" ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 Re, Tiens, à priori, l'option "gras" ne fonctionne plus non plus,.... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 >>Tiens, à priori, l'option "gras" ne fonctionne plus non plus,.... Le webmaster est en train d'essayer de résoudre les problèmes de formatage des codes, ceci doit expliquer cela. >>comment fonctionne "al2li" ? comme dit plus haut, le premier LISP (niveau "Débuter en LISP") :- récupère l'angle de la cote alignée- crée un nouveau SCU suivant cette orientation- crée une cote pivotée sur les points de la cote alignée- supprime la cote alignée- restaure le SCU précédent Le second LISP (niveau "Pour aller plus loin en LISP") aboutit au même résultat au même résultat sans utiliser de commandes, en modifiant directement la base de donnée. La cote pivotée peut ensuite être sélectionnée pour déplacer ses points d'attache, elle conservera son orientation. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 Re, Ok (gile), Je n'avais pas compris qu'il fallait "tirer" la ligne d'attache,... Merci. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 C'est la demande de bono05, non ?... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 7 février 2009 Posté(e) le 7 février 2009 Rere, Oui oui, c'est juste moi qui n'avais pas compris,... Désolé, ;) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
bono05 Posté(e) le 9 février 2009 Auteur Posté(e) le 9 février 2009 Vous travailler même le week-end !! Tant mieux pour nous... ;) Alors j'ai testé le lisp de Gile et...(une fois de plus) SUPER !!Mais si je pouvais profiter de votre bonté, je me demandais si il serait possible d'y ajouter une option de selection multiple? car je pense qu"actuellement c'est cote par cote. Par exemple si je selectionne d'abord les cotes qui concerne le changement et ensuite je lancerai le lisp...lequel prendrai en charge les cotes selectionner précedement. A moins que tu as une autre idée... :P
(gile) Posté(e) le 9 février 2009 Posté(e) le 9 février 2009 Salut, (defun c:al2li_m (/ ss n) (and (princ "\nSélectionnez les cotes à modifier.") (setq ss (ssget '((0 . "DIMENSION")))) (repeat (setq n (sslength ss)) (Aligned2Linear (ssname ss (setq n (1- n)))) ) ) (princ) ) ;;; Aligned2Linear (gile) ;;; Transforme une cote alignée en une cote linéaire pivoté avec la même orientation ;;; ;;; Argument : une cote alignée (ENAME) ;;; ;;; Retour : ENAME de la cote pivotée ou nil si la transformation a échoué (defun Aligned2Linear (dim / elst p1 p2 ang result) (if (and (setq elst (entget dim)) (= "DIMENSION" (cdr (assoc 0 elst))) (member '(100 . "AcDbAlignedDimension") elst) (= 1 (logand 1 (cdr (assoc 70 elst)))) ) (progn (setq elst (entget dim) p1 (cdr (assoc 13 elst)) p2 (cdr (assoc 14 elst)) ang (angle p1 p2) ) (and (minusp (cos ang)) (setq ang (+ ang pi))) (if (setq result (entmakex (append (subst '(70 . 32) (assoc 70 elst) (subst (cons 50 ang) (assoc 50 elst) (subst (cons 51 (- (* 2 pi) ang)) (assoc 51 elst) (vl-remove-if '(lambda (x) (member (car x) '(-1 5 2 102 360 330)) ) elst ) ) ) ) (list '(100 . "AcDbRotatedDimension")) ) ) ) (entdel dim) ) ) ) result ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bono05 Posté(e) le 9 février 2009 Auteur Posté(e) le 9 février 2009 C'est génial...MERCI GILE !!! J'ai pourtant affiché les deux lisp pour voir la différence et....C'est du grand chinois pour moi.tu es donc un pro. :D
(gile) Posté(e) le 9 février 2009 Posté(e) le 9 février 2009 Seule la fonction d'appel diffère.Les 2 LISP utilisent la même fonction Aligned2Linear qui crée une cote pivotée à la place d'une cote alignée.al2li fait sélectionner une seule cote à l'utilisateur et applique la fonction Aligned2Linear à cette cote.al2li_m utilise un jeu de sélection et applique Aligned2Linear à chacune des cotes du jeu de sélection. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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