fabcad Posté(e) le 11 février 2013 Posté(e) le 11 février 2013 Bonsoir à tous, Ayant cherché de façon infructueuse sur G., je souhaiterais une sous-routine pour créer une zone tampon ou buffer d'une polyligne non fermée.Et par la suite l'integrer à une une boucle pour traiter plusieurs polylignes non fermées. (buffer_pline ename dist) ename étant le nom AutoCAD de la polyligne et dist la distance de décalage. D'avance merci, Fabcad le Rennais Métropolitain
alala Posté(e) le 11 février 2013 Posté(e) le 11 février 2013 Bonsoir, Il y a bien les zones tampon dans MAP! http://docs.autodesk.com/MAP/2013/FRA/index.html?url=filesMAPUSE/GUID-2F9E4CD6-BDB4-4B5F-B091-272D61386EA9.htm,topicNumber=MAPUSEd30e218153 Et sans MAP il doit exister des LISP du moins je vois bien un mélange de ceux la :http://www.lee-mac.com/advpolyoutline.htmlet sur cette page pour faire une largeur constante.http://www.lee-mac.com/polylineprograms.html C'est en forgeant que l'on devient forgerons.Et c'est en sciant que Léonard DeVinci!
fabcad Posté(e) le 12 février 2013 Auteur Posté(e) le 12 février 2013 Bonjour, Il y a bien les zones tampon dans MAP!http://docs.autodesk...APUSEd30e218153 Cela ne fonctionne qu'avec les objets FDO et nous actuellement sur la version 2007 de MAP. Cette sous-routine me permettrait d'enrichir ma fonction de génération de liens sur linéaires. A+
fabcad Posté(e) le 12 février 2013 Auteur Posté(e) le 12 février 2013 Bonjour à tous, Voici la première version de ma routine Buffer mais qui n'est pas "élégante" par l'utilisation d'un command avec la fonction Joindre. Si vous avez des idées pour la rendre plus Lisp, cela m'aiderai beaucoup. D'avance merci, Fabcad le Rennais MétropolitainBuffer.lsp
lecrabe Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Hello Avec un AutoCAD MAP (ou CIVIL), on peut faire des Buffers sur du DWG avec de la Topologie DWG (Donc MAP ou CIVIL) Et toujours un AutoCAD MAP (ou CIVIL), on peut faire des Buffers en FDO sur des couches FDO (Donc MAP ou CIVIL) lecrabe Autodesk Expert Elite Team
fabcad Posté(e) le 12 février 2013 Auteur Posté(e) le 12 février 2013 Hello Avec un AutoCAD MAP (ou CIVIL), on peut faire des Buffers sur du DWG avec de la Topologie DWG (Donc MAP ou CIVIL) Et toujours un AutoCAD MAP (ou CIVIL), on peut faire des Buffers en FDO sur des couches FDO (Donc MAP ou CIVIL) lecrabe Merci lecrabe, Mais je ne pense pas créer en lisp une topologie temporaire par linéaire juste pour créer un polygone qui reçoit les Données d'Objets et qui est supprimé ensuite après la copie de ces données dans le linéaire. Fabcad le Rennais Métropolitain
lecrabe Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Hello En resume vous voulez une jolie routine Lisp qui construit une zone tampon sur des polylignes ... Mais j'ai la routine en stock depuis longtemps ! Savez vous qui a ecrit cette magnifique Routine ?? Le 1er qui me donne l'auteur (UNE seule reponse autorisee), aura droit a la routine !? lecrabe Autodesk Expert Elite Team
alala Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Toujours avec map tu peu faire une requete sur une zone buffer d'un objet (polyligne). Maintenant tu peu également pense à faire l'inverse en lisp et calculer la longueur entre tes objet et ta polyligne et ne sélectionner que ceux qui sont donc une zone précise. Tu peu également rendre ta polyligne épaise, récupérer une surface de cette polyligne éppaise et ensuite utiliser les outils de MAP pour générer des liens entre les objets dans ces zones et la zone.De ces liens tu pourra ensuite copier les OD dans la polyligne d'origine. C'est en forgeant que l'on devient forgerons.Et c'est en sciant que Léonard DeVinci!
fabcad Posté(e) le 12 février 2013 Auteur Posté(e) le 12 février 2013 Cher Lecrabe, Tu as tellement demandé de routines qu'un disque d'1 to ne doit pas suffire. J'aime les quizz : Gile , Patrick_35 , Bonuscad. Sans rire, je te passe la mienne de génération de liens sur Georezo. A+ Fabcad le Rennais Métropolitain
bonuscad Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Salut fabcad, Une variante de ta routine, écrite simplement (pas fais de test approfondi avec des SCU particuliers) (vl-load-com) (defun l-coor2l-pt (lst flag / ) (if lst (cons (list (car lst) (cadr lst) (if flag (+ (if (vlax-property-available-p ename 'Elevation) (vlax-get ename 'Elevation) 0.0) (caddr lst)) (if (vlax-property-available-p ename 'Elevation) (vlax-get ename 'Elevation) 0.0) ) ) (l-coor2l-pt (if flag (cdddr lst) (cddr lst)) flag) ) ) ) (defun c:buffer ( / js AcDoc Space ent vla_obj e_width ename l_pt) (princ "\nSélectionner la polyligne à bufferiser") (while (not (setq js (ssget "_+.:E:S" (list (cons 0 "*POLYLINE") (cons 67 (if (eq (getvar "CVPORT") 2) 0 1)) (cons 410 (if (eq (getvar "CVPORT") 2) "Model" (getvar "CTAB"))) (cons -4 "<NOT") (cons -4 "&") (cons 70 113) (cons -4 "NOT>") ) ) ) ) ) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (eq (getvar "CVPORT") 1) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ent (ssname js 0) vla_obj (vlax-ename->vla-object ent) ) (initget 7) (setq e_width (getdist "\nLargeur de la zone tampon: ")) (vla-Offset vla_obj (* 0.5 e_width)) (setq ename (vlax-ename->vla-object (entlast)) l_pt (l-coor2l-pt (vlax-get ename 'Coordinates) nil) ) (entdel (entlast)) (vla-Offset vla_obj (- (* 0.5 e_width))) (setq ename (vlax-ename->vla-object (entlast)) l_pt (append (reverse (l-coor2l-pt (vlax-get ename 'Coordinates) nil)) l_pt) ) (entdel (entlast)) (setq nw_pl (vlax-invoke Space 'AddLightWeightPolyline (apply 'append (mapcar 'list (mapcar 'car l_pt) (mapcar 'cadr l_pt))))) (vla-put-Closed nw_pl 1) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
fabcad Posté(e) le 12 février 2013 Auteur Posté(e) le 12 février 2013 Merci Bonuscad pour ta contribution. C'est mieux car je sentais faire du "bricolage" avec ma ligne et joindre. Je vais tester cela aussi. A+
lecrabe Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Hello Fabcad et Tous Bravo Fab - Tout d'abord un GRAND Merci a Gilles ! qui avait developpe une fabuleuse routine depuis mon CDC/CCTP ... Vous trouverez ci-joint la routine CorridorVeryNew.lsp et un joli DWG exemple d'utilisation et surtout de resultats ! Numerotation des Boites Buffers, Coloriage des Boites Buffers, etc ... Cette routine est valide sur AutoCAD 2009-2013 Pour Gilles : SVP serait il possible dans un moment de folle generosite d'avoir un demi-cercle 180 degres sur la boite de depart et sur la boite d'arrivee avec la question de parametrage correspondante ... Valeur par defaut : Demi-Cercle et non pas trait droit ! Milles Mercis a Gilles pour sa contribution, lecrabe - CorridorVeryNew_par_GC.zip Autodesk Expert Elite Team
VDH-Bruno Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Bonjour à tous, Juste pour ma culture personnel (n’étant pas du tout de la partie), qu’appelez-vous un buffer ou une zone tampon, à quoi cela sert-il ou plutôt que cherche t’on a obtenir.. Voilà si une bonne âme voulait bien m’éclairer, je lui en serais gré, merci. Cordialement, Apprendre => Prendre => Rendre
lecrabe Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Hello SVP tu regardes le DWG joins ... C'est en fait l'emprise de N metres de chaque cote d'une polyligne qui serait par exemple une canalisation (ou une servitude/prescription lineaire) ... lecrabe Autodesk Expert Elite Team
VDH-Bruno Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Ok, je ne connaissais pas le terme, je te remercie.A+ Apprendre => Prendre => Rendre
fabcad Posté(e) le 12 février 2013 Auteur Posté(e) le 12 février 2013 Un dessin vite fait... A+ Fabcad le Rennais Métropolitain
lecrabe Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Hello le Rennais Magnifique ton Image, un bon dessin/illustration vaut mieux qu'une explication ! lecrabe Autodesk Expert Elite Team
VDH-Bruno Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Un dessin vite fait...Merci c’est gentil, effectivement un dessin vaut mieux qu’un long discours.. C’est intéressant d’avoir un aperçu de ce que vous cherchez à faire dans vos métiers respectifs. A+ Apprendre => Prendre => Rendre
lili2006 Posté(e) le 12 février 2013 Posté(e) le 12 février 2013 Bonsoir à toutes et tous, Eh bé, je vois que Fabcad est en effet un vrai Breton,...!! Je ne peux pas suivre "en direct" ce qui se passe mais tu sais que je suis également très intéressé par ce projet,..:) Me tarde de pouvoir m'y remettre et tester les propositions de Olivier également (Je fais bien entendu référence à ce post ),... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
fabcad Posté(e) le 14 février 2013 Auteur Posté(e) le 14 février 2013 Bonjour à tous, J'ai modifié mon schéma pour la zone tampon sur linéaire. A+ Fabcad le Rennais Métropolitain
lecrabe Posté(e) le 14 février 2013 Posté(e) le 14 février 2013 Hello Fab Sorry : no comprendo ! Ton schema ou dessin est toujours le meme (me semble t-il) !? lecrabe Autodesk Expert Elite Team
alala Posté(e) le 14 février 2013 Posté(e) le 14 février 2013 Il y a des arondis en bout de zones ;) C'est en forgeant que l'on devient forgerons.Et c'est en sciant que Léonard DeVinci!
Turtle Posté(e) le 14 février 2013 Posté(e) le 14 février 2013 Bonjour, super Lisp ce CorridorVeryNew_par_GC.zip Mais tout est créé dans le Calque 0. ça peut se modifier facilement ? Intel i7-4770 - 16Go Ram - NVIDIA Quadro K2000 - Double ecran en 1680x1050Windows 7 64Bits. non administrateur !!Autocad Map 3D 2019 + Covadis V17.0f
fabcad Posté(e) le 14 février 2013 Auteur Posté(e) le 14 février 2013 Bravo Il y a bien des arrondis en bout de zones. Quel coup d'œil et c'est bien ce que j voudrais ajouter dans la sous-routine de Buffer mais je ne vois pas comment faire. Ça peut être aussi des angles droits avec la distance de décalage. Merci Fabcad le Rennais Métropolitain
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