Aller au contenu

rentrer des coordonnées x y


Messages recommandés

Posté(e)

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)

 

etc

merci de votre aide et a bientot

 

 

 

 

 

Posté(e)

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.

Posté(e)

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.33

Point 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

 

 

 

Posté(e)

 

 

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

Posté(e)

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+

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é