tiboulen Posté(e) le 16 juillet 2010 Posté(e) le 16 juillet 2010 bonjour la commande mesurer ou diviser appliquée a une polyligne crée un certain nombre de points, je voudrais récupérer tous ces points ou leur point d' insertion et les metrre dans une liste afin de les exploiter si ca marche je donnerai humblement mon prg , mais je n'ai pas la moindre idée de comment proceder merci beaucoup si vous avez une idée
vincentp010 Posté(e) le 16 juillet 2010 Posté(e) le 16 juillet 2010 Salut, tu peux par exemple utiliser ssget "p" (setq ent (car (entsel "Selectionnez une polyligne : "))) (command "mesurer" ent distance) ou (command "diviser" ent distance) (setq pts (ssget "p")) ;selection des objets nouvellement créés (setq nb (sslength pts)) ;nombre d'entitees dans la selection (setq nb1 0) (while nb1 < nb) ;boucle pour récuperer les points d'insertion (setq ptname (ssname pts nb1) ;recuperation du nom (setq ptcoord (cdr (assoc 10 (entget ptname))) ;recuperation des coordonnées (setq nb1 (+ nb1 1)) ) 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
(gile) Posté(e) le 16 juillet 2010 Posté(e) le 16 juillet 2010 Salut, Il est assez facile de 'diviser' ou 'mesurer' une entité curviligne en LISP sans utiliser les commandes natives DIVISER ou MESURER. Regarde du côté des fonctions LISP vlax-curve-*. ;; divCurve ;; Retourne la liste des points (coordonnées SCG) qui divisent la courbe ;; ;; Arguments ;; curve : une entité curviligne (ENAME ou VLA-OBJECT) ;; n : nombre de divisions (defun divCurve (curve n / len inc dist result) (vl-load-com) (setq len (vlax-curve-getDistAtParam curve (vlax-curve-getendparam curve) ) inc (/ len n) dist inc ) (while ( (setq result (cons (vlax-curve-getPointAtDist curve dist) result) dist (+ dist inc) ) ) (reverse result) ) ;; mesCurve ;; Retourne la liste des points (coordonnées SCG) à intervalle régulier sur la courbe ;; ;; Arguments ;; curve : une entité curviligne (ENAME ou VLA-OBJECT) ;; inc : longueur de l'intervalle (defun mesCurve (curve inc / len n dist result) (vl-load-com) (setq len (vlax-curve-getDistAtParam curve (vlax-curve-getendparam curve) ) n (fix (/ len inc)) dist 0 ) (repeat n (setq result (cons (vlax-curve-getPointAtDist curve dist) result) dist (+ dist inc) ) ) (reverse result) ) 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