Azerty Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 Bonjour à tous. Ça fait + de 15 ans que je connais PEDIT sur une polyligne et les « Redresser/Linéaire/Suivant/Aller/Go » etc. qui permettent de supprimer des sommets intermédiaires non désirés. Hors "le plus court chemin entre 2 points est la ligne droite" et c'est justement ce que j'aimerai éviter.Existe-t-il un lisp (ou une commande !? je n'ai pas trouvé dans les express tools)qui permet de redresser en ligne droite tous les segments d'une polyligne en gardant les longueurs initiales ? Le top du top en LISP serait de redresser la polyligne, de faire une mise à l'échelle x 5 et d'insérer à chaque sommet un cercle d'1m de rayon. Par avance, merci de vos retours ! Une seule chose à dire : MERCI CADxp !
Fraid Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 Bonjour, redresser en ligne droite tous les segments d'une polyligne en gardant les longueurs initiales ? Ils me semble que c'est impossible. https://github.com/Fraiddd
didier Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 Coucou Je pense avoir compris ta demande et c'est rigolo car ce n'est pas la première fois que ça se produit je suis en train de préparer des exercices pour "da-code.fr" et un de mes exemples en cours d'élaboration correspond à ce que tu demandes.On verra ensuite le coup du point tous les cinq unités et le facteur d'échelle (ça j'y avais pas pensé...)J'aimerais savoir comment dessiner la polyligne "redressée"?Dans mon exemple je pars d'un point cliqué à l'écran et je dessine une polyline horizontale, ça t'irait ? Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
Fraid Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 :) je n'avais pas compris, je voyais des courbes... https://github.com/Fraiddd
didier Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 Coucou Les courbes ne posent pas de souci !!! Je n'en avais pas parlé car je ne sais pas formellement si je suis dans le vrai... Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
Azerty Posté(e) le 10 octobre 2019 Auteur Posté(e) le 10 octobre 2019 Je ne voulais pas évoquer les courbes car il me semblait que ça complique le Schmilblick ^^. Didier, une fois de plus, tu as parfaitement cerné la demande.Et apparemment anticiper la solution.Donc oui, cibler au curseur le point de départ d'une polyligne horizontale est parfait ! On verra ensuite le coup du point tous les cinq unités et le facteur d'échelle (ça j'y avais pas pensé...)C'est l'inverse ^^Pour la p'tite histoire, l'utilisation serait de dégrossir le travail sur une vue en plan avec la polyligne (où chaque sommet est un croisement avec un réseau, une bordure, etc) qui va servir ensuite sur une vue en profil au 200e, comme repère pour y représenter XX obstacles (et plus particulièrement des réseaux souterrains dans mon cas). Divers annotations, marges d'erreurs et autres joyeusetés viennent se greffer, mais la plupart du temps il faut au moins un cercle* ! PS : si c'était bientôt Noel je dirai qu'à la place du cercle d'1m de rayon, une polyligne en 2 arcs serait la panacée (car ça permet d'imposer une largeur de polyligne, chose impossible 'directement' sur un cercle) Une seule chose à dire : MERCI CADxp !
Olivier Eckmann Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 Bonjour, Si c'est pour dessiner des profils en long de réseau avec étiquetage automatique des intersections des autres réseaux et obstacles, vérification des inter-distances entre réseaux, tranchée et structure de pose...il y a des applicatifs qui font ça très bien. Olivier
VDH-Bruno Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 Bonjour, De façon très sommaire, juste pour le fun (et l'exercice à Didier pour son site) quelque chose comme cela conviendrait-il? (defun c:Azerty (/ent pts x y n) (setq ent (car (entsel)) pts (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent)) x (cadar pts) y (caddar pts) n -1 ) (entmake (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") (cons 90 (length pts)) ) (mapcar '(lambda (i) (list 10 (+ x (vlax-curve-getDistAtParam ent (setq n (1+ n)))) y ) ) pts ) ) ) ) Cdt VDH-Bruno Apprendre => Prendre => Rendre
didier Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 Coucou Oui c'est quelque chose dans ce style qui m'a serviJ'ai quelques réticences à déposer les codes dédiés à mon site sur CadXP pour ne pas faire de doublons dans les recherches. Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
lecrabe Posté(e) le 10 octobre 2019 Posté(e) le 10 octobre 2019 Hello OlivierJe ne vois pas du tout de quel Applicatif, tu veux parler ?!Bye, lecrabe "triste" Autodesk Expert Elite Team
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