TOPO-94 Posté(e) le 22 juin 2020 Partager Posté(e) le 22 juin 2020 Bonjour, Je recherche une routine Autolisp qui me permet d'avoir les delta longeur et transversales par rapport à une ligne et si c'est possible de les avoir dans un listing comme le fait Covadis ( je n'ai pas Covadis au bureau ). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 23 juin 2020 Partager Posté(e) le 23 juin 2020 Salut, Pour commencer, comment doit fonctionner la routine :- doit-on cliquer sur une ligne puis sur le point, ou bien sur 3 points ?- compare-t-on un point par rapport à une ligne, ou bien un point par rapport à un segment (polyligne) ?- doit-il s'opérer pour une unique ligne et un unique point, ou bien un ensemble de lignes par rapport à un unique point, ou bien une unique ligne par rapport à un ensemble de points, ou un ensemble de lignes par rapport à un ensemble de points ?- doit-on considérer la ligne dans son sens de création, ou bien est-ce l'utilisateur qui défini le point de comparaison ?- combien d'intervention utilisateur as-tu besoin 1, 2, 5, ... ?- ce listing, comment souhaites-tu le conserver ? Un fichier .txt, un fichier .xls, un message d'alerte, un message dans l'historique de commande, un texte dans AutoCAD, un bloc avec attribut, ... ? N'ayant pas Covadis, je suis incapable de savoir le type de résultat attendu.. Bisous,Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 23 juin 2020 Partager Posté(e) le 23 juin 2020 Coucou Je plussoie Luna pour savoir s'il faut travailler réellement avec trois points comme l'image l'indique ou si c'est plus généralisteGenre largeur de voie par rapport à un axe de construction et des points topo relevés en rive ?Suivant ta réponse la routine sera fondamentalement différente, on verra si on fait de la résolution de triangle ou des abscisses curvilignes Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 23 juin 2020 Auteur Partager Posté(e) le 23 juin 2020 Bonjour Luna, L'idéal serait de travailler en 3D. ( avoir les déport en plan + le Z car la méthode avec covadis sort les déport qu'en plan ! ). Pour une polyligne serait l'idéal, aussi travailler sur une ligne ce n'est pas grave. Dans un premier temps , l'utilisateur sélectionne l'axe sur lequel il travail ( il sélectionne le premier point ensuite le second cad il définit le sens de la ligne pour pouvoir donné le delta longueur ). Ou bien il sélectionne tout simplement la ligne , car Covadis marche pour les deux. en sélectionnant une ligne ou bien les bloc de point en questions. Ensuite il sélectionne les points ( la plupart du temps c'est plusieurs points ) dont il a besoin de savoir les déport et les PM ( delta longueur ). Ensuite il valide. Si il y'a d'autre options dans le lisp je suis preneur à savoir : la modifications de la ligne, point de départ de l'axe etc... Résultat attendue fichier excel avec les déports par rapport à cet axe ( cad la perpendiculaire à cet axe , à savoir le delta transversale + la distance du premier point de l'axe sélectionné jusqu'à point perpendiculaire. Merci pour ta réponse Luna. Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 23 juin 2020 Auteur Partager Posté(e) le 23 juin 2020 Un exemple du résultat attendu , c'est qu'on travail en génie civil et la pluspart des plan sont fait et coté à partir de l'axe d'un ouvrage X ( comme une gare de train ) et pour implanter les points demander exemple : une potence ou une bordure , on dispose comme info que deux coordonnées de l'extrémitié de l'axe de cet ouvrage avec les cote, des fois non .. Donc c'est pour cela si je trouve le lisp qui convient , je pourrais mettre mes points et sortir le listing des déport ou bien faire un récolement si je releve sur le terrain les point et je veux avoir les déport par rapport à cet axe. Je sais pas si je suis assez clair Dans l'attente de vous lire . Merci bien pour le passage et la réponse. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 25 juin 2020 Partager Posté(e) le 25 juin 2020 Salut, Ok je vois un peu mieux, les exports Excel, je n'ai jamais fait donc je ne serais peut être pas en mesure de répondre à cette demande mais pour le reste c'est jouable.Petite précision, si tu extrais les valeurs dans Excel, c-à-d : Résultat attendue fichier excel avec les déports par rapport à cet axe ( cad la perpendiculaire à cet axe , à savoir le delta transversale + la distance du premier point de l'axe sélectionné jusqu'à point perpendiculaire.Donc si je comprend bien on aurait dans la colonne A la distance H (distance entre le point spécifique et sa projection perpendiculaire sur l'axe) puis dans la colonne B la distance D (distance entre le point de référence et la projection perpendiculaire du point spécifique sur l'axe). Doit-on ajouter un référencement pour les points (un nom, un matricule, les coordonnées, ...) ? Si oui, tu parles de "bloc de point" donc est-ce que ces points sont des points à part entière ou bien des blocs de points topo (généralement nommés "TCPOINT" et possédant un attribut "MAT" pour le matricule et "ALT" pour son altitude NGF) ?S'il s'agit de simples point, faudrait-il dans ce cas ajouter un texte sur AutoCAD permettant de faire le lien entre le fichier .xls et le fichier .dwg ? L'axe, est-il une ligne (donc deux sommets et un sens), ou bien une polyligne (donc n sommets et un sens) ? S'il s'agit d'une polyligne, peut-elle avoir des segments courbes et auquel cas, calculer la perpendiculaire sur la zone courbe et non un segment droit ? Les points peuvent-ils être situés en dehors de cet axe, c'est-à-dire peuvent-ils avoir une projection perpendiculaire qui n'appartienne pas à l'axe (et donc il faut projeter l'axe pour le comptabiliser non pas comme un segment mais comme une droite) ? Je sais, ça fait beaucoup de questions, mais c'est plus simple de développer un programme quand on connait toutes les données d'entrée :3Peut-être qu'un .dwg d'exemple permettrait de faciliter les explications ? :) Bisous,Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 25 juin 2020 Auteur Partager Posté(e) le 25 juin 2020 Salut, Ok je vois un peu mieux, les exports Excel, je n'ai jamais fait donc je ne serais peut être pas en mesure de répondre à cette demande mais pour le reste c'est jouable.Petite précision, si tu extrais les valeurs dans Excel, c-à-d : Pad de soucis si le resultat est sur excel txt , faut juste que j'ai le résultat pour l'imprimer par exemple ou bien faire un copier/coller vers excel.. Donc si je comprend bien on aurait dans la colonne A la distance H (distance entre le point spécifique et sa projection perpendiculaire sur l'axe) puis dans la colonne B la distance D (distance entre le point de référence et la projection perpendiculaire du point spécifique sur l'axe). Doit-on ajouter un référencement pour les points (un nom, un matricule, les coordonnées, ...) ?Genre juste le pointX : Premiere colonne déport transversale , deuxième colonne déport longitudinale.. sur l'exemple je pense tu verras mieux. Si oui, tu parles de "bloc de point" donc est-ce que ces points sont des points à part entière ou bien des blocs de points topo (généralement nommés "TCPOINT" et possédant un attribut "MAT" pour le matricule et "ALT" pour son altitude NGF) ?S'il s'agit de simples point, faudrait-il dans ce cas ajouter un texte sur AutoCAD permettant de faire le lien entre le fichier .xls et le fichier .dwg ? Effectivement c'est des bloc de point , cad le programme va me demander de selectionner le bloc de point ( comme le demande covadis ...) après je ne dis pas non si la possibilité de sélectionner du texte pour dire c'est le point en question .. Pas forcément de lien entre le dwg et l'excel, juste l'export du résultat serait largement suffisant. L'axe, est-il une ligne (donc deux sommets et un sens), ou bien une polyligne (donc n sommets et un sens) ? S'il s'agit d'une polyligne, peut-elle avoir des segments courbes et auquel cas, calculer la perpendiculaire sur la zone courbe et non un segment droit ? Les points peuvent-ils être situés en dehors de cet axe, c'est-à-dire peuvent-ils avoir une projection perpendiculaire qui n'appartienne pas à l'axe (et donc il faut projeter l'axe pour le comptabiliser non pas comme un segment mais comme une droite) ? - L'axe est une ligne à deux extrémité en générale, je pense que c'est la meme chose avec une polyligne car on sélectionne que deux points.. - absolument les points peuvent être en dehors de l'axe. ( d'ailleur covadis m'affiche une erreur lorsque je sélectionne un point qui est en dehors de la ligne selectionné ). :mellow: Un résultat en fichier word ou txt suffirait , après je recollerais dans un excel c'est pas un problème :) Le lien téléchargement de l'exemple : https://we.tl/t-BnatGfoVGk Merci beaucoup Luna !!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 25 juin 2020 Partager Posté(e) le 25 juin 2020 Coucou Je suis en train de préparer un article que je déposerai sur da-code.frCar cet exercice est intéressant pour l'apprentissage de la programmationEt sa demande sans être récurrente reste fréquente. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 25 juin 2020 Auteur Partager Posté(e) le 25 juin 2020 Ah oui ! Super. Merci pour vos réponse !!! :D Lien vers le commentaire Partager sur d’autres sites More sharing options...
thierry.garré Posté(e) le 25 juin 2020 Partager Posté(e) le 25 juin 2020 d'ailleur covadis m'affiche une erreur lorsque je sélectionne un point qui est en dehors de la ligne selectionné Ce qui est normal puisU'il te renvoie des valeurs d'abcisse par rapport a yn axe ou polyligne sélectionnée. Je ne vois pas comment ca pourrait être autrement. Cordialement Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 25 juin 2020 Auteur Partager Posté(e) le 25 juin 2020 Ce qui est normal puisU'il te renvoie des valeurs d'abcisse par rapport a yn axe ou polyligne sélectionnée. Je ne vois pas comment ca pourrait être autrement. Cordialement Absolument , mais est ce qu'il ya moyen d'avoir ces déports avec Covadis même si on est en dehors de l'axe selectionner ? comme lorsqu'on est avec le programme ligne de réference sur les théodolites leica on peut être en dehors de la ligne de réf.. Cordialement, Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 25 juin 2020 Partager Posté(e) le 25 juin 2020 Ohayo, Bon je n'ai pas beaucoup de temps pour faire quelque chose de radieux donc je vais procéder par étape si tu veux bien :3J'ai un programme brouillon qui pour le moment affiche le résultat dans l'historique de commande et il ne donne pas toutes les infos (le but sera de ne pas afficher sur AutoCAD mais dans Excel mais au moins comme ça on peut vérifier les résultats ^^ (defun space-scale-3pt (A B M / xA xB xM yA yB yM zA zB zM Sx Sy Sz l) (setq xA (car A) yA (cadr A) zA (caddr A) xB (car B) yB (cadr B) zB (caddr B) xM (car M) yM (cadr M) zM (caddr M) Sx (+ (* xB xM) (expt xA 2) (- (* xB xA)) (- (* xA xM))) Sy (+ (* yB yM) (expt yA 2) (- (* yB yA)) (- (* yA yM))) Sz (+ (* zB zM) (expt zA 2) (- (* zB zA)) (- (* zA zM))) l (/ (- 0.0 Sx Sy Sz) (- 0.0 (expt (- xB xA) 2) (expt (- yB yA) 2) (expt (- zB zA) 2))) ) (list l (+ (* (- xB xA) l) xA) (+ (* (- yB yA) l) yA) (+ (* (- zB zA) l) zA) ) ) (defun c:GPDFL (/ get-angle seg n jsel i name sc pt mat lst) (defun get-angle (a) (cond ((minusp a) (get-angle (setq a (+ a (* 2 pi))))) ((> a (* 2 pi)) (get-angle (setq a (- a (* 2 pi))))) (t a) ) ) (setq seg (list (setq pt (getpoint "\nVeuillez spécifier le point de base de l'axe : ")) (getpoint pt "\nVeuillez spécifier le second point de référence de l'axe : ") ) n 0 ) (if (or (setq jsel (ssget "_I" '((0 . "INSERT") (2 . "Bloc-Pts")))) (progn (prompt "\nVeuillez sélectionner les \"Bloc-Pts\" par rapport à l'axe :") (setq jsel (ssget '((0 . "INSERT") (2 . "Bloc-Pts")))) ) ) (progn (repeat (setq i (sslength jsel)) (setq name (ssname jsel (setq i (1- i))) sc (space-scale-3pt (car seg) (cadr seg) (cdr (assoc 10 (entget name))) ) pt (cdr sc) mat (getpropertyvalue name "P.1") lst (cons (list (cons -1 mat) (assoc 10 (entget name)) (cons 1041 (if (minusp (car sc)) (- (distance (car seg) pt)) (distance (car seg) pt) ) ) (cons 1041 (if (> (get-angle (- (angle (car seg) (cdr (assoc 10 (entget name))) ) (angle (car seg) (cadr seg)) ) ) pi ) (- (distance pt (cdr (assoc 10 (entget name))))) (distance pt (cdr (assoc 10 (entget name)))) ) ) ) lst ) ) (prompt (strcat "\nPoint n°" (itoa (setq n (1+ n))) " :" "\n Matricule \"" mat "\"" "\n Abscisse = " (rtos (cdr (assoc 1041 (car lst)))) "\n Ordonnée = " (rtos (cdr (last (car lst)))) "\n X = " (rtos (car (cdr (assoc 10 (car lst))))) "\n Y = " (rtos (cadr (cdr (assoc 10 (car lst))))) "\n Z = " (rtos (caddr (cdr (assoc 10 (car lst))))) "\n" ) ) ) ) (prompt "\nErreur : Aucune sélection") ) (princ) ) Didier, si jamais tu souhaites me corriger sur le principe, il n'y a pas de soucis ! Je reprendrais ce brouillon de manière propre pour les extracts Excel ce we quand j'aurais un peu plus de temps. @TOPO-94, pour le moment le programme est très spécifique et ne permet pas de répondre à toutes tes demandes mais ne t'en fais pas, il s'agit juste d'un premier jet basé essentiellement sur les calculs de perpendiculaire dans l'espace et sur les distances algébriques entre points. Le reste, c'est du confort :3 Aller bonne soirée et bisous,Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 26 juin 2020 Auteur Partager Posté(e) le 26 juin 2020 Merci beaucoup pour le code, comment il marche ? dois-je l'enregistrer sous format .lsp ? car j'ai essayé autocad n'arrive pas a le charger , il ne le trouve même pas dans la liste des lisp. Bien cordialement, Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 26 juin 2020 Partager Posté(e) le 26 juin 2020 Si tu souhaites le tester, il faut en effet l'enregistrer sous format .lsp (tu peux faire ça depuis un fichier bloc note) et ensuite, il te faut l'enregistrer dans une chemin de support approuvé (Option > Fichiers > Chemin de recherche de fichiers de support / Emplacements approuvés > Ajouter > Parcourir). Une fois le chemin enregistré, il te suffit de taper APPLOAD et tu vas chercher ton fichier .lsp (APPLOAD > Sélection du fichier .lsp > Charger > Fermer) et si jamais tu souhaites qu'il soit charger à chaque session d'AutoCAD de manière automatique, ce qui n'est pas très utile ici car il s'agit d'un simple brouillon (APPLOAD > Contenu > Ajouter > Sélection du fichier .lsp > Fermer > Fermer) Comme je l'ai dit, cela n'est qu'un brouillon mais il te permettra de me dire si cela fonctionne chez toi dans un premier temps et ensuite si tu vois quelques changements à apporter. Juste pour savoir, les points de référence que tu sélectionnes, sont-ils toujours des blocs avec un matricule (comme sur l'exemple) ou bien, s'il faut ajouter la possibilité de nommer ces points dans AutoCAD (création d'un texte à proximité) pour conserver le repérage entre l'export .xls et le fichier source .dwg ? Pour la petite explication du programme final, il devrait prendre en compte la pré-sélection (à condition que PICKFIRST = 1) concernant les points à calculer, tu aura la possibilité de cliquer sur deux points randoms ou bien sélectionner une ligne (on se limitera à une ligne car le nombre n de sommets des polylignes modifie grandement l'exécution du programme mais si c'est un besoin, je regarderais ça), la sélection des points sera un peu plus souple (ne filtrera pas les blocs uniquement nommés "Bloc-Pts", tu auras la possibilité de sélectionner de simples points également si besoin), ajouter un texte afin de nommer les points ne possédant pas de matricule, ajout de la possibilité de calculer les données en étant en SCU (et pas uniquement en SCG), extraction des données selon le format de fichier de COVADIS que tu as transmis (avec tri des résultats en fonction du matricule du point). Les calculs sont fait en 3D donc tu as les coordonnées Z en plus et les points sélectionnés ne sont pas considérer comme un axe mais comme un vecteur, donc le premier point de référence sera la base de calcul et les points en dehors de la projection de l'axe seront quand même calculés (abscisses négatives si les points sont situés dans le sens opposé du vecteur AB). En revanche, j'aurais besoin de savoir, sur le fichier que tu as envoyé, tu considères l'abscisse comme le vecteur AB (A étant le premier point, B le second) mais les résultats pour les ordonnées considères que l'axe des ordonnées correspond au vecteur AB avec une rotation de -pi/2 (dans le sens trigo) soit finalement, le miroir de l'axe traditionnel (X , Y). Ayant considéré un axe non inversé, les résultats au niveau des ordonnées diffèrent au niveau du signe. Donc faut-il que je considère l'axe des ordonnées dans l'autre sens pour être en corrélation avec tes résultats ? Bisous,Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 26 juin 2020 Partager Posté(e) le 26 juin 2020 Petite mise à jour du programme (en PJ) sur la définition de l'axe (peut se simplifier si cela est trop complexe, le but étant que la commande puisse fonctionner pour d'autres personnes aussi et d'autres utilisations). Je tenterais de m'occuper de l'intégration sous un fichier Excel ensuite, mais je ne maîtrise pas parfaitement les exports sur fichier donc ça prendra sûrement un peu plus de temps qu'il ne m'a fallu pour le coeur du programme.Tu as réussi à charger le programme dans un fichier .lsp sur ton AutoCAD ?D'ailleurs à ce sujet, quel version d'AutoCAD as-tu ? Il est possible que certaines fonctions ne soient pas accessible si ton AutoCAD est trop anciens. PS : Je me suis permise d'ajouter la prise en compte de bloc de point topo standard (souvent nommés "TCPOINT" et dont leur matricule vaut "MAT") ainsi que de simples points non nommés en plus de tes "Bloc-Pts" histoire de le rendre plus accessible suivant les circonstances. Pour les points non nommés, un MTEXT est ajouté à proximité du point (sa hauteur de texte équivaut au cinquantième de la distance séparant les points de référence), appartenant au calque "GPDFL" et avec une dénomination par défaut histoire de les retrouver lors d'un extract :3 Bisous,LunaTOPO-94.lsp Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 27 juin 2020 Auteur Partager Posté(e) le 27 juin 2020 Bonjour Luna , Merciii , ca marche à merveille , c'est très bien. Merci beaucoup pour ce beau travail :) Je l'ai teste sur Autocad 2013 , je vais essayer lundi au bureau sur Autocad 2020 et je t'en dirais. Très bonne journée à toi, 1000 merci pour le programme :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 27 juin 2020 Auteur Partager Posté(e) le 27 juin 2020 Je t'avourais que j'ai pas vraiement compris ? Mais la comme tu as envoyé la version finale , ca marche très bien. dans les deux sens , il suffit de definir le point de réference comme le demande le programma et puis c'est bon. Cordialement, Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 27 juin 2020 Partager Posté(e) le 27 juin 2020 Le fichier a été légèrement modifié (suppression de la désactivation forcée de l'accrochage aux objets) ci-dessus (#15) Je t'avourais que j'ai pas vraiement compris ?Qu'est-ce que tu n'as pas compris ? Mais la comme tu as envoyé la version finale , ca marche très bien.La version finale consisterait à ajouter un export vers un fichier .xls comme demandé, mais je suis pas douée avec le visual LISP pour ça... ^^" Si cela te convient, ça me va, mais si quelqu'un est capable de te programmer l'extract Excel ça serait mieux :3 Bisous,Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 27 juin 2020 Auteur Partager Posté(e) le 27 juin 2020 Le fichier a été légèrement modifié (suppression de la désactivation forcée de l'accrochage aux objets) ci-dessus (#15) Qu'est-ce que tu n'as pas compris ? La version finale consisterait à ajouter un export vers un fichier .xls comme demandé, mais je suis pas douée avec le visual LISP pour ça... ^^" Si cela te convient, ça me va, mais si quelqu'un est capable de te programmer l'extract Excel ça serait mieux :3 Bisous,LunaOui c'est très bien comme ca , sa serait le top d'avoir la version avec l'export vers excel ; mais franchement sa fait l'affaire :D Merci à toi Le fichier a été légèrement modifié (suppression de la désactivation forcée de l'accrochage aux objets) ci-dessus (#15) Qu'est-ce que tu n'as pas compris ? Par rapport aux vecteurs, mais c'est bon je pense comprendre ce que c'est : lorsque je sélectionne l'axe il propose le point de réference donc problème résolu. C'est très bien le programme fonctionne à merveille . Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 28 juin 2020 Partager Posté(e) le 28 juin 2020 Coucou Désolé pour le retard je pensais être en mesure d'écrire et de poster plus tôt ...Sur cette PAGE j'ai déposé ma version de voir la chose, je n'ai pas choisi l'approche analytique de LUNA mais plus des fonctions existantesCette approche (LUNA) est intéressante et j'ai d'ailleurs dans l'idée de réserver quelques pages à cette façon de calculer sur da-code...Il y a de multiples cas de figure on elle peut s'appliquer et c'est fun de re-travailler les cours de maths du lycée Je suis à l'écoute de toute critique Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 28 juin 2020 Partager Posté(e) le 28 juin 2020 Salut, La version finale consisterait à ajouter un export vers un fichier .xls comme demandé, mais je suis pas douée avec le visual LISP pour ça... ^^" Si cela te convient, ça me va, mais si quelqu'un est capable de te programmer l'extract Excel ça serait mieux :3 Personnellement j'ai toujours recommandé (et je continue à le faire) d'utiliser un fichier .CSV plutôt qu'un fichier Excel. C'est beaucoup plus simple à coder et surtout plus rapide et fiable à l'exécution. On peut ouvrir le fichier .CSV avec Excel ou n'importe quel autre tableur. Toutefois, s'il faut absolument faire de l'Excel, on peut utiliser telles quelles ou s'inspirer des routines gc:WriteExcel et gc:ReadExcel. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 28 juin 2020 Partager Posté(e) le 28 juin 2020 Hiya ! Coucou Désolé pour le retard je pensais être en mesure d'écrire et de poster plus tôt ...Sur cette PAGE j'ai déposé ma version de voir la chose, je n'ai pas choisi l'approche analytique de LUNA mais plus des fonctions existantesCette approche (LUNA) est intéressante et j'ai d'ailleurs dans l'idée de réserver quelques pages à cette façon de calculer sur da-code...Il y a de multiples cas de figure on elle peut s'appliquer et c'est fun de re-travailler les cours de maths du lycée Je suis à l'écoute de toute critique Amicalement Vouih, mes cours de maths remontent à pas si longtemps, ça doit venir de là hihi ^^ Par contre j'avoue que les produits scalaires dans l'espace, je n'avais jamais fait, mais ça fait du bien de faire travailler le cerveau de temps en temps ! °u°Et puis l'approche vectorielle me paraissait la plus simple. Le soucis actuel de cette fonction c'est qu'elle ne dépend pas d'une entité et fonctionne avec 3 points donc une amélioration pourrait être envisagée pour une utilisation plus récurrente en parlant de vecteur et non de point, ce qui permettrait ainsi de définir la dérivée de la courbe et ainsi travailler avec un vecteur directeur dynamique pour conserver cette étude de l'entité (en passant par la fonction (vlax-curve-getfirstderiv)) mais bon, le but était de répondre à la demande alors j'ai fait au plus court <3 Et je m'avoue vaincu devant une telle simplicité de code correspondant à une simple fonction (vlax-curve-getclosestpointto) ==" Décidément je manque de vocabulaire !! Quoi qu'il en soit, à un problème, il y aura toujours une infinité de solutions :3 Bisous,Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 29 juin 2020 Auteur Partager Posté(e) le 29 juin 2020 Bonjour Didier, J'ai essayer ton code de la page da code , j'ai reussi a charger le Lisp dans mon autocad 2020. Cependant lorsque le programme me demande de sélectionner l'axe je le sélectionne après il me demande plus rien ? dois-je installer qlq chose ? Merci pour la réponse, Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 29 juin 2020 Partager Posté(e) le 29 juin 2020 Il me semble qu'il y a une parenthèse en trop à la suite du (setq long (vlax-get-property axevla 'Length)) donc cela équivaut à la fin du (defun), en début de programme.En revanche, le programme de didier ne prend en compte que les blocs TCPOINT (mise en place d'un filtre lors de la sélection des points), donc si les points que tu utilises sont nommés comme dans l'exemple, il faudrait modifier légèrement la ligne du filtre de sélection :; Code sur le site de didier : ( prompt "\nChoix des points à traiter" ) ; affichage d'un message en ligne de commande ;création d'un jeu de sélection avec filtre sur entités BLOC et NOM du BLOC ( setq jeupoints ( ssget ( list ( cons 0 "INSERT" ) ( cons 2 "tcpoint" ) ) ) ) ; Code modifié pour pouvoir sélectionner les blocs nommés "Bloc-Pts" : ( prompt "\nChoix des points à traiter" ) ; affichage d'un message en ligne de commande ;création d'un jeu de sélection avec filtre sur entités BLOC et NOM du BLOC ( setq jeupoints ( ssget ( list ( cons 0 "INSERT" ) ( cons 2 "tcpoint,Bloc-Pts" ) ) ) ) Bisous,Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
TOPO-94 Posté(e) le 29 juin 2020 Auteur Partager Posté(e) le 29 juin 2020 ça marche tjr pas pour moi, le programme s'arrete lorsque je selectionne l'axe, il m'affiche sa longeur et puis c'est tout Cordialement, Lien vers le commentaire Partager sur d’autres sites More sharing options...
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