Aller au contenu

Messages recommandés

Posté(e)

Bonjour je cherche a automatiser une extraction de différentes partis d'objets (contenu de texte,position, attribut de point, calque etc...)sur autocad jusqu'à un fichier txt, comment puis je faire ???

Posté(e)

Salut et Bienvenue !

Tu peux le faire par programmation.

Mais il faudrait que tu sois un peu plus précis dans ta demande pour que l'on peuisse mieux te répondre !

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Merci pour la réponse rapide, en gros a partir d'un plan je doit récupérer des données et créer un fichier txt:

 

les données sont:

 

Bloc point: Calque;XX;matricule du point; abscisse,ordonnée;XX,angle d'orientation du texte

(XX correspond à des saisie de code que je doit faire)

Ligne : Calque;XX;Abscisse;Ordonnée

Cote: calque;XX;texte de la cote;abscisse texte;ordonnée texte;angle d'orientation du texte;Abscisse et ordonnée début de cote;abscisse ordonnée fin de cote

Texte:calque;XX;contenu du texte;Abscisse texte;ordonnée texte;angle d'orientation du texte

bloc:calque;XX;nom du bloc;abscisse;ordonnée;angle d'orientation du bloc

 

voilà j'éspère avoir été claire, merci d'avance a tous ceux qui pourront m'aider.

 

Posté(e)

Bloc point: Calque;XX;matricule du point; abscisse,ordonnée;XX,angle d'orientation du texte

(XX correspond à des saisie de code que je doit faire)

tes "XX" est-ce la même chose sur tout le TXT?

Seulement pour les Blocs, s'appelant "POINT"?

pour le Matricule du point, parle tu du point d'insertion de ce bloc? (à ces conditions abcisse ordonnée c'est quoi)

Orientation du texte c'est donc qu'il y a soit un attribut(ATTDEF : donc étiquette à définir) soit un texte (TEXTDYN, RTEXT, MTEXT)

 

Ligne : Calque;XX;Abscisse;Ordonnée

Une ligne est composé d'un point de départ et de fin c'est lequel que tu veux?

 

Cote: calque;XX;texte de la cote;abscisse texte;ordonnée texte;angle d'orientation du texte;Abscisse et ordonnée début de cote;abscisse ordonnée fin de cote

là c'est pas facile ce que tu demande

 

Texte:calque;XX;contenu du texte;Abscisse texte;ordonnée texte;angle d'orientation du texte

bloc:calque;XX;nom du bloc;abscisse;ordonnée;angle d'orientation du bloc

Là je comprend plus! Qu'appelles-tu texte ?

car pour moi un texte c'est soit un TEXTDYN, RTEXT ou à la rigueur un MTEXT mais certainement pas un bloc.

 

voilà j'éspère avoir été claire, merci d'avance a tous ceux qui pourront m'aider.

Pas clair du tout pour moi! Serais-je un si vieux dinosaure que çà? :casstet:

 

[Edité le 23/5/2007 par Maximilien]

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Posté(e)

tout d'abord merci pour la réponse, et désolé de pas avoir été clair.

-alors le XX c'est 2 chiffres que je doit rentrer manuellement et qui doivent apparaitre dans le listing final .txt.

-pour les blocs points il s'agit d'un bloc composé d'un point et d'un texte attributs numéro,donc ce que je veux récupérer c'est les coordonnées d'insertion du point, contenu de l'attribut et l'orientation du texte de l'attribut.

-pour les lignes il me faut les 2 points sur 2 lignes de fichier séparé.

-le texte c'est un texte simple commande "texte" sous autocad?

Voilà merci pour votre soutien... ;)

 

bibi1979

 

 

 

 

 

 

"l'important pour la taille c'est que les pieds touche bien par terre..."coluche

Posté(e)

voila une partie vite fait :

 

 (defun bibi1979	(/ n XX Separateur guillemet selection Fichier)
;;; **********************************************
;;; [url=http://www.cadxp.com/sujetXForum-15232.htm]Réponse pour la demande de bibi1979[/url]
;;; **********************************************
;;; extraction de différentes parties d'objets (contenu de texte,position, attribut de point, calque etc...)
;;; sur autocad jusqu'à un fichier txt, comment puis je faire ???
;;; récupérer des données et créer un fichier txt:
;;; Bloc point: Calque;XX;matricule du point; abscisse,ordonnée;XX,angle d'orientation du texte
;;; (XX correspond 2 chiffres que je doit rentrer manuellement et qui doivent apparaitre dans le listing final .txt.
;;;   Les blocs points il s'agit d'un bloc composé d'un point et d'un texte attributs numéro,
;;;   donc ce que je veux récupérer c'est les coordonnées d'insertion du point, contenu de l'attribut et l'orientation du texte de l'attribut.
;;; Ligne : Calque;XX;Abscisse;Ordonnée
;;;   les lignes il me faut les 2 points sur 2 lignes de fichier séparé.
;;; Cote  : calque;XX;texte de la cote;abscisse texte;ordonnée texte;angle d'orientation du texte;Abscisse et ordonnée début de cote;abscisse ordonnée fin de cote
;;; Texte : calque;XX;contenu du texte;Abscisse texte;ordonnée texte;angle d'orientation du texte
;;;   le texte c'est un texte simple commande "texte" sous autocad
;;; bloc  : calque;XX;nom du bloc;abscisse;ordonnée;angle d'orientation du bloc
;;; **********************************************
;;; Sous-programmes
 (defun selectionElement (ENTITIE / n sel resultat)
   ;; Crée une sélection d'élement selon le ENTITIE
   (setq resultat nil)
   (if	(ssget "_X" (list (cons 0 ENTITIE)))
     (progn
(setq sel (ssnamex (ssget "_X" (list (cons 0 ENTITIE)))))
(foreach n sel
  (if resultat
    (setq resultat (cons (nth 1 n) resultat))
    (setq resultat (list (nth 1 n)))
  )
)
     )
   )
   resultat
 )
;;; Initialisation
 (setq	Separateur ";"			; séparateur entre champs
Guillemet  "\""			; guillemet entre champ
				; saisie utilisateur
XX	   (getstring "\nVeuillez entrer les deux chiffres :")
 )
				; ---------------
				; Les lignes
 (setq	Selection (SelectionElement "LINE")
Fichier	  (open "C:\\LIGNE.TXT" "w")
 )
 (if selection
   (foreach n Selection
     (progn
(setq PRIVE_RESULTAT
       (strcat
	 Guillemet
	 ;; CALQUE
	 (cdr (assoc 8 (entget n)))
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Valeur de XX
	 XX
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Abcisse point de début
	 (rtos (car (cdr (assoc 10 (entget n)))) 2 3)
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Ordonnée point de début
	 (rtos (cadr (cdr (assoc 10 (entget n)))) 2 3)
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Elevation point de début
	 (rtos (caddr (cdr (assoc 10 (entget n))))
	       2
	       3
	 )
	 Guillemet
       )
)
(write-line PRIVE_RESULTAT Fichier)
(setq PRIVE_RESULTAT
       (strcat
	 Guillemet
	 ;; CALQUE
	 (cdr (assoc 8 (entget n)))
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Valeur de XX
	 XX
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Abcisse point de fin
	 (rtos (car (cdr (assoc 11 (entget n)))) 2 3)
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Ordonnée point de fin
	 (rtos (cadr (cdr (assoc 11 (entget n)))) 2 3)
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Elevation point de fin
	 (rtos (caddr (cdr (assoc 11 (entget n))))
	       2
	       3
	 )
	 Guillemet
       )
)
(write-line PRIVE_RESULTAT Fichier)
     )
   )
 )
 (close Fichier)
 ; ---------------
 ; La suite du programme à faire
 ; ---------------
)

Edit 1 = [Edité le 28/5/2007 par Maximilien] Correction Bug Liste

Edit 2 = [Edité le 29/5/2007 par Maximilien] Correction si Selection nulle

 

 

[Edité le 29/5/2007 par Maximilien]

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Posté(e)

:) Merci pour la réponse mais je suis réellement novice dans l'édition et l'utilisation de programme que doit je faire , avec les données que vous m'avez écrite??

 

 

Posté(e)

Pour charger un Lisp c'est un sujet de (gile).

 

Mais le code que je vins de te donner n'est que partiel.

pour le faire entièrement cela demande du temps. Je ne suis pas là pour donner des réponses mâchées ou toutes prêtes.

 

Dans l'état actuel ce "LISP" te crée un fichier "LIGNE.TXT" dans le lecteur "C:" Dossier "Racine"

 

à l'intérieur de ce fichier :

 

les lignes impaires correspondent aux point de départ des lignes

les lignes paires correspondent aux point de fin des lignes

 

 

 

 

[Edité le 28/5/2007 par Maximilien]

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Posté(e)

à la place de

 ;; ---------------
 ;; La suite du programme à faire
 ;; ---------------

 

collé à cette partie pour le support du texte

 

 ;; ---------------
 ;; Les Textes
 (setq	Selection (SelectionElement "TEXT")
Fichier	  (open "C:\\TEXTE.TXT" "w")
 )
 (if selection
   (foreach n Selection
     (progn
(setq PRIVE_RESULTAT
       (strcat
	 Guillemet
	 ;; CALQUE
	 (cdr (assoc 8 (entget n)))
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Valeur de XX
	 XX
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Contenu du texte
	 (cdr (assoc 1 (entget n)))
	 Guillemet
	 Separateur
	 Guillement
	 ;; Abcisse point de début
	 (rtos (car (cdr (assoc 10 (entget n)))) 2 3)
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Ordonnée point de début
	 (rtos (cadr (cdr (assoc 10 (entget n)))) 2 3)
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Orientation du texte en angle exprimé en radian!
	 (rtos (cdr (assoc 50 (entget n))) 2 8)
	 Guillemet
	 Separateur
	 Guillemet
	 ;; Elevation point de début
	 (rtos (caddr (cdr (assoc 10 (entget n)))) 2 3)
	 Guillemet
       )
)
(write-line PRIVE_RESULTAT Fichier)
     )
   )
 )
 (close Fichier)
 ;; ---------------
 ;; La suite du programme à faire
 ;; ---------------

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

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é