Aller au contenu

Messages recommandés

Posté(e)

Coucou,

Qu'est-ce qu'un "listing des hachures d'un DWG" ?!!
Je suggÚre un simple SELECTSIMILAR avec uniquement la propriété "Nom" dans les paramÚtres de la commande pour sélectionner toutes tes hachures de ton espace Objet. Puis tu fais une extraction des données (en suivant l'assistant d'extraction de données) pour extraire les colonnes dont tu as besoin (Calque, Couleur, Surface, ...) et cela va te créer un fichier .csv ou .xls...

Sinon, il va falloir ĂȘtre un peu plus prĂ©cis dans la demande pour comprendre s'il y a besoin de plus ou non...

Bisous,
Luna

Posté(e)

Alors une fois la sélection des hachures, je voudrais un listing (Excel) avec une colonne "calque de la hachure" et une autre avec "surface de la hachure". Une hachure par ligne si possible.

Merci 😁

Posté(e)

Je maintiens mon idĂ©e concernant l'extraction de donnĂ©es honnĂȘtement...
Il est Ă©videmment possible de faire cela par programmation, mais bon...Autant chercher l'existant et si chat n'existe pas, alors on passe par de la programmation >n<

Bisous,
Luna

Posté(e)

Bonjour @passi54

NON, pour l'extraction de données, c'est une commande qui demande les qualités des entités qu'on souhaite enregistrer.
Il n'y a pas de gabarit, on répond à des questions posées via une case de dialogue.

Je plussoie @Luna de favoriser les commandes natives quand c'est possible.

Toutefois, cette demande de listing étant récurrente, je propose cette solution en lisp.
Le nom de la commande à lancer en ligne de commande une fois le lisp chargé est "passi54"
Il est possible de l'améliorer, mais a minima, il répond à la demande formulée.

Amicalement

(defun c:passi54 ( / aire calque ent fich lis n nom ss)
    (setq ss (ssget (list (cons 0 "HATCH"))))
    (setq lis nil)
    (repeat (setq n (sslength ss))
        (setq ent (vlax-ename->vla-object(ssname ss (setq n (1- n)))))
        (setq aire (vlax-get-property ent 'area))
        (setq calque (vlax-get-property ent 'layer))
        (setq lis (cons (strcat calque ";" (rtos aire 2 2)) lis))
        )
    (setq Nom (strcat (getvar "dwgprefix") (getvar "dwgname")))
    (setq Nom (substr Nom 1 (- (strlen Nom) 4)))
    (setq Nom (strcat Nom ".csv"))
    (setq fich (open Nom "w"))
    (write-line "Calque;Superficie" fich)
    (foreach x lis
        (write-line x fich)
        )
    (close fich)
    (alert (strcat
               "Le fichier : "
               nom
               " a été créé et contient "
               (itoa (sslength ss))
               " enregistrements."
               )
           )
    )
    



                   

 

Posté(e)

Alors,

Le fichier de gabarit c'est toi qui le crĂ©er justement en faisant une extraction de donnĂ©e. Donc la premiĂšre fois, tu n'auras pas de fichier .dxe donc tu fais juste "CrĂ©er un fichier" et tu places ton nouveau fichier .dxe Ă  un emplacement dĂ©fini avec un nom dĂ©fini. Les fois d'aprĂšs, il te suffira de sĂ©lectionner ce fichier pour rĂ©aliser tes extractions de donnĂ©es Excel concernant les hachures 🙂

Ensuite, tu sélectionnes tes objets (je te suggÚre d'isoler tes objets HACHURE pour éviter de sélectionner autre chose, ou d'utiliser la commande 'FILTRE, avec l'apostrophe pour l'appeler en transparence) puis tu fais Suivant.
Ensuite tu choisis le type d'objets que tu veux (donc si jamais tu n'as pas filtrer ta sélection, tu peux le faire à ce moment là) et ensuite tu définis les propriétés que tu désires. Donc pour toi, c'est le calque et la surface.

Enfin, tu choisis le format de ton tableau, si tu veux grouper les objets identiques, etc... puis tu choisis d'extraire dans un fichier externe... Bref, utilise l'aide AutoCAD concernant cet outils !!

Bisous,
Luna

Posté(e)

@didier,

J'allais poster un code rapide mais je vois que tu as été plus efficace xD
Je sais que la demande est récurrente mais il ne faudrait pas non plus que les nouveaux utilisateurs d'AutoCAD prennent l'habitude de quémander un programme LISP sans apprendre à maßtriser dans un premier temps l'outil de base qu'est AutoCAD...
C'est pour cela que j'ai insistĂ© sur l'extraction de donnĂ©es, car cela devrait finalement ĂȘtre la premiĂšre rĂ©ponse mĂȘme si la programmation le permet ! Un fois le fichier .dxe crĂ©Ă© pour un type d'extraction, il suffit d'utiliser toujours ce mĂȘme fichier et l'extraction de donnĂ©es ne prend pas trop longtemps Ă  se faire (certes cela peut ĂȘtre un chouilla plus long que par un programme spĂ©cifique Ă  ce problĂšme mais bon)...

Parce qu'aprÚs on se retrouve à devoir pondre des variantes pour chaque utilisateurs parce que le programme est trop spécifique...
Mais peut-ĂȘtre que je suis simplement fatiguĂ©e ^^"

Bisous,
Luna

Posté(e)

Bonjour @Luna

Je te comprends, car je suis souvent l'initiateur du genre de réponse que tu as faite.
Je ne suis visiblement pas à un paradoxe prÚs, parce que dans le cas présent, j'ai répondu en Lisp.

Il est vrai que le niveau des utilisateurs baisse, et que leurs demandes de Lisp explosent alors que des solutions natives existent.
Au moins dans ce message, on a été remercié et l'auteur va essayer.


Le pire, c'est le message qui demande un service, qu'on se décarcasse pour répondre, et que l'auteur nous prend de haut en disant qu'on aurait pu faire un peu plus d'efforts. Les exemples sont nombreux.

Je te salue respectueusement ma chĂšre Luna.

Posté(e)

Bonjour @Luna, bonjour @Didier

@Didier, merci pour ton Lisp il fonctionne trĂšs bien.

@Luna, j'ai essayé en passant par "l'extraction de données", mais le fichier d'arrivée me pose un problÚme. Je me retrouve avec des regroupements d'objets alors que je voudrais un objet par ligne.

image.png.e11a32583b4d566fe5220f79915256a9.png

 En tout cas merci à vous.

Bonne journée

Posté(e)

Hello @passi54

Pour l Extraction de Donnees, tu rajoutes la Propriete Maintien / Handle , ainsi tu auras UN SEUL objet par ligne !

 ( A verifier car je n ai pas AutoCAD en ce moment )

Apres tu supprimes la colonne inutile dans Excel ...

La Sante, Bye  lecrabe

 

Autodesk Expert Elite Team

Posté(e)

Coucou

Il y a 9 heures, passi54 a dit :

@Luna, j'ai essayé en passant par "l'extraction de données", mais le fichier d'arrivée me pose un problÚme. Je me retrouve avec des regroupements d'objets alors que je voudrais un objet par ligne.

Il suffit de décocher la case "Combiner les rangées identiques" et il fera 1 ligne par entité

Bisous,
Luna

Posté(e)

Hello @Luna

Tu as raison, c encore plus simple !

C une vieille habiture pour moi d extraire le Maintien / Handle !

Car souvent dans Excel, tu découvres une horreur sur qq objets et ainsi tu peux les retrouver avec une routine Lisp ...

La Sante, Bye  lecrabe

 

Autodesk Expert Elite Team

Posté(e)

nan, je pense que tu es trop habitué aux extractions de données réalisées par des programmes xD
Je n'ai pas vu de propriĂ©tĂ© correspondant au handle dans l'assistant d'extraction de donnĂ©es. Mais comme beaucoup de programmes LISP, etc.. font l'extraction de cette propriĂ©tĂ©, peut-ĂȘtre as-tu confondu avec toutes tes routines 🙂

Bisous,
Luna

Posté(e)

Bonjour,

Avec un AutoCAD MAP 2022 on peut créer un rapport via une requete dwg sur des dessins associés sous forme de fichier txt (identique à un csv).

Export possible des objets autocad, leur propriétés, leurs valeurs attributaires SIG, etc.

A regarder car trùs utile 🙂

Fabcad
Le Rennais MĂ©tropolitain

Invité
RĂ©pondre Ă  ce sujet


×   CollĂ© en tant que texte enrichi.   Coller en tant que texte brut Ă  la place

  Seulement 75 Ă©moticĂŽnes maximum sont autorisĂ©es.

×   Votre lien a Ă©tĂ© automatiquement intĂ©grĂ©.   Afficher plutĂŽt comme un lien

×   Votre contenu prĂ©cĂ©dent a Ă©tĂ© rĂ©tabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insĂ©rez-les depuis une URL.

×
×
  • 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Ă©