fabdo Posté(e) le 8 juin 2008 Posté(e) le 8 juin 2008 Bonjour, Peut-on créer une liste de points topo sous la forme fichier.txt? Merci.
rebcao Posté(e) le 8 juin 2008 Posté(e) le 8 juin 2008 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 @)
(gile) Posté(e) le 8 juin 2008 Posté(e) le 8 juin 2008 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
fabdo Posté(e) le 8 juin 2008 Auteur Posté(e) le 8 juin 2008 Salut, Il faudrait que le listing puisse être de la forme:2001 608638.700 186869.000 120.2512002 608601.500 186897.000 121.0022003 608568.193 186903.665 120.0892004 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
(gile) Posté(e) le 8 juin 2008 Posté(e) le 8 juin 2008 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
fabdo Posté(e) le 8 juin 2008 Auteur Posté(e) le 8 juin 2008 C'est ok gile En plus un dimanche!... Once again you're great! Thanks.
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant