Newsgroup: it.comp.software.cad
Titolo: Estrapolazione coordinate di punti

Salve a tutti.
Ho il problema di voler estrapolare le coordinare di un disegno formato da
punti.
Esiste un comando che mi restituisca un listato delle coordinate di ogni
punto del disegno?
Tutto questo per utilizzare il risultato su altroprogramma di altra
piattaforma che importa in formato x,y,z.
Ringrazio anticipatamente chiunque mi aiuti nell'intento.

 Ringrazio anticipatamente chiunque mi aiuti nell'intento.
----
Non ti offendere ma servirebbero piu' dati, alcuni essenziali,
altri per meglio stimolare la curiosita' di eventuali aiutanti in lizza:
1)- I.C.S.A. parla di tutti i CAD e sarebbe utile sapere da quale partire;
cioe' di quale cad cerchi un comando? <Autocad>
2)- Quanti file devi processare, uno o piu' di uno? <1>
3)- Il disegno e' formato solo da punti o c'e' altra roba da scremare?
<altra roba>
4)- Come lo vuoi il listato, su riga di comando o su file? <riga di comando>
5) Come preferisci che sia fatta ogni riga? <5a>
5a) - #.#  #.#  #.#
5b) - #.#,#.#,#.#
5c) - n°PT #.#  #.#  #.#
5d) - n°PT #.#,#.#,#.#
6) altroprogramma ha un nome, e se si quale e'?
7) altrapiattaforma ha un nome, e se si quale e'?
----
Non voglio passare per un brontolone, e pertanto rispondero' come mi pare
alle domande...oops... volevo dire come penso risponderesti tu,  (vedi
opzioni di default ripostate tra <>) e ti forniro' una soluzione spartana,
se poi la vuoi con la musichetta di sottofondo e dotata di AI, si puo'
ottenere quasi tutto tutti hanno un prezzo.
Se va tutto bene e vuoi solo il listato su file vabbe' se rispondi a tutte
le
domande e sei simpatico...
--
Ciao Giovanni
segue listato AutoLISP
----cut----cut----cut----cut----cut----cut----cut----cut----cut----cut----cu
t----
(defun c:CPT (/ v1 v2 v3)
  (princ "\n----------------------------------------")
  (princ "\n Utility di estrapolazione delle coordinate")
  (princ "\n di tutti i punti presenti nel disegno")
  (princ "\n sviluppata da Giovanni Anzani Ago2000")
  (princ "\n 
giova...@tiscalinet.it
 ")
  (princ "\n----------------------------------------")
  (setq v1 0)
  (setq v2 (ssget "x" '((0 . "POINT"))))
  (princ "\n rilevati ") (princ (sslength v2)) (princ " punti:")
  (princ "\n----------------------------------------")
  (repeat (sslength v2)
    (setq v3 (cdr (assoc 10 (entget (ssname v2 v1)))))
    (setq v1 (1+ v1))
    (princ "\n ") (princ (nth 0 v3))
    (princ ",")   (princ (nth 1 v3))
    (princ ",")   (princ (nth 2 v3)))
  (princ "\n----------------------------------------")
  (princ))
----cut----cut----cut----cut----cut----cut----cut----cut----cut----cut----cu
t----

 ha scritto nel messaggio
news:8mm70a$1l0$1...@pegasus.tiscalinet.it...


 complimenti  e buon lavoro
Mi farai arrossire... :-)
Grazie
Ciao Giovanni

 ha scritto nel messaggio
news:8mmhue$u7j$1...@lacerta.tiscalinet.it...


 Bye bye
--------
Sei attaccato fisso anche tu?
Che si fa si chatta...? :-)
Siamo sul filo dell'OT, vabbe', poi casomai si continua in posta privata.
No non mi sono mai cimentato, non mi dispiacerebbe farlo, ma si tratta di
impararsi il C/C++.
tu come mai te ne interessi?
Mi pare leggicchiando qua e la... che ti piacerebbe guardare dentro qualche
ARX,
o sbaglio?
Mi ha detto mio cuggino, che un tizio gli ha detto che sapeva che non e'
cosi' semplice come per i files Lisp.
Direi di ritirarsi in prive' 
giova...@tiscalinet.it
 ciao chiamami.
--
Ciao Giovanni
Ps mi sto' staccando, ti leggo stasera o domattina.

 Ringrazio anticipatamente chiunque mi aiuti nell'intento.
Ciao Piergiorgio, partiamo dal presupposto che usi autocad. Vorrei farti
notare che la cosa non è ovvia.
Se così fosse il comando in oggetto non esiste ma si può fare. (qui sotto)
Se non sai come attivare un programma lisp chiedi pure.
Il programma da un'uscita del tipo:
Coordinate oggetti punto. 
1.8326,9.1385,0.0000
1.2329,6.8066,0.0000
11.6288,9.3161,100.0000
12.0953,6.6734,100.0000
9.2297,9.6936,100.0000
7.0528,9.8491,100.0000
8.0524,8.3612,100.0000
6.4308,6.6734,100.0000
7.8969,7.0509,100.0000
7.9858,5.3409,100.0000
Ciao Mario S. 
Buon Lavoro :)
;;;-------------------------------------------------------------------------
-------------
;;; ricerca punti e scrittura su file coordinate - M. Scavroni /2000
(defun c:xyz_pf ( / ss fil1 cont lung ent coord cooxyz )
(setvar "cmdecho" 0)
        (setq nomfil (getfiled "File di coordinate punti" "" "xyz" 9))
	(prompt "\nSelezionare punti: ")
	(setq ss (ssget  '(( 0 . "POINT"))))
	(if ss (progn
 
		(setq lung (sslength ss))
		(setq cont 0)
 
		(setq fil1 (open nomfil "a"))  
               	(write-line "Coordinate oggetti punto. " fil1) 
               	(close fil1)
		(repeat lung
			(setq ent (entget (ssname ss cont)))
        		(setq coord (cdr (assoc 10 ent)))
 
			(setq cooxyz (strcat 
				(rtos (car coord)) ","
				(rtos (cadr coord)) ","
				(rtos (caddr coord))
			))							
			(setq fil1 (open nomfil "a"))  
		        (write-line cooxyz fil1)
        	        (close fil1)
 
			(setq cont (1+ cont))
		)
	(prompt (strcat "\nTrovati n. "(itoa cont ) " punti "))
	))
(princ)
)
;;;-------------------------------------------------------------------------
------------------
 

Ciao Piergiorgio,
anche se non la meriti. :-) (perche' non ti fai vivo)
eccoti da parte di un ancor piu' valido lispista
la versione che salva su file le coordinate a te care.
Mario S. momentaneamente con problemi di connessione al NG,
mi chiede di riportare questa versione; in essa si puo' salvare
su file e si possono scegliere i punti; nella mia i punti presi sono
tutti quelli presenti nel disegno e non si salva su file il listato.
----cut----cut----cut----cut----cut----cut----cut----cut----cut----cut----
;;; ricerca punti e scrittura su file coordinate - Mario Scavroni
(defun c:xyz_pf ( / ss fil1 cont lung ent coord cooxyz )
  (setvar "cmdecho" 0)
  (setq nomfil (getfiled "File di coordinate punti" "" "xyz" 9))
  (prompt "\nSelezionare punti: ")
  (setq ss (ssget  '(( 0 . "POINT"))))
(if ss (progn
(setq lung (sslength ss) cont 0)
(setq fil1 (open nomfil "a"))
 (write-line "Coordinate oggetti punto. " fil1)
(close fil1)
(repeat lung
(setq ent (entget (ssname ss cont)))
        (setq coord (cdr (assoc 10 ent)))
(setq cooxyz (strcat (rtos (car coord)) ","
                               (rtos (cadr coord)) ","
                               (rtos (caddr coord))))
(setq fil1 (open nomfil "a"))
 (write-line cooxyz fil1)
(close fil1)
(setq cont (1+ cont)))
(prompt (strcat "\nTrovati n. "(itoa cont ) " punti "))))
(princ))
----cut----cut----cut----cut----cut----cut----cut----cut----cut----cut----

I miei problemi di connessione si sono risolti da soli (Mah!) 
Mario Scavroni :)

Cari Giovanni Anzani e Mario Scavroni
In particolare mi riferisco a Mario Scavroni per porgere i miei
ringraziamentoper quanto immeritatamente mi e' stato fornito.
Ho appena spedito per e-mail i ringraziamenti al parimenti prezioso Giovanni
Anzani per quanto per fatto, credendolo  unico nel rispondere al mio
maleaugurato post.
Publicamente porgo le scuse per la mia nemmeno esagerata latitanza al
ringraziamento. , dato il periodo. ( vedi calendario )
Cordiali Saluti
Piergiorgio Bessi