Aller au contenu

Messages recommandés

Posté(e)

OUI ! si tes points sont des blocs avec ATTRIBUTS, c'est très facile... il y avait d'ailleurs ce sujet concernant les points TOPO.

 

Sinon il faut passer par un programme LISP, VBA ! Les spécialistes du sujet te feront le relais...

 

Christian

 

 

[Edité le 8/6/2008 par rebcao]

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Posté(e)

Salut,

 

Oui c'est certainement possible, mais il faudrait connaître le type d'objet (point ou bloc), le calque d'insertion, si ce sont des blocs, le nom du bloc et les étiquettes des éventuels attributs à récupérer.

D'autre part il faudrait aussi connaître le que tu veux écrire dans ce fichier (matricule, coordonnées) et le type de séparateur, (espace, virgule, point-virgule).

 

Il me semble bien qu'il existe des LISP qui font ça sur ce site (j'en ai peut-être même écrit), fais une recherche...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut,

 

Il faudrait que le listing puisse être de la forme:

2001 608638.700 186869.000 120.251

2002 608601.500 186897.000 121.002

2003 608568.193 186903.665 120.089

2004 608496.896 186917.933 120.075

 

En fait gile c'est un peu comme la manip inverse de ce que je t'avais soumis; j'avais au début une liste sous cette forme à insérer afin d'obtenir des blocs topo maitenant j'aimerai pouvoir en faisant une selection complète des blocs topo obtenir une liste comme celle ci-dessus de façon à l'insérer dans un autre système

Posté(e)

Re,

 

(defun c:points2file (/ att elst pth tag ss n file blc mat lst)
 (if
   (and
     (setq att
     (car
       (nentsel
	 "\nSélectionnez l'attribut matricule d'un bloc à exporter: "
       )
     )
     )
     (setq elst (entget att))
     (= (cdr (assoc 0 elst)) "ATTRIB")
     (setq pth	(getfiled "Créer un nouveau fichier"
		  (getvar "DWGPREFIX")
		  "txt"
		  1
	)
     )
   )
    (progn
      (setq tag  (cdr (assoc 2 elst))
     elst (entget (cdr (assoc 330 elst)))
     ss	  (ssget "_X"
		 (list '(0 . "INSERT")
		       (assoc 410 elst)
		       (assoc 8 elst)
		       (assoc 2 elst)
		 )
	  )
     n	  0
      )
      (while (setq blc (ssname ss n))
 (setq loop t
       ins  (cdr (assoc 10 (entget blc)))
       att  (entnext blc)
       n    (1+ n)
 )
 (while	loop
   (setq elst (entget att))
   (if (= (cdr (assoc 2 elst)) tag)
     (setq loop	nil
	   lst
		(cons
		  (strcat (cdr (assoc 1 elst))
			  " "
			  (rtos (car ins) 2 4)
			  " "
			  (rtos (cadr ins) 2 4)
			  " "
			  (rtos (caddr ins) 2 4)
		  )
		  lst
		)
     )
     (setq att (entnext att))
   )
 )
      )
      (setq file (open pth "w"))
      (mapcar '(lambda (x) (write-line x file))
       (vl-sort	lst
		'(lambda (x1 x2)
		   (			      (atoi (substr x2 1 (vl-string-search " " x2)))
		   )
		 )
       )
      )
      (close file)
    )
 )
 (princ)
) 

 

[Edité le 8/6/2008 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é