pierrevigneux Posté(e) le 14 janvier 2010 Posté(e) le 14 janvier 2010 Quelqu'un aurait-il créé ou en sa possession, un LISP pour insérer automatiquement un chaînage tout au long de la polyligne?Merci! Acadnadien
MarcoTic Posté(e) le 15 janvier 2010 Posté(e) le 15 janvier 2010 Bonjour,Je ne suis pas certain de bien comprendre le terme "Chaînage", mais s'il s'agit d'implanter régulièrement des objets le long d'une polyligne il y a les commandes "mesurer" et "diviser"A plus
chris_mtp Posté(e) le 15 janvier 2010 Posté(e) le 15 janvier 2010 Bonjour pierrevigneux Par chainage, tu veux dire quoi car chez moi, un chainage c'est l'action de chainer sur le terrain une distance d'un point A vers un point B.Si par chainage, tu veux dire coter une polyligne avec indiquer sur les côtés de la polylignes les longueurs des segments, oui il y aun lisp mais un peu de précision please ...... john
FormaBois Posté(e) le 15 janvier 2010 Posté(e) le 15 janvier 2010 Bonjour,CHAÏNAGE : armature métallique destinée à empécher l'écartement des murs d'une contruction. (petit larousse) Le chaînage fait le tour des murs de la construction normalement à la hauteur des lintaux (pas très sûr, n'étant pas du métier)Mais comme l'a dit MarcoTic les commandes MESURER et DIVISER devraient convenir.Si le chaînage est compliqué chacune de ces commandes a une option [bloc]@+ 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"
pierrevigneux Posté(e) le 15 janvier 2010 Auteur Posté(e) le 15 janvier 2010 Le chaînage, ce sont les côtes cumulatives :ex. tous les 20 mètres soit 0+000 @ 0+020 etc... le long de la ligne d'opération (polyligne) de ton axe routier Acadnadien
MarcoTic Posté(e) le 16 janvier 2010 Posté(e) le 16 janvier 2010 Alors, la commande mesurer option Bloc avec attribut pour le texte. Suivie d'une des commandes des outils Express pour les textes, (je ne me souviens plus du nom et j'ai pas totocad sous la main).Désolé pour l'imprécision de ce commentairea plus
pierrevigneux Posté(e) le 16 janvier 2010 Auteur Posté(e) le 16 janvier 2010 Je viens de m'appercevoir que dans Express, d'une commande que j'ai jamais utilisée, automatic text numbering. Mais je ne sais pas si ça peut fonctionner avec un block attribut? Acadnadien
(gile) Posté(e) le 16 janvier 2010 Posté(e) le 16 janvier 2010 Salut, Un truc comme ça ? Edité suite aux remarques de bonuscad EDIT 2 : graduations intermédiaires (defun c:chainage (/ *error* dist acdoc space incGrad incTxt mult cnt label height ss ins text ang dz ) (vl-load-com) (defun *error* (msg) (or (= msg "Fonction annulée") (princ (strcat "\nErreur: " msg)) ) (vla-EndUndoMark acdoc) (princ) ) (setq dist 0 acdoc (vla-get-ActiveDocument (vlax-get-acad-object)) space (if (= 1 (getvar 'cvport)) (vla-get-PaperSpace acdoc) (vla-get-ModelSpace acdoc) ) ) (while (not (or (and (setq label (getstring "\nEntrez la cote de départ : ")) (wcmatch label "*+*") (distof (vl-string-subst "." "+" label)) ) (and (= label "") (setq label "0+000")) ) ) (princ "\nLe format n'est pas valide.") ) (initget 7) (setq incTxt (getint "\nIntervalle des annotations: ")) (while (not (or (not (setq incGrad (getint (strcat "\nIntervalle des graduations (itoa incTxt) ">: " ) ) ) ) (and incGrad (zerop (rem incTxt incGrad))) ) ) (princ (strcat "\nLa valeur doit être un diviseur de " (itoa incTxt))) ) (or incGrad (setq incGrad incTxt)) (setq mult (/ incTxt incGrad) cnt mult ) (initget 6) (setq height (cond ((getdist (strcat "\nHauteur de texte: : ") ) ) ((getvar 'textsize)) ) ) (if (ssget "_:S" '((0 . "*POLYLINE") (-4 . " (-4 . "&") (70 . 120) (-4 . "NOT>") ) ) (progn (vla-StartUndoMark acdoc) (vlax-for curve (setq ss (vla-get-ActiveSelectionSet acdoc)) (while (setq ins (vlax-curve-getPointAtDist curve dist)) (setq ang (angle '(0. 0. 0.) (vlax-curve-getfirstDeriv curve (vlax-curve-getParamAtPoint curve ins) ) ) ) (vla-AddLine space (vlax-3d-point (polar ins (+ ang (/ pi 2)) (/ height 2.))) (vlax-3d-point (polar ins (- ang (/ pi 2)) (/ height 2.))) ) (if (= cnt mult) (progn (setq text (vla-addText space label (vlax-3d-point '(0. 0. 0.)) height ) dz (getvar 'dimzin) ) (vla-put-Alignment text acAlignmentBottomCenter) (if (minusp (cos ang)) (setq ang (+ ang pi)) ) (vla-put-Rotation text ang) (vla-put-TextAlignmentPoint text (vlax-3d-point (polar ins (+ ang (/ pi 2)) height)) ) (setvar 'dimzin 1) (setq label (vl-string-subst "+" "." (rtos (+ (/ incTxt 1000.) (atof (vl-string-subst "." "+" label)) ) 2 3 ) ) cnt 0 ) (setvar 'dimzin dz) ) ) (setq dist (+ dist incGrad) cnt (1+ cnt) ) ) ) (vla-delete ss) (vla-EndUndoMark acdoc) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
FormaBois Posté(e) le 16 janvier 2010 Posté(e) le 16 janvier 2010 Salut, Un truc comme ça ?Fonctionne nickel et à grande vitesse en plusJe suis toujours impressionnéje pense que notre ami pierrevigneux sera ravi 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"
lili2006 Posté(e) le 16 janvier 2010 Posté(e) le 16 janvier 2010 Bonsoir à toutes et tous, Peut être rudement pratique aussi,... :D Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
pierrevigneux Posté(e) le 16 janvier 2010 Auteur Posté(e) le 16 janvier 2010 Merci Gile! J'ai copié ton fichier dans l'éditeur lips. j'ai lancé la commande chainage et cela m'indique unknown command.je ne suis pas un expert d'autolisp, J,utilise AutoCAD vers. 2004. Acadnadien
bonuscad Posté(e) le 16 janvier 2010 Posté(e) le 16 janvier 2010 Le chaînage, ce sont les côtes cumulatives :ex. tous les 20 mètres soit 0+000 @ 0+020 etc... le long de la ligne d'opération (polyligne) de ton axe routier La notation de pierrevigneux qu'il tente d'expliquer, me fait penser à la notation des PR (Points Routiers) autrefois nommés PK (Point Kilomètrique).Je pense que cela a été changé à cause du mot Kilomètrique qui fait référence à une mesure.Hors il se révèle dans le temps que ces inter-distances entres PR n'ont plus rien à voir avec le Kilomètre: déviation, rectifications de tracé. Les points routiers d'extrémités de projet ne bougent pas, donc normalement la longueur de l'axe ne sert à rien pour la distribution de ceux-ci. Donc moi, j'aurais plutôt utilisé divisé.... D'autres part 12+253 représente 12 Kilomètres + 253 mètres (gile) n'a pas interprété comme il faut cette notation dans son code, (normalement l'unité de référence utilisé dans AutoCad est le mètre pour le domaine routier). J'espère avoir apporté des précisions à la questions. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
pierrevigneux Posté(e) le 16 janvier 2010 Auteur Posté(e) le 16 janvier 2010 Merci Bonuscad!Oui effectivement ta définition du chainage cumulatif, que tu as décrite est exacte.Auparavant j'utilisait la commande measure ,pour y introduire un block et par la suite l'exploser et le chager un par un à chaque chainage ex: 100 mètres manuellement, C'est pourquoi j'aurais aimé pouvoir le faire automatiquement. Acadnadien
bonuscad Posté(e) le 16 janvier 2010 Posté(e) le 16 janvier 2010 Re, Tu peux regarder la Réponse 9 Bien que cela concerne les Xdata, cette réponse montrait une utilisation pour mettre en place des PR.Tu n'as pas besoin d'une telle application, mais je te laisse juge.Je pense que (giles) peut corriger son code assez facilement pour ton besoin, au pire je pourrais aussi essayer de faire les modifs de son code. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 16 janvier 2010 Posté(e) le 16 janvier 2010 Salut, J'ai corrigé le code le format est maintenant 1+050 pour 1.050 km (avec 1 unité de dessin = 1 m) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
pierrevigneux Posté(e) le 17 janvier 2010 Auteur Posté(e) le 17 janvier 2010 Salut, J'ai corrigé le code le format est maintenant 1+050 pour 1.050 km (avec 1 unité de dessin = 1 m) Avec cette correction crois-tu que ça pourrais marcherJ'ai toujours un erreur sur la commande; error: bad argument type: numberp: #si cela porrais t'aider à résoudre le problème? [Edité le 17/1/2010 par pierrevigneux] Acadnadien
(gile) Posté(e) le 17 janvier 2010 Posté(e) le 17 janvier 2010 Salut, Je n'ai pas eu ce type d'erreur avec aucune des versions postées. Est tu sûr d'avoir bien copié/collé tout le code ? Je viens de refaire un essai, ça fonctionne. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Chanoine Posté(e) le 17 janvier 2010 Posté(e) le 17 janvier 2010 Bonjour,je pense qu'il te manque une parenthèse, d'où le fait que ça marche pas chez toi...Sur 2008 ca marche.
pierrevigneux Posté(e) le 17 janvier 2010 Auteur Posté(e) le 17 janvier 2010 Bonjour,je pense qu'il te manque une parenthèse, d'où le fait que ça marche pas chez toi...Sur 2008 ca marche. Bonjour j'ai recopié tout et miracle ça marche, chapeau c'est exactement ce que je cherchais, je ne sais pas comment te remercier.Tu m'épateSincèrement Acadnadien
pierrevigneux Posté(e) le 17 janvier 2010 Auteur Posté(e) le 17 janvier 2010 Mon cher GilePetite compication,Supposons que à la commande, on demande de dessiner les côtes principales au P.k. 0+100 c.a.d. tous les 100 mètes et que dans dans les intervales intermédiaires on dessine seulement les petites barres tous les 20 mètres.Est-ce possible? Acadnadien
(gile) Posté(e) le 17 janvier 2010 Posté(e) le 17 janvier 2010 J'ai modifié le LISP en conséquence : Commande: CHAINAGE Entrez la cote de départ : 5+600 Intervalle des annotations: 100 Intervalle des graduations : 20 Hauteur de texte: : 5 Choix des objets: Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
pierrevigneux Posté(e) le 18 janvier 2010 Auteur Posté(e) le 18 janvier 2010 Mon cher Gile tu est mon idoleÇa fontionne à merveille, je te remercie encore une fois"+ Acadnadien
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