jujugeometre Posté(e) le 13 décembre 2020 Posté(e) le 13 décembre 2020 Bonsoir, Je souhaite aligner des blocs sur des lignes proches, du coup je ne vois pas trop comment commencer à chercher à partir d'un point les lignes les plus proches jusqu'à une valeur seuil à fixer? Si quelqu'un a une orientation (grosse allusion au sujet...) pour démarrer ce programme. Après la lectures de plusieurs posts, je précise que je ne cherche pas un LISP tout fait ou que je ne demande à personne de le faire pour moi, je ne vois juste pas dans quel sens chercher, hormis un truc bourrin du genre répertorier toutes les lignes du dessin et/ou faire un tri sur les coordonnées. Pour info, je cherche en 2D et je suis sur 2016. Geometre - Autocad 2016 - Covadis v17.0
rebcao Posté(e) le 14 décembre 2020 Posté(e) le 14 décembre 2020 Bonjour, Et pourquoi ne pas utiliser un BLOC DYNAMIQUE avec le paramètre ALIGNEMENT ? Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Tramber Posté(e) le 14 décembre 2020 Posté(e) le 14 décembre 2020 Tu peux explorer les fonctions de la famille des "curve"(vlax-curve-getClosestPointTo visualobj point))Si tu connais le VisualLisp....L'objet visualobj peut être obtenu ainsi :(setq visualobj (vlax-ename->vla-object (car(entsel))))Le point est entré sous la forme classique autolisp. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 14 décembre 2020 Posté(e) le 14 décembre 2020 (setq pointobtenu(vlax-curve-getClosestPointTo visualobj point))) (distance pointobtenu point) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Luna Posté(e) le 14 décembre 2020 Posté(e) le 14 décembre 2020 Coucou, J'ai également pensé à la fonction (vlax-curve-getclosestpointto), cependant si je comprend bien la demande de jujugeometre et l'application de la fonction Visual...cela ne pourra pas correspondre.Pour moi la fonction Visual récupère la projection orthogonal d'un point quelconque sur un objet linéaire spécifique...En d'autre termes, la ligne en question à déjà été sélectionnée par le programme, or le soucis ici c'est justement de "trouver" la ligne en question... Dans tous les cas cette fonction te sera utile pour trouver la distance minimale (via les fonction (min) et (distance)) mais si tu cherches également à déterminer la ligne la plus proche, je regarderais parmi les filtres de la fonction (ssget) associée aux code -4. Pour cela, tu peux aller voir le site/cours de (gile) qui traite de ce sujet (Chapitre 16.4 Filtre de sélection, page 39 sur le PDF "Introduction à AutoLISP") mais également sur le site de Didier (https://www.da-code.fr/ssget/) qui en parle un peu aussi. Je n'ai pas testé personnellement, mais je suis sûre que tu devrais pouvoir limiter ton jeu de sélection en limitant les coordonnées du code DXF 10 via des coordonnées relatives à la position de ton bloc. Cela devrait réduire le nombre d'entité à traiter pour la comparaison des point obtenus via (vlax-curve-getClosestPointTo) :3 Autrement tu peux voir les références en anglais pour étayer tes recherches comme AfraLISP ou LeeMac pour ne citer qu'eux... ^^ Bisous,Luna
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