Aller au contenu

Data extraction avec une cote


coube

Messages recommandés

Bonjour

 

J'aimerais pouvoir extraire des donner d'une cote a partir de la commande DATAEXTRACTION

 

comme dans mon exemple je veux créé une liste

 

P1 - W10x22x 3 1/16"

P2 - W10x22x 3 5/8"

P3 - W10x22x 4 5/8"

 

D'habitude j'utilise un bloc pour faire mon dataextraction, avec cette méthode je suis obliger de réécrit la longueur de ma pièce manuellement du de doubler mes info sur mon dessins et aussi de faire des erreur de recopiage.

 

Pour ca que je recherche une méthode pour faire une liste a partir d'une cote, je sait pas si c est possible.

 

merci pour votre aide.

 

J'ai un exemple sur autocad mais je suis pas capable de le publier sur le forum

EXEMPLE.pdf

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Pour Info, on peut faire des choses" plus ou moins folles" avec les champs !

 

Dans l'exemple joint sur les cotes lineaires du rectangle, tu vois aussi le diametre et le rayon du cercle

( En 2eme ligne par l'utilisation du \P qui permet de passer a la ligne suivante )

Et surtout par l'utilisation d'un copier/coller du contenu special champ ...

 

Si tu changes le cercle : un petit RG (REGEN) et HOP Diametre & Rayon suivent ...

 

Bye, lecrabe

Test_Cotation_&_Champ__Patrice.zip

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

En faisant un fichier CSV par exemple. Peut être faudra t-il encore ajuster le code pour avoir exactement ce que tu veux.

 

(defun c:dim2csv ( / js dxf_cod mod_sel n lremov file_name cle f_open key_sep str_sep oldim ename l_pt)
 (princ "\nChoix d'un objet modèle pour le filtrage: ")
 (while
   (null
     (setq js
       (ssget "_+.:E:S"
         (list
           '(0 . "DIMENSION")
           (cons 67 (if (eq (getvar "CVPORT") 1) 1 0))
           (cons 410 (if (eq (getvar "CVPORT") 1) (getvar "CTAB") "Model"))
         )
       )
     )
   )
   (princ "\nCe n'est pas un objet valable pour cette fonction!")
 )
 (vl-load-com)
 (setq dxf_cod (entget (ssname js 0)))
 (foreach m (foreach n dxf_cod (if (not (member (car n) '(0 67 410 8 6 62 48 420 70))) (setq lremov (cons (car n) lremov))))
   (setq dxf_cod (vl-remove (assoc m dxf_cod) dxf_cod))
 )
 (initget "Unique Tout Manuel _Single All Manual")
 (if (not (eq (setq mod_sel (getkword "\nMode de sélection filtrée, choix [unique/Tout/Manuel]<Manuel>: ")) "Single"))
   (if (eq mod_sel "All")
       (setq js (ssget "_X" dxf_cod))
       (setq js (ssget dxf_cod))
   )
 )
 (setq file_name (getfiled "Nom du fichier a créer ?: " (strcat (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 3)) "csv") "csv" 37))
 (if (null file_name) (exit))
 (if (findfile file_name)
   (progn
     (prompt "\nFichier éxiste déjà!")
     (initget "Ajoute Remplace annUler _Add Replace Undo")
     (setq cle
       (getkword "\nDonnées dans fichier? [Ajouter/Remplacer/annUler] <R>: ")
     )
     (cond
       ((eq cle "Add")
         (setq cle "a")
       )
       ((or (eq cle "Replace") (eq cle ()))
         (setq cle "w")
       )
       (T (exit))
     )
     (setq f_open (open file_name cle))
   )
   (setq f_open (open file_name "w"))
 )
 (initget "Espace Virgule Point-virgule Tabulation _SPace Comma SEmicolon Tabulation")
 (setq key_sep (getkword "\nSéparateur [Espace/Virgule/Point-virgule/Tabulation]? <Point-virgule>: "))
 (cond
   ((eq key_sep "SPpace") (setq str_sep " "))
   ((eq key_sep "Comma") (setq str_sep ","))
   ((eq key_sep "Tabulation") (setq str_sep "\t"))
   (T (setq str_sep ";"))
 )
; (setq str_sep (vl-registry-read "HKEY_CURRENT_USER\\Control Panel\\International" "sList"))
 (setq oldim (getvar "dimzin"))
 (setvar "dimzin" 0)
 (write-line (strcat "Type" str_sep "Longueur") f_open)
 (repeat (setq n (sslength js))
   (setq ename (vlax-ename->vla-object (ssname js (setq n (1- n)))) l_pt nil)
   (if (vlax-property-available-p ename 'Measurement)
     (setq l_pt (cons (cons (vlax-get ename 'TextOverride) (vlax-get ename 'Measurement)) l_pt))
   )
   (foreach n l_pt
     (write-line (strcat (car n) str_sep (rtos (cdr n) 2 2)) f_open)
   )
 )
 (close f_open)
 (setvar "dimzin" oldim)
 (prin1)
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

POur ce que tu me propose lecrabe c'est intéresant mais on peu pas faire un dataextraction pour faire une liste de ce qui est marquer dans la cote.

 

pour ta réponse bonuscad

Je sais pas trop comment me servir d un fichier csv dans autocad

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Salut

 

POur ce que tu me propose lecrabe c'est intéresant mais on peu pas faire un dataextraction pour faire une liste de ce qui est marquer dans la cote.

 

pour ta réponse bonuscad

Je sais pas trop comment me servir d un fichier csv dans autocad

  • Downvote 1
Lien vers le commentaire
Partager sur d’autres sites

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é