narss Posté(e) le 29 janvier 2019 Posté(e) le 29 janvier 2019 Bonjour, déjà.Merci aussi, depuis un certain temps je croise les mêmes noms répondants indirectement à mes recherches et questionnement, mais aujourd'hui j'arrive parmi vous pour un problème sans solution. Grosso modo, j'ai des points topo non TCPOINT mais correctement construit (Attribut Altitude et Matricule), . Avec un Z 0 et un attribut Altitude correct.Le but est de rajouter ces points à un MNT. Seul soucis, "ALT" est nommé "Altitude".De là, impossible de basculer ALT en Z point.J'ai tenté de changer le bloc directement en TCPOINT mais 1. je conserve les attributs et le problème reste le même. 2. je ne conserve pas les attributs et de fait, je n'ai plus d'attributs à passer en Z. J'ai tenté d'utilisé BATTMAN, mais mon point topot (PiquéPoint) n’apparaît pas dans la liste.. J'ai moyennement envie de refaire les 500pts à la main, donc j'espère que l'explication est assez clair, et que vous saurez m'aider ... Cordialement, Narss.
MamyTina Posté(e) le 29 janvier 2019 Posté(e) le 29 janvier 2019 (modifié) Bonjour, Cov.Edition/Points Topographiques/ Attribut ALT => Z point A+ Oup's!J'ai parlé trop vite!désolé Modifié le 29 janvier 2019 par Ra_Mamt AutoCad MAP 2023 - Covadis + Autopiste 18.3b www.colas-mayotte.fr
didier Posté(e) le 29 janvier 2019 Posté(e) le 29 janvier 2019 Coucou Il est primordial que les étiquettes soient respectées,à savoir :MAT pour le numéro ou matricule etALT pour l'altitude ou le ZJe dis bien "étiquette" pas l'invite ou autre choseC'est modifiable par BATTMAN mais ne pas oublier de synchroniser... Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Olivier Eckmann Posté(e) le 29 janvier 2019 Posté(e) le 29 janvier 2019 Bonjour, Le plus simple avec l'outil d'extraction de données, exporter tout les points topo en fichier CSV en sélectionnant les 2 attributs MATRICULE et ALTITUDE, ainsi que les PositionX et Position Y (catégorie Géométrie); puis recharger un semis de point à partir de ce fichier. Sinon, il faut ajouter la définition des attributs dans le bloc (via éditeur de bloc et ATTDEF), puis utiliser CovEdition/Attributs/Renommer pour leur donner les bons noms : MAT ou NUMERO pour le matricule, et ALT ou Z pour l'altitude. L'ordre des attributs n'a pas d'importance. Olivier
narss Posté(e) le 29 janvier 2019 Auteur Posté(e) le 29 janvier 2019 C[/b][/size]'est modifiable par [/color]BATTMAN mais ne pas oublier de synchroniser... Sur le papier on est bon mais mon point ne veux pas apparaître (post synchro) dans la liste .. Le plus simple avec l'outil d'extraction de données, exporter tout les points topo en fichier CSV en sélectionnant les 2 attributs MATRICULE et ALTITUDE, ainsi que les PositionX et Position Y (catégorie Géométrie); puis recharger un semis de point à partir de ce fichier. Sinon, il faut ajouter la définition des attributs dans le bloc (via éditeur de bloc et ATTDEF), puis utiliser CovEdition/Attributs/Renommer pour leur donner les bons noms : MAT ou NUMERO pour le matricule, et ALT ou Z pour l'altitude. L'ordre des attributs n'a pas d'importance. Je testerais la prochaine fois, je ne pense pas assez à passez par les extractions. Au final j'ai "BURST" mes points et j'ai "Affecter Z selon texte".Solution bancale, mais dans le cas de points existants qui ne bougerons plus. Ca ira bien .. Merci à tous !
COME Posté(e) le 29 janvier 2019 Posté(e) le 29 janvier 2019 Au final j'ai "BURST" mes points et j'ai "Affecter Z selon texte".Solution bancale, mais dans le cas de points existants qui ne bougerons plus. Ca ira bien .. Salut, ATTENTION ! Effectivement solution bancale, car si j'ai bien compris ta manip, tes points topo se retrouvent insérés par le point d'insertion du texte et non plus du point levé, et suivant la "construction" des points topo cela peut engendrer des écarts qui peuvent avoir une réelle incidence sur le terrain. Comme tu l'écris à manipuler avec précaution et en connaissance de cause. Bon courage ! COME La vie sans musique est tout simplement une erreur, une fatigue, un exil. »Friedrich Nietzsche
lecrabe Posté(e) le 29 janvier 2019 Posté(e) le 29 janvier 2019 Hello Si tu n'as pas Covadis , tu peux utiliser l'excellente routine ALTZ de Patrick_35 ! Tu zoomes sur le Bloc VOULU et tu CLIC sur l'attribut VOULU ...Et HOP TOUS les Blocs montent en Z au contenu de la valeur numerique de l'attribut clique ! LA SANTE, Bonne Annee, Bye, lecrabe ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Routine: ALTZ par P35 vs 1.00 ;; ;; Monter en Z (Elevation/Altitude) TOUS les Blocs (Meme Nom) correspondant ;; a l'attribut (Elevation/Altitude) clique/selectionne ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:ALTZ (/ att bas doc ent lst pos pts sel nombl) ; Ici, on a une une fonction qui donne le nom du bloc, même ceux qui sont dynamiques. ; car si on regarde juste le nom du bloc dynamique, on a quelque chose dans ce style "*U304" ; Donc, c'est la propriété effectivename qu'il faut regarder si elle existe. (defun nombl(bl) (if (vlax-property-available-p bl 'effectivename) (vla-get-effectivename bl) (vla-get-name bl) ) ) ; Activation des fonctions activex (vl-load-com) ; On définit que l'on travail sur le document actif (le dessin actuel) (setq doc (vla-get-activedocument (vlax-get-acad-object))) ; On définit le début du undo, même style que (command "_.undo" "_group") (vla-startundomark doc) ; on fait un test avec la fonction And. ; Un and à la particularité de tester le 1er argument, si c'est ok on passe au suivant, etc... ; jusqu'à la fonction (ici le progn) ; On sélectionne un sous-objet avec la fonction nentsel (and (setq ent (nentsel)) ; On transforme la sélection en objet vla (setq att (vlax-ename->vla-object (car ent))) ; On regarde si c'est un attribut (eq (vla-get-objectname att) "AcDbAttribute") ; On détermine le père de l'attribut, c'est à dire le bloc qui contient ledit attribut sélectionné (setq bas (vla-objectidtoobject (vla-get-database att) (vla-get-ownerid att)) ; On recherche les attributs du bloc déterminé avant que l'on ajoute dans une liste lst (vlax-invoke bas 'getattributes) ; On calcul la position de l'attribut dans la liste définit auparavant pos (- (length lst) (length (member att lst))) ) ; on fait une sélection dans tout le dessin avec comme arguments ; que ce sont des blocs (cons 0 "insert") ; que l'on recherche les blocs anonymes (cons 2 "`**") ; que l'on recherche un bloc spécifique selon son nom (cons 2 (nombl bas)) ; et que pour que le filtre fonctionne, on regroupe les différents noms (cons 2 (strcat "`**," (nombl bas))) ; que l'on recherche des blocs avec attributs (cons 66 1) (ssget "x" (list (cons 0 "insert") (cons 2 (strcat "`**," (nombl bas))) (cons 66 1))) (progn ; on fait une boucle de recherche (vlax-for = foreach mais pour du vla) ; et sur la sélection active, donc de ssget (vla-get-activeselectionset doc) (vlax-for ent (setq sel (vla-get-activeselectionset doc)) ; Je vérifie que le bloc dans la boucle correspond bien au nom du bloc de base (and (eq (nombl bas) (nombl ent)) (progn ; Je récupère le point d'insertion (setq pts (vlax-get ent 'insertionpoint)) ; il faut lire la ligne de code à l'envers, en fonction de ses imbrications ; je regarde les attributs du bloc de ma boucle (vlax-invoke ent 'getattributes) ; je prends l'attribut qui m'intéresse en fonction de sa position dans la liste ; (nth pos (vlax-invoke ent 'getattributes)) ; je récupère la valeur de l'attribut que je transforme en réel ; (atof (vla-get-textstring (nth pos (vlax-invoke ent 'getattributes)))) ; Je construis une liste de point ; (list (car pts) (cadr pts) (atof (vla-get-textstring (nth pos (vlax-invoke ent 'getattributes))))) ; que j'écris comme position du bloc dans la boucle de recherche (vlax-put ent 'insertionpoint (list (car pts) (cadr pts) (atof (vla-get-textstring (nth pos (vlax-invoke ent 'getattributes)))))) ) ) ) (vla-delete sel) ; J'efface le jeu de sélection. A faire systématiquement car sinon, a un moment donné, le lisp plantera à cause de lui ; Pourquoi ? c'est la question à qui veux gagner des millions. ) ) ; On définit la fin du undo, même style que (command "_.undo" "_end") (vla-endundomark doc) ; Silence (princ) ) Autodesk Expert Elite Team
Minocia Posté(e) le 30 janvier 2019 Posté(e) le 30 janvier 2019 Bonjour,Si tu exploses ton point topo "PiquéPoint", quels sont les éléments que tu obtiens ?(nom d'étiquette, d'attribut, calque)
narss Posté(e) le 30 janvier 2019 Auteur Posté(e) le 30 janvier 2019 Rebonjour ! ATTENTION ! Effectivement solution bancale, car si j'ai bien compris ta manip, tes points topo se retrouvent insérés par le point d'insertion du texte et non plus du point levé, et suivant la "construction" des points topo cela peut engendrer des écarts qui peuvent avoir une réelle incidence sur le terrain. Comme tu l'écris à manipuler avec précaution et en connaissance de cause. Bon courage ! Dans le cas présent avec cette manip j'ai pu sélectionner les points et ce sont eux qui ont pris le Z indiqué par le texte le plus proche.Je ne savais pas que le point pouvait devenir celui le point d'accroche du texte .. Ce n'est pas le cas ici mais je resterais vigilant au cazou.. HelloSi tu n'as pas Covadis , tu peux utiliser l'excellente routine ALTZ de Patrick_35 ! j'ai COVADIS justement, dommage de passer par des moyens détourné dans ce cas .; (Le légendaire Patrick_35. Un saint dans notre bureau..) Bonjour,Si tu exploses ton point topo "PiquéPoint", quels sont les éléments que tu obtiens ?(nom d'étiquette, d'attribut, calque) Je n'ai plus qu'un point.Les attributs disparaissent.Ci-après, une capture des propriétés du point non décomposé.On voit clairement que l'attribut Altitude n'est pas ALT et pour moi, c'est la que ca coince pour la manip de base. ATTRIBUTS PiquéPoints Ca n'explique pas le fait que je ne puisse pas le voir via BATTMAN. Merci,
Olivier Eckmann Posté(e) le 30 janvier 2019 Posté(e) le 30 janvier 2019 Bonjour, Comme je l'ai dit, il est possible de s'en sortir avec AutoCAD et Covadis, mais si BATTMAN ne propose pas le bloc dans la liste, c'est que la définition "COURANTE" du bloc n'a pas d'attribut, donc:1. Sélectionner un bloc du dessin, puis clic-droit / Editeur de bloc2. Constater qu'il n'y a pas d'attribut, donc il faut les ajouter avec la commande DDATTDEF 2.1 Ajouter un premier attribut dont l'étiquette est MATRICULE 2.2 Ajouter un second attribut dont l'étiquette s'appelle ALTITUDE3. Covadis Edition / Attibut / Renommer 3.1 sélectionner le nom du bloc 3.2 Sélectionner l'attribut MATRICULE 3.3 Saisir le nouveau nom d'étiquette => MAT 3.4 Valider par OK4. Recommencer l'étape 3 pour renommer ALTITUDE en ALT5. On dispose maintenant de point topo Covadis avec une définition de bloc point topo cohérente avec les blocs insérés dans le dessin. Olivier 1
narss Posté(e) le 30 janvier 2019 Auteur Posté(e) le 30 janvier 2019 Merci Olivier ! Je viens d'essayer et ça marche très bien ! Même si je ne comprend pas pourquoi ce qui semble être des attributs dans la manipulation du point, n'en sont pas, c'est parfait. Encore merci !
BillyCAD Posté(e) le 8 mai 2019 Posté(e) le 8 mai 2019 Bonjour,La solution dit bancale que vous avez suggéré je l'utilise souvent juste je passe par d'autre étape :1-je duplique le fichier du levé2-je passe à la decomposition des bloc de Point topo via la commande décomposition dans covadis édition, si le bloc ne se décompose pas ,jecrre un nouveau attribut via l'éditeur du bloc .3-affacte z selon texte via covadis édition (pour récupère les z à partir des texte d'altitude)4-je reviens sur mon fichier originale (fichier dupliqué au préalable) et je fais la comparaison avec un point généré après décomposition pour voir des décalage en x et h (ils sont Constant)4-immatriciculer (covadis 2d)les nouveau points issu de la décomposition .5 exporter les Point topo 6 importer les points topo en précisant le décalage en X et Y.. AutoCAD 2020TopoCAD 5.41.0015Covadis 17.0f Windows 10v.1909-64bits
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