zebulon_ Posté(e) le 9 décembre 2015 Posté(e) le 9 décembre 2015 Bonjour, quelques fois, le sens d'une polyligne est importante, mais comment faire pour le visualiser simplement ?Je n'ai rien trouvé de transcendant, j'ai sans doute mal cherché... J'ai essayé de pondre quelque chose de mon cru qui dessine des petites flèches le long de la polyligne pour en indiquer son sens. Les fèches sont dessinées avec grvecs et disparaissent après un redess ou une fonction de zoom quelconque. (defun c:sensobj (/ e obj L TF NBPAS PAS PK sensobj_fl) (vl-load-com) (defun sensobj_fl (PK / PT PM fder PTDERIV PT1 PT2) (setq PT (vlax-curve-getpointatdist obj PK)) (setq PM (vlax-curve-GetParamAtPoint obj PT)) (setq fder (vlax-curve-getfirstderiv obj PM)) (setq PTDERIV (mapcar '+ PT fder)) (setq PT1 (polar PT (+ (angle PT PTDERIV) (* 3 (/ pi 4))) TF)) (setq PT2 (polar PT (- (angle PT PTDERIV) (* 3 (/ pi 4))) TF)) ;; les points sont à mettre en SCU local pour grvecs (grvecs (mapcar '(lambda (ELEM) (trans ELEM 0 1)) (list PT1 PT PT PT2))) ) (if (setq e (entsel)) (progn (setq obj (vlax-ename->vla-object (car e))) (if (vlax-property-available-p obj 'Length) (progn (setq L (vla-get-length obj)) (setq TF (/ (getvar "VIEWSIZE") 50.0)) (setq NBPAS (+ (fix (/ L TF)) 1)) (setq PAS (/ L NBPAS)) (setq PK 0) (while (< PK L) (sensobj_fl PK) (setq PK (+ PK PAS)) ) (sensobj_fl L) ) (alert "Longueur non disponible") ) ) ) (princ) ) AmicalementVincent 1 C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
lili2006 Posté(e) le 9 décembre 2015 Posté(e) le 9 décembre 2015 Bonsoir à toutes et tous, Salut Vincent, Marche super !! Plus qu'à rajouter l'option d'inverser le sens de la construction de la (ou des) polyligne(s) sélectionnée(s),... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
vincentp010 Posté(e) le 10 décembre 2015 Posté(e) le 10 décembre 2015 Bonjour, Les fèches sont dessinées avec grvecs et disparaissent après un redess ou une fonction de zoom quelconque. C'est un peu ce que fait la fonction Covadis COVAPOLYSENSPas mal pour ceux qui ne l'on pas. http://pix.toile-libre.org/upload/thumb/1449731176.png Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
didier Posté(e) le 10 décembre 2015 Posté(e) le 10 décembre 2015 Coucou Pas besoin de Covadis pour inverser les sens d'une polyligne,La commande PEDIT avec son option I comme Inverser le fait en natif. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
zebulon_ Posté(e) le 10 décembre 2015 Auteur Posté(e) le 10 décembre 2015 Coucou Pas besoin de Covadis pour inverser les sens d'une polyligne,La commande PEDIT avec son option I comme Inverser le fait en natif. Amicalement Bonjour, ou un clic droit après avoir sélectionné une polyligne. On a un menu contextuel, avec l'option "polyligne", à partir duquel on retrouve les options les plus utiles de la commande PEDIT, notamment l'inversion, comme l'indique très justement didier. C'est un peu ce que fait la fonction Covadis COVAPOLYSENSPas mal pour ceux qui ne l'on pas.Je savais bien que je réinventais l'eau chaude, mais je n'ai pas Covadis et je n'ai rien trouvé sur un autocad de base. Personnellement, j'en ai eu besoin pour du ferraillage : des aciers un peu compliqués avec des variations, représentés chacun par 2 polylignes épaisses (le plus grand acier et le plus petit). Tête en l'air, j'ai dessiné le plus petit acier dans un sens et le plus grand dans l'autre. Forcément, la variation des longueurs de chaque segment était fausse ! D'où l'importance de voir le sens de la polyligne et être sûr que tous les aciers de la même famille ont été construits dans le même sens. AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
vincentp010 Posté(e) le 11 décembre 2015 Posté(e) le 11 décembre 2015 Coucou Pas besoin de Covadis pour inverser les sens d'une polyligne,La commande PEDIT avec son option I comme Inverser le fait en natif. Amicalement Ça dépend de la version d'autocad. Sur ma 2009 je n'ai pas cette possibilité. Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
zebulon_ Posté(e) le 11 décembre 2015 Auteur Posté(e) le 11 décembre 2015 Ça dépend de la version d'autocad. Sur ma 2009 je n'ai pas cette possibilité. Bonjour, Je suis sûr que c'est possible au moins à partir de la version 2011. Mais il semblerais que ce soit aussi possible avec la 2009, à condition d'avoir installé le "Bonus Pack1"... Voir ce lien AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
lecrabe Posté(e) le 11 décembre 2015 Posté(e) le 11 décembre 2015 Hello 1) OUI le Bonus Pack 1 de la 2009 a introduit la comamnde REVERSE (INVERSER) !http://heidihewett.blogs.com/my_weblog/2008/07/autocad-2009-su.html 2) Cette commande REVERSE (INVERSER) a ete integree dans la version 2010 !! Bye, lecrabe Autodesk Expert Elite Team
zebulon_ Posté(e) le 15 janvier 2016 Auteur Posté(e) le 15 janvier 2016 Bonjour, (defun c:sensobj (/ e obj L TF NBPAS PAS PK sensobj_fl) (vl-load-com) (defun sensobj_fl (PK / PT PM fder PTDERIV PT1 PT2) (setq PT (vlax-curve-getpointatdist obj PK)) (setq PM (vlax-curve-GetParamAtPoint obj PT)) (setq fder (vlax-curve-getfirstderiv obj PM)) (setq PTDERIV (mapcar '+ PT fder)) (setq PT1 (polar PT (+ (angle PT PTDERIV) (* 3 (/ pi 4))) TF)) (setq PT2 (polar PT (- (angle PT PTDERIV) (* 3 (/ pi 4))) TF)) ;; les points sont à mettre en SCU local pour grvecs (grvecs (mapcar '(lambda (ELEM) (trans ELEM 0 1)) (list PT1 PT PT PT2))) ) (if (setq e (entsel)) (progn (setq obj (vlax-ename->vla-object (car e))) (if (vlax-property-available-p obj 'Length) (progn (setq L (vla-get-length obj)) (setq TF (/ (getvar "VIEWSIZE") 50.0)) (setq NBPAS (+ (fix (/ L TF)) 1)) (setq PAS (/ L NBPAS)) (setq PK 0) (while (< PK L) (sensobj_fl PK) (setq PK (+ PK PAS)) ) (sensobj_fl L) ) (alert "Longueur non disponible") ) ) ) (princ) ) j'ai corrigé une boulette. Cela ne marchait bien qu'en scu général. En effet grvecs dessine ses segments en scu local alors que les fonctions vlax-curve renvoient des coordonnées en scu général.Il y a bien un paramètre [trans] dans grvecs, mais je n'ai pas su comment l'utiliser et je suis passé par une fonction (trans PT 0 1) AmicalementVincent 1 C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
lili2006 Posté(e) le 15 janvier 2016 Posté(e) le 15 janvier 2016 Bonne Année à toutes et tous, Salut Vincent, Merci pour le suivi,;) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
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