AutoCAD : Extraire donnée polyligne vers excel

AutoCAD : Extraire donnée polyligne vers excel

raedch2
Explorer Explorer
2 348 Visites
9 Réponses
Message 1 sur 10

AutoCAD : Extraire donnée polyligne vers excel

raedch2
Explorer
Explorer

Bonjour tout le monde,

je veut un programe  autolisp  pour faire  des liaisons avec Excel.

c'est t'a dire je veut extraire les donne (aire+longeur)d'un polyline vers excel avec un simple clic. 

encore merci pour votre aide....


Le titre du sujet a été modifié par un modérateur pour faciliter la recherche. Titre original:
Extraire donnée polyligne vers excel

0 J'aime
Solutions acceptées (1)
2 349 Visites
9 Réponses
Replies (9)
Message 2 sur 10

braudpat
Mentor
Mentor

Hello @raedch2 

 

Q1) SVP tu as un "simple" ACAD LT ou un "vrai" ACAD ?

 

Q2) Et quelle version: 2022, 2021, etc ?

 

La Sante, Meilleurs Voeux, Bye, Patrice (The Old French EE Froggy)

 

Patrice ( Supporting Troops ) - Autodesk Expert Elite
If you are happy with my answer please mark "Accept as Solution" and if very happy please give me a Kudos (Felicitations) - Thanks

Patrice BRAUD

EESignature


0 J'aime
Message 3 sur 10

Luna3
Advocate
Advocate

Coucou,

Si tu as un AutoCAD LT, la programmation AutoLISP n'est pas supportée (ou autre type de programmation complexe), cependant il est toujours possible de produire un script ou langage DIESEL pour y parvenir. Dans ce cas il me semble que ScanDXF, programme fonctionnel pour AutoCAD LT développé par bryce, peut être la solution à ton problème. En revanche, ne l'ayant jamais utilisé personnellement, @braudpat sera sûrement plus à même de fournir les liens correspondant que moi.

 

Autrement avec AutoCAD full, il existe les extractions de données qui fonctionnent très bien (Outils > Extraction de données). De plus une fois que l'on a défini une première extraction, AutoCAD crée un fichier .dxe permettant de simplifier les prochaines extractions de données similaires afin d'aller beaucoup plus vite pour chaque page de l'assistant d'extraction des données.

 

Donc il ne me semble pas qu'un programme AutoLISP soit réellement nécessaire que se soit pour AutoCAD ou AutoCAD LT. Ou bien je n'ai pas compris la demande...car si le but c'est uniquement de gagner 1 ou 2 clics, le gain de temps d'utilisation se compte en millisecondes alors que le temps de programmation se compte en heures.

 

Bisous,

Luna

Message 4 sur 10

patrick.emin
Alumni
Alumni

Bonjour @raedch2 

Merci d’avoir posé votre question ! Vos questions et leurs réponses enrichissent nos forums et aideront la communauté au long terme. Si certaines réponses vous paraissent appropriées, voulez vous avoir l'amabilité de cliquer sur le bouton  APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
0 J'aime
Message 5 sur 10

raedch2
Explorer
Explorer

@patrick.emin 

Merci, mais malheureusement aucune réponse paraissent appropriées .
Ma demande est un solution pour que je peut extraire les donne (aire , longeur) du plusieur polyline.bien que j'ai deja vu en youtube un programme qui peut extraire les cordonne des point et l'extraire vers excel,donc je voulais savoir s'il existe un programme similaire
cordialement

Message 6 sur 10

patrick.emin
Alumni
Alumni

Entendu @raedch2 , merci pour avoir répondu, d'autres ajouteront certainement leurs solutions du moins leurs pistes à cette question.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
0 J'aime
Message 7 sur 10

CADaSchtroumpf
Advisor
Advisor
Solution acceptée

Bonjour,

Essaye ce code pour extraire vers excel.

Il y a le HANDLE de l'entité (pour la retrouver!) son aire et sa longueur.

(vl-load-com)
(defun c:PLINE_DATA_OUT ( / sel output doc xls wks column count nb ename obj)
  (setq
    sel (ssget '((0 . "*POLYLINE") (-4 . "<NOT") (-4 . "&") (70 . 120) (-4 . "NOT>")))
    file_output (strcat (getvar "DWGPREFIX") (substr (getvar "DWGNAME") 1 (- (strlen (getvar "DWGNAME")) 4)) ".xlsm")
  )
  (cond
    ((and sel file_output)
      (setq doc (vla-get-activedocument (vlax-get-acad-object)))
      (vla-startundomark doc)
      (setq xls (vlax-get-or-create-object "Excel.Application"))
      (vlax-invoke (vlax-get xls 'workbooks) 'Add)
      (vlax-put xls 'Visible :vlax-true)
      (setq
        wks (vlax-get xls 'ActiveSheet)
        column 65
        count 1
      )
      (vlax-put (vlax-get-property wks 'range (strcat "A1:E" (itoa (sslength sel)))) 'Cells "")
      (foreach el '("HANDLE" "Aire" "Longueur")
        (vlax-put (vlax-get-property wks 'range (strcat (chr column) (itoa count))) 'value el)
        (setq column (1+ column))
      )
      (setq
        column 65
        count (1+ count)
      )
      (repeat (setq nb (sslength sel))
        (setq
          ename (ssname sel (setq nb (1- nb)))
          obj (vlax-ename->vla-object ename)
        )
        (foreach el (list (strcat "'" (cdr (assoc 5 (entget ename)))) (vlax-get obj 'Area) (vlax-get obj 'Length))
          (vlax-put (vlax-get-property wks 'range (strcat (chr column) (itoa count))) 'value el)
          (setq column (1+ column))
        )
        (setq
          column 65
          count (1+ count)
        )
      )
      (mapcar 'vlax-release-object (list wks xls))
      (gc)
      (vla-endundomark doc)
    )
  )
  (prin1)
)
Message 8 sur 10

Luna3
Advocate
Advocate

@raedch2,

 

Sans réponse constructive de ta part, cela ne sera vraiment pas simple de t'aider...
Peux-tu développer en quoi les différentes propositions ne te conviennent pas, et surtout dire si oui ou non tu as un AutoCAD LT ?!
Car n'ayant pas cette info, cela va être difficile d'adapter le dialogue vers une solution viable. A mes yeux, la solution d'une extraction de données est une réponse plus que suffisante pour répondre à ton besoin. Merci d'expliquer pourquoi cela ne peut pas fonctionner dans ton cas. Si le problème vient du fait que tu ne maîtrises pas correctement cet outils pour obtenir le résultat souhaité, alors pas de soucis je peux faire un exemple pas à pas pour comprendre comment il fonctionne, mais il faut le dire. Exiger un programme LISP lorsque ce n'est pas foncièrement nécessaire n'est pas une solution non plus.

 

Bisous,
Luna

Message 9 sur 10

raedch2
Explorer
Explorer

@CADaSchtroumpf 

Merci bien 😘

0 J'aime
Message 10 sur 10

raedch2
Explorer
Explorer

@Luna3 

les différentes propositions ne te conviennent pas parceque par exemple quant je fait extraire tous les donne je peut pas savoir laquelle de ces proprietes correspond au poyline particuiler. 

Dans lequel jai 10 poyline je ne peut savoir numero 6 par exemple

0 J'aime