Newsgroup: it.comp.software.cad
Titolo: possibile???

Possibile.........nessuno puň aiutarmi?
cerco un lisp che mi generi un file *.txt/*.dat... delle coortinate dei
punti selezionati tipo un ID(x,y,z) multiplo
qualcuno č cosě gentile da aiutarmi?
grazie e buon lavoro a tutti

Ciao,
ti riporto paripari una risposta data poco tempo fa dal mitico Aniello ad
una domanda simile alla tua.
Roby
1) Scrittura delle informazioni sei punti su un file in formato CSV
;;;
;;; PUNTI-CSV.LSP
;;;
;;; Questa routine legge le entità POINT nel disegno e le salva in
;;; formato testo, formato CSV, importabile in Excel per successive
;;; elaborazioni.
;;;
;;; Copyright 2002 - Aniello Annunziata - CADLandia
(defun C:PUNTI-CSV
          (/ fname fn sel1 n index
          )
  (setq fname (getstring "\nInserisci il nome del file: "))
  ;ottiene il nome del file
  (setq fn (open fname "w"))
  ;lo apre in scrittura
  (princ "Numero Punto;X;Y;Z" fn)
  (princ "\n" fn)
  ;mette l'header del testo
  (setq f 1)
  ;imposta il flag ad 1
  (setq sel1 (ssget "x" '((0 . "POINT"))))
  (setq n (sslength sel1))
  (setq index 0)
  (repeat n
    (setq b1 (entget (ssname sel1 index)))
    (setq index (+ index 1))
    (setq coords (cdr (assoc 10 b1)))
    (setq coordx (nth 0 coords))
    (setq coordy (nth 1 coords))
    (setq coordz (nth 2 coords))
    (princ index fn)
    (princ ";" fn)
    (princ coordx fn)
    (princ ";" fn)
    (princ coordy fn)
    (princ ";" fn)
    (princ coordz fn)
    (princ "\n" fn)
  );fine repeat
  (close fn)
  ;chiude il file
  (alert (strcat "Esportati i punti nel file: \n"
         (strcase fname))
  );fine alert
  (princ)
  ;informa l'utente
);fine defun
(princ "\nPUNTI-CSV.LSP caricato. Digita C:PUNTI-CSV per avviare il
comando.")
(princ)
2) Lettura di punti da un formato ISO
;
; PUNTI-ISO.LSP
; COPYRIGHT 2002 CADLandia
;
; Questo Lisp disegna punti partendo da un file dati del tipo ISO.
; Il file testo deve contenere per ogni riga il punto, che deve essere
del tipo:
; NOMEX00000.0000Y00000.0000Z00000.0000
;
; Dove gli 0 stanno per un qualsiasi valore numerico.
;
; 5/1/2002 Aniello Annunziata - CADLandia
; 
aniello.a...@cadlandia.com
; 
www.cadlandia.com
(defun C:PUNTI-ISO
          (
            / filename i-file rigaletta punto lungriga
          )
(setq
      filename (getfiled "Scegli il file di testo " "" "ISO" 4)
      i-file (open filename "r")
);setq
(if i-file
  (progn
      (setq rigaletta (read-line i-file))
      (while rigaletta
(setq lungriga (strlen rigaletta))
(setq coordX (vl-string-position (ascii "X") rigaletta))
(setq coordY (vl-string-position (ascii "Y") rigaletta))
(setq coordZ (vl-string-position (ascii "Z") rigaletta))
(setq punto (strcat (substr rigaletta (+ 2 coordX) (- coordY
coordX 1)) ","
    (substr rigaletta (+ 2 coordY) (- coordZ
coordY 1)) ","
    (substr rigaletta (+ 2 coordZ) (- lungriga
coordZ 1))
    );strcat
      );setq
(command "_POINT" punto)
(setq rigaletta (read-line i-file))
      );while
      (close i-file)
  );progn
(princ "\nNon hai selezionato nessun file, oppure s'è verificato un
errore di I/O!")
);if
(princ)
);defun
(princ "\nPUNTI-ISO.LSP caricato. Digita C:PUNTI-ISO per avviare il
comando.")
(princ)
3) Inseriemento della quota di un entità POINT in un testo
(defun c:mv (/ os pt1 pt py pt2)
  (setq os (getvar "osmode"))
  (setvar "osmode" 8)
  (setq pt1 (getpoint "\nSelezionare il punto: "))
  (setq pt (caddr pt1))
  (setq py (rtos pt 2 3))
  (setvar "osmode" 0)
  (progn)
  (setq pt2 (getpoint "Punto di inserimento coordinata Z:  "))
  (command "_text" pt2 "" "" py)
  (setvar "osmode" os)
)
4) Disegno di una curva di livello (o isoipsa) da punti dati da un
file testo
;
; CURVLIV.LSP
; COPYRIGHT 2000 CADLandia
;
; Questo Lisp inserisce disegna una polilinea chiusa partendo dai
punti dati in un file ASCII.
; Il file testo deve contenere per ogni riga il punto, che deve essere
del tipo:
; xxx,yyy,zzz
;
; 8/2/2001 Aniello Annunziata per CADLandia
; 
aniello.a...@cadlandia.com
; 
www.cadlandia.com
(defun C:CURVLIV
          (
            / filename i-file data
          )
(setq
      filename (getfiled "Scegli il file di testo " "*.*" "" 4)
      i-file (open filename "r")
);setq
(setq plist)
(if i-file
  (progn
       (setq data (read-line i-file))
      (while data
         (setq plist (append plist data))
         (setq data (read-line i-file))
      );while
      (close i-file)
  );progn
(command "_3DPOLY" plist "_C" "")
(princ "\nNon hai selezionato nessun file, oppure s'è verificato un
errore di I/O!")
);if
(princ)
);defun
(princ "\nCURVLIV.LSP caricato. Digita C:CURVLIV per avviare il
comando.")
(princ)

grazieeeeeeeeee