Aller au contenu

Messages recommandés

Posté(e)

Bonsoir a tous,

J'ai un fichier DWG avec une série de point topo j'aimerai savoir si il est possible de créer un listing de points a partir d'autocad.

Merci a tous

  • 3 semaines après...
Posté(e)

Si mes points ne sont pas des blocs comment puis je faire apparaître mes numéros de points dans mon tableau.

Merci a toi Bryce

Bonne journée

Posté(e)

Hello

 

Si tes points ne sont pas des blocs avec 1/2 attribut(s) (No de Point/Matricule et/ou Altitude/Z) !

C quoi alors ??? :

 

- Des points graphiques simples avec 1/2 textes simples a cote (No de Point/Matricule et/ou Altitude/Z) ?

D'ailleurs quand tu selectionnes UN point graphique, as tu une Elevation/Altitude Z differente de ZERO ?

 

- Des points graphiques simples avec RIEN a cote ?

(auquel cas, il y a peut etre des choses cachees en XDATA !?)

Pour le verifier, tu tapes au clavier : XDLIST

Puis CLIC sur UN point graphique, que vois tu defiler dans l'ecran texte (F2 pour voir l'ecran texte) ?

 

lecrabe

Autodesk Expert Elite Team

Posté(e)

Bonjour,

 

J'imagine que ce sont de simples points, avec un texte à côté pour le numéro...

 

Dans ce cas, une simple extraction de données ne suffira sans doute pas (à moins peut-être d'extraire les coordonnées des points et des textes, puis de fusionner ça dans Excel).

Sinon, il faudra sans doute passer par un programme en Lisp.

 

Il faudrait déjà que tu postes un fichier en exemple, pour qu'on puisse voir ce qu'il est possible de faire. ;)

Posté(e)

Bonsoir a tous,

J'aimerai vous envoyer mon DXF mais j'ai un message qui me dit:"Vous n'avez pas la permission d'envoyer ce type de fichier."

Comment puis je vous envoyer mon fichier?

Merci

Posté(e)

Merci FormaBois

Je viens d'essayer de joindre mon fichier dxf zippé mais j'ai le même message:Vous n'avez pas la permission d'envoyer ce type de fichier.

Posté(e)

Hello

 

Enfin nous avons le dessin !

 

Donc tu as de simples points graphiques AutoCAD sur le calque ZERO

avec a cote :

 

- Texte simple sur le calque PNTNO

- A droite (100 grades a priori) - Distance 37 a 39 UI environ

 

- Texte simple sur le calque PNTELEV

- A droite mais un peu en dessous (170-173 grades) - Distance 37 a 39 UI environ

 

Donc il faudrait un progr Lisp/VLisp qui traite ces entites points UN par UN pour :

 

- Soit en faire un simple listing TXT ou CSV (ta demande si j'ai bien compris)

avec le contenu des 2 textes

 

- Soit (plus complique) generer sur le point graphique un bloc/symbole

avec 2 attributs (nommes par exemple : PNTNO et PNTELEV) dont le contenu serait en fait les 2 textes !

et apres avec l'extraction de donnees, tu peux tout faire ...

 

lecrabe

Autodesk Expert Elite Team

Posté(e)

Bonjour,

 

Dans le dessin exemple, les points ont une coordonnée Z, et les textes des n° se trouvent tous à + 0.3 en X du point correspondant.

Voici donc un Lisp qui extrait dans un fichier texte (csv) les coordonnées X, Y et Z de tous les points du dessin, ainsi que le contenu du texte correspondant.

 

(defun c:PTEXTR ( / dx dy prec *error* ss i pt coords mat ss2 txt file line )

 (setq dx 0.3) ; distance en X du matricule par rapport au point
 (setq dy 0.0) ; distance en Y du matricule par rapport au point
 (setq prec 3) ; nombre de décimales des coordonnées extraites

 (defun *error* (msg)
   (and msg
     (or
       (member (strcase msg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON"))
       (princ (strcat "\nErreur : " msg))
     )
   )
   (if ss (setq ss nil))
   (if file (close file))
   (princ)
 )
 
 (setq ss (ssget "_A" '( (0 . "POINT") ) ))
 (if (and
       ss
       (setq file (getfiled "" "points.csv" "csv" 1))
       (setq file (open file "w"))
     )
   (progn
     (write-line "Matricule;X;Y;Z" file)
     (repeat (setq i (sslength ss))
       (setq pt (entget (ssname ss (- i 1)))
             coords (cdr (assoc 10 pt))
             mat "?")
       (setq ss2 (ssget "_A" (list 
                               (cons 0 "TEXT")
                               (cons -4 "=,=,*")
                               (cons 10 (list (+ (car coords) dx)(+ (cadr coords) dy) 0.0))
                             )))
       (if ss2
           (setq txt (ssname ss2 0)
                 mat (cdr (assoc 1 (entget txt)))
                 ss2 nil)
       );if ss2
       (write-line (strcat mat ";" (rtos (car coords) 2 prec) ";" (rtos (cadr coords) 2 prec) ";" (rtos (caddr coords) 2 prec)) file)
       (setq i (- i 1))
     );repeat
     (princ "\nExtraction terminée.")
   );progn
   (if ss
     (princ "\nImpossible d'écrire le fichier.")
     (princ "\nAucun point trouvé.")
   )
 );if ss
 (*error* nil)
)

Posté(e)

Hello Bryce

 

Heureusement que les XMen (EastMen) sont presents et font attention !

 

J'avais oublie de remarquer que les points avaient une altitude en Z

donc le texte de l'altitude, on s'en fout ! = Bien joue !!

 

Par contre ton programme a un petit probleme sur mon AutoCAD 2009 :

(non teste sur d'autres versions)

 

Commande:

APPLOAD PTEXTR.lsp correctement chargé(s)

 

Commande: ; erreur: structure incorrecte de la liste en entrée

 

Donc soit mon Copier/Coller est rate !

soit c le tien !?

 

Et en plus je vois une distance (a droite) d'environ 38-39 UI entre le point et le texte !

Donc ou vois tu 0.3 ??

 

Merci d'avance, lecrabe

Autodesk Expert Elite Team

Posté(e)

Donc soit mon Copier/Coller est rate !

soit c le tien !?

 

Je viens de copier-coller le code ci-dessus directement dans la ligne de commande et ça passe, donc c'est le tien... ;)

 

Et en plus je vois une distance (a droite) d'environ 38-39 UI entre le point et le texte !

Donc ou vois tu 0.3 ??

 

UI ? Kesako ? :unsure:

Dans mon message je ne parle pas d'une distance, mais d'une distance en X (un Delta X). ;)

Posté(e)

Hello

 

Keskil est enervant ce Bryce ! surtout quand il a raison !!

 

Bon en fait mon copier / coller etait bon !

mais apres dans le NOTEPAD.exe, j'ai fais une micro-modif

du genre commentaire avec un ; et bien sur il y avait du code "loin" derriere ...

 

Donc avec un simple Entree/Return, c OK maintenant ...

 

En resume je n'avais pas vu que les points avaient une altitude en Z

en plus je n'avais pas remarque que Bryce parlait d'une distance en Delta X

 

Je manque de sommeil - Wharf c une bonne/mauvaise excuse !

 

Merci Bryce, lecrabe

Autodesk Expert Elite Team

Posté(e)

Bonjour les gars

Merci pour vos réponses.

J'aimerai savoir maintenant qu'est ce que je dois faire avec ce Lisp posté par Bryce car je ne m'y connais pas du tout en matière de Lisp,puis je avoir la marche a suivre?

Merci et spécial thank to Bryce et Lecrabe.

  • 2 semaines aprè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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité