scubas5 Posté(e) le 7 novembre 2005 Posté(e) le 7 novembre 2005 Bonjour, sous autocad 2004, j'ai un nombre important de points de coordonnées XYZ à rentrer sur un plan. ces coordonnées sont sur un fichier texte. Pouvez vous m'indiquer la manip pour sélectionner le fichier texte et que les points s'integrent sur le plan? sous quel format le fichier texte doit il etre: exemple N°du point X Y Z (001 533522.362 304524.231 256.231)ou N° du point X= Y= Z= (001 x=533522.362 y=304524.231 z=256.231)ou N° du point X: Y: Z:(001 x:533522.362 y:304524.231 z:256.231) etcmerci de votre aide et a bientot
winfield Posté(e) le 7 novembre 2005 Posté(e) le 7 novembre 2005 Bonjour,Sous quelle forme veux-tu tes points ?Juste un point ? (m'étonnerai vu que tu as n° X Y Z )Point + texte ?Bloc + attribut ? Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
didier Posté(e) le 7 novembre 2005 Posté(e) le 7 novembre 2005 Bonsoir, si c'est juste des points que tu veux,le script suivant te montre un exemple du formatage :Point 679555.58608,154971.96006,10.33Point 679556.38897,154972.55602,12.32 pense à sauvegarder le fichier en SCR si ce sont des blocs dont tu as besoin,là, la solution viendra du Lisp,mais c'est une autre histoire...tiens nous au courant amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
lecrabe Posté(e) le 7 novembre 2005 Posté(e) le 7 novembre 2005 Bonsoir Voici une bonne vieille routine AutoLisp que j'utilise avec succes depuis AutoCAD R14 :) Elle utilise un fichier Texte/Ascii de type CDF (Comma delimited)ou de type SDF (Space delimited) Elle génère au choix des points, lignes, 3DPoly, 2DPoly, Copies de blocs :) :D :cool: J'espère que le Copier/Coller n'a pas trop "bousillé" la routine !!! Le Decapode ;; ASCPOINT.LSP Copyright 1990-97 Tony Tanzillo All Rights Reserved.;;-----------------------------------------------------------------;; Author: Tony Tanzillo,;; Design Automation Consulting;; http://ourworld.compuserve.com/homepages/tonyt ; ASCPOINT.LSP is a utility for use with AutoCAD Release 10 or 11,; which reads coordinate data from ASCII files in CDF or SDF format,; and generates AutoCAD geometry using the incoming coordinate data.;; The ASCPOINT command will read coordinate data from an ASCII file,; and generate either a continuous string of LINES, a POLYLINE, a 3DPOLYline, ; multiple copies of a selected group of objects, or AutoCAD POINT entities. ; Format:; Command: ASCPOINT; File to read: MYFILE.TXT ; Comma/Space delimited : Comma ; Generate Copies/Lines/Nodes/3Dpoly/: Nodes ; Reading coordinate data... ; If you selected "Copies", then ASCPOINT will prompt you to select the; objects that are to be copied. The basepoint for all copies is the; current UCS origin (0,0,0). One copy of the selected objects will be; created for each incoming coordinate, and placed at each coordinate. ;; A comma-delimited (CDF) ascii file contains one coordinate per line,; with each component seperated by a comma, like this:; 2.333,4.23,8.0; -4.33,0.0,6.3; 0.322,5.32,0.0; etc ...; There should be no spaces or blank lines in a CDF coordinate data file. ; A space-delimited (SDF) ascii file contains one coordinate per line,; with each component seperated by one or more spaces, like this:; 2.333 4.23 8.0; -4.33 0.0 6.3; 0.322 5.32 0.0; etc ... ; Coordinate data can be 2D or 3D. ; Note that all numeric values must have at least one digit to the left; and the right of the decimal point (values less than one must have a; leading 0), and a leading minus sign indicates negative values. This; applys to both CDF and SDF formats.;; ASCPOINT can generate a continuous chain of LINE entities from your; coordinate data, where each pair of adjacent lines share a coordinate; from the file. ; ASCPOINT can also generate a polyline or 3DPOLYline from the coordinate; data, where each point in the file becomes a vertice of the polyline.; If the input file contains 3D coordinates, and you specify a polyline,; then the Z component is ignored and the default of 0.0 is used. ; ASCPOINT will also COPY a selected group of objects, creating one copy; for each incoming coordinate, and using the coordinate as the absolute; copy displacement from the CURRENT UCS origin (0,0,0). ; Finally, ASCPOINT will generate AutoCAD POINT entities from the data in; the file. Specify the point size and type prior to invoking ASCPOINT. ; Good luck, Tony Tanzillo (defun C:ASCPOINT ( / f bm hi format input read-point line plist ss) ;(cond ( (eq "" (setq f (getstring "\nFile to read: ")))) (cond ( (eq "" (setq f (getfiled "Liste des fichiers TXT" "" "TXT" 8)))) ( (not (setq f (open f "r"))) (princ "\nCan't open file for input.")) (t (initget "Space Comma") (setq format (cond ((getkword "\nComma/Space delimited : ")) (t "Comma"))) ( princ "\nChoisissez une option : C ou L ou N ou 3D ou P " ) ( princ "\nATTENTION : Si option P (Pline 2D), tous les Z sont identiques ") (initget "Copies Lines Nodes 3Dpoly Pline") (setq input (cdr (assoc (cond ( (getkword "\nGenerate Copies/Lines/Nodes/3Dpoly/: ")) (t "Pline")) '(("Lines" . "_.line") ("Copies" . "_.copy") ("Nodes" . "_.point") ("3Dpoly" . "_.3dpoly") ("Pline" . "_.pline"))))) (setq read-point (cond ( (eq format "Comma") cdf) (t sdf))) (setvar "cmdecho" 0) (command "_.undo" "g") (setq bm (getvar "blipmode")) (setq hi (getvar "highlight")) (setvar "blipmode" 0) (princ "\nReading coordinate data...") (while (setq line (read-line f)) (cond ( (setq line (strtrim line)) (setq line (read-point line)) (setq plist (append plist (cond ( (eq input ".pline") (list (noz line))) (t (list line)))))))) (close f) (cond ( (eq input "_.point") (setvar "highlight" 0) (command "_.point" "0,0,0" "_.copy" (setq ss (entlast)) "" "_m" "0,0,0") (apply 'command plist) (command) (entdel ss)) ( (eq input "_.copy") (princ "\nSelect objects to copy,") (while (not (setq ss (ssget))) (princ "\nNo objects selected,") (princ " select objects to copy,")) (setvar "highlight" 0) (command "_.copy" ss "" "_m" "0,0,0") (apply 'command plist) (command)) (t (command input) (apply 'command plist) (command))) (command "_.undo" "_e") (setvar "highlight" hi) (setvar "blipmode" bm))) (princ) ) (defun cdf (l) (command "_.setvar" "lastpoint" l) (getvar "lastpoint") ) (defun sdf (l) (read (strcat "(" l ")")) ) (defun noz (p) (list (car p) (cadr p)) ) (defun strtrim (s) (while (eq " " (substr s 1 1)) (setq s (substr s 2))) (while (eq " " (substr s (strlen s))) (setq s (substr s 1 (1- (strlen s))))) (cond ( (eq s "") nil) (t s)) ) (princ "\nC:ASCPOINT loaded. Start command with ASCPOINT. ") (princ) ;; Autodesk Expert Elite Team
scubas5 Posté(e) le 8 novembre 2005 Auteur Posté(e) le 8 novembre 2005 Bonjour à tous et merci de vos réponses. je souhaite que ce soit une croix que j'ai déja en référence qui soit intégrée. je vais essayer vos solutions. a+
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