CTZen Posté(e) le 25 juin 2018 Posté(e) le 25 juin 2018 Salut la dream team !!! J'ai trouvé le lisp (Merci Gile) pour faire Attribut > Z du point mais pas l'inverse ...Je cherche donc une solution (lisp ?) pour appliquer l'information Z d'un bloc point vers son attribut d'altitude. Et tout ça SANS utiliser Covadis (ou mensura, ou autre, ...). Quelqu'un à la solution miracle ? :D Merci ! AutoCAD Map 3D 2025 Covadis 18.3c + AutoPiste Windows 11 Famille v.24H2 - 64 bits Toujours à l'affût des bonnes astuces
Demixav Posté(e) le 25 juin 2018 Posté(e) le 25 juin 2018 Salut... Il existe MAJZ que je te laisse chercher sur le net... (je ne sais pas copier le code d'un lisp, désolé! ci dessous, le début du lisp pour t'aider dans ta recherche...) ((defun c:MAJZ (/ obj acdoc precision *error* oldcmdecho blk b att ss ins); Met à jour pour toutes les références du bloc choisi un attribut sélectionné,; pour y afficher la coordonnée Z du bloc.; Brice Studer, mars 2011 Par contre, juste par curiosité, pourquoi ne pas utiliser la fonction de Covadis qui fait ça très bien?... Xav AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
DenisHen Posté(e) le 25 juin 2018 Posté(e) le 25 juin 2018 Salut.Voici le Lisp :(defun c:MAJZ (/ obj acdoc precision *error* oldcmdecho blk b att ss ins) ; Met à jour pour toutes les références du bloc choisi un attribut sélectionné, ; pour y afficher la coordonnée Z du bloc. ; Brice Studer, mars 2011 ; ;~~~~~~~ CONFIG ~~~~~~~~~~~ (setq precision 3) ; nombre de décimales de l'altitude ;~~~~~~~ FIN CONFIG ~~~~~~~ (vl-load-com) (setq acdoc (vla-get-ActiveDocument (setq obj (vlax-get-acad-object))) ) ;~~~~~~~ GESTION ERREURS ~~~~~~~~~~~ (defun *error* (msg) (vla-endundomark acdoc) (and msg (or (member (strcase msg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) ) (if ss (vla-delete ss)) (princ) ) ;~~~~~~~ FIN GESTION ERREURS ~~~~~~~ ;~~~~~~~ SOUS-FONCTIONS ~~~~~~~~~~~ (defun PutAttValue ( object tag value ) (mapcar (function (lambda ( attrib ) (and (= tag (vla-get-TagString attrib)) (vla-put-TextString attrib value) ) ) ) (vlax-invoke object 'GetAttributes) ) value ) ;~~~~~~~ FIN SOUS-FONCTIONS ~~~~~~~ (vla-StartUndoMark acdoc) (while (not (and (setq blk (car (entsel "\nSélectionnez un des blocs à mettre à jour: "))) (setq blk (vlax-ename->vla-object blk)) (= (vla-get-ObjectName blk) "AcDbBlockReference") (setq blk (vla-get-effectivename blk)) );and );not (princ "\nL'objet sélectionné n'est pas un bloc ! ") );while no bloc (while (not (and (setq att (car (nentsel "\nCliquez sur une valeur d'altitude: "))) (setq att (vlax-ename->vla-object att)) (= (vla-get-ObjectName att) "AcDbAttribute") (setq att (vla-get-tagstring att)) );and );not (princ "\nL'objet sélectionné n'est pas un attribut ! ") );while no attribute (if (ssget "_X" '( (0 . "INSERT") ) ) (vlax-for b (setq ss (vla-get-ActiveSelectionSet acdoc)) (if (= blk (vla-get-effectivename B)) (progn (setq ins (caddr (vlax-get b 'InsertionPoint))) (putattvalue b att (rtos ins 2 precision)) ) );if b = blk );vlax-for );if ssget (*error* nil) (princ) );MAJZ (princ "\nCommande à utiliser: MAJZ") (princ) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Demixav Posté(e) le 25 juin 2018 Posté(e) le 25 juin 2018 Salut Denis, Comment fais tu pour copier un code stp?Merci! Xav AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
DenisHen Posté(e) le 25 juin 2018 Posté(e) le 25 juin 2018 Je ne comprend pas... Par un copier/coller...? Tu veux dire que tu ne sais pas éditer un .lsp depuis AutoCAD (commande 'VLIDE) ? Ou que tu ne sais pas le mettre en forme dans le forum (balises au dessus du texte "<>") ? Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Demixav Posté(e) le 25 juin 2018 Posté(e) le 25 juin 2018 pardon... le mettre en forme sur le forum je voulais dire! AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
CTZen Posté(e) le 26 juin 2018 Auteur Posté(e) le 26 juin 2018 Salut à tous ! Merci pour la réponse, MAJZ fonctionne nickel ! Et en plus facilement paramétrable pour mettre seulement 2 décimales en début de lisp ! AutoCAD Map 3D 2025 Covadis 18.3c + AutoPiste Windows 11 Famille v.24H2 - 64 bits Toujours à l'affût des bonnes astuces
CTZen Posté(e) le 26 juin 2018 Auteur Posté(e) le 26 juin 2018 Ah ... petite question tout de même ... Vous savez comment faire pour qu'il ne supprime pas les Zéro de fin ? Parce que genre un point à Z = 56.10 il me met l'attribut à 56.1 ... AutoCAD Map 3D 2025 Covadis 18.3c + AutoPiste Windows 11 Famille v.24H2 - 64 bits Toujours à l'affût des bonnes astuces
Demixav Posté(e) le 26 juin 2018 Posté(e) le 26 juin 2018 Re, @ Charles T, pourquoi ne souhaites tu pas utiliser la fonction de Covadis stp? Juste par curiosité... Merci. Pour les décimales, un lispeur te répondras certainement... ;) Xav AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
CTZen Posté(e) le 26 juin 2018 Auteur Posté(e) le 26 juin 2018 En fait sur mes 6 projeteurs seulement 1 à COVADIS et s'en sert en permanence. Et comme j'avais besoin d'un coup de main sur du nivellement, j'ai filé ça à un autre projeteur qui étais dispo ... et qui du coup n'avais pas de licence covadis. Tout simplement ^^ AutoCAD Map 3D 2025 Covadis 18.3c + AutoPiste Windows 11 Famille v.24H2 - 64 bits Toujours à l'affût des bonnes astuces
Demixav Posté(e) le 26 juin 2018 Posté(e) le 26 juin 2018 ha... je m'attendais à une réponse "technique" et non pratique! ;)merci pour la réponse! Bonne journée!Xav AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
COME Posté(e) le 26 juin 2018 Posté(e) le 26 juin 2018 Salut, alors au vu de la rapidité de la manipulation sous Covadis, d'après mes souvenirs, pourquoi ne pas demander au projeteur "Covadis" de réaliser la manip et uniquement cette manipulation, tu aurais eu ainsi très rapidement satisfaction ? Après il ne faut pas que cela se répète trop souvent dans la journée car la production propre à ton projeteur "Covadis" va fortement en souffrir, et je parle en connaissance de cause (1 seule licence Autocad et suis le seul à savoir m'en servir, certains jours je suis obligé de mettre des "Holas" !). Bonne journée, COME La vie sans musique est tout simplement une erreur, une fatigue, un exil. »Friedrich Nietzsche
CTZen Posté(e) le 26 juin 2018 Auteur Posté(e) le 26 juin 2018 Salut COME, Justement en fait il faut utiliser souvent la manipulation. Pour détailler la méthode, en gros le projeteur (sans licence covadis) créer une polyligne 3D entre 2 points 3D, puis colle le bloc point sur la polyligne 3D de façon a avoir un point interpolé. Puis après ... Z du point vers Attribut pour remplir automatiquement l'attribut ALT AutoCAD Map 3D 2025 Covadis 18.3c + AutoPiste Windows 11 Famille v.24H2 - 64 bits Toujours à l'affût des bonnes astuces
Patrick_35 Posté(e) le 26 juin 2018 Posté(e) le 26 juin 2018 Salut Denis Je vois que tu commences à bien maitriser le vlisp. Bravo :D @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Olivier Eckmann Posté(e) le 26 juin 2018 Posté(e) le 26 juin 2018 Bonjour, Pourquoi ne pas utiliser un attribut avec un champ dynamique qui récupère automatiquement le Z du point? Olivier
CTZen Posté(e) le 26 juin 2018 Auteur Posté(e) le 26 juin 2018 Salut Olivier ! Parce que je pense que ça risque de ne plus fonctionner si on reprend le fichier sous COVADIS ensuite ? AutoCAD Map 3D 2025 Covadis 18.3c + AutoPiste Windows 11 Famille v.24H2 - 64 bits Toujours à l'affût des bonnes astuces
Olivier Eckmann Posté(e) le 26 juin 2018 Posté(e) le 26 juin 2018 Salut Charles, Personnellement, je ne vois pas trop ce qui bloquerait Covadis. Si c'est pour faire des MNT, il utilise le Z du bloc et pas le contenu de l'attribut.Au pire tu fais un ATTOUT, suivi d'un ATTIN pour rendre statique les Z sous forme de texte et plus de champ.Le plus gros risque c'est de remettre tous les points topo en 2D ce qui supprimerait tous les Z. Olivier
DenisHen Posté(e) le 26 juin 2018 Posté(e) le 26 juin 2018 Je vois que tu commences à bien maitriser le vlisp. Bravo :DDésolé de te décevoir, mais ce code n'est pas de moi... :( Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
bonuscad Posté(e) le 26 juin 2018 Posté(e) le 26 juin 2018 Ah ... petite question tout de même ... Vous savez comment faire pour qu'il ne supprime pas les Zéro de fin ? Parce que genre un point à Z = 56.10 il me met l'attribut à 56.1 ... Cela est géré par la variable de cotation "DIMZIN", même si cela peut paraitre étrange... elle influe aussi sur les fonctions (rtos) et (angtos) du lisp. Donc à régler à ton goût avant utilisation ou intégrer la changement dans le lisp lui même. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
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