Newsgroup: it.comp.software.cad
Titolo: [REQ] Utility che calcola Lunghezza polilinee (AUTOCAD)

Salve a tutti. Qualcuno puo cortesemente dirmi dove procurare un'utility che
riesca a visualizzare come testo su Layer un  la lunghezza di una polilinea
e che funzioni su AutoCad LT 2000?
Grazie
p.i. Carmelo Messina
SMEDIGAS Spa
c.me...@SPAMtiscalinet.it
-- 
Posted from 
dns.tao.it
 [212.210.246.2] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Non ho capito bene la domanda.
La lunghezza di una polilinea si può ottenere con il comando LISTA.
Forse intendevi qualcos'altro; io ho fatto il possibile.
ciao, ciao
Francesco B.
-- 
Posted from 
smtp1.libero.it
 [193.70.192.51] 


Mi sono spiegato male. Io ho bisogno di un comando che  funzioni in questo
modo;
dopo  aver selezionato le polilinee, crei degli oggetti testo che contengano
il valore lunghezza totale della polilinea
e li posizioni (su un layer a parte) nel punto medio della polilinea. Mi
ricordo che una volta una collega mi fece vedere qualcosa di simile
(serviva per calcolare la lunghezza di tubazioni)
Io lavoro con polilinee formate da molti segmenti e scorrere la finestra di
testo come devi fare con il comando LISTA mi fa perdere troppo tempo.
Grazie cmq!
-- 
Posted from 
dns.tao.it
 [212.210.246.2] 


testo come devi fare con il comando LISTA mi fa perdere troppo tempo.
 un lispino che faccia quello che dici ti sarebbe comodo,
 e mi pare anche di averlo usato (ma scriveva le aree non
 le lunghezze)
 comunque con _list non devi scorrere niente, la lunghezza
 (e l'area) della polilinea sono tra le prime informazioni
 restituite dal comando
 un saluto da
 Sebastiano Venabile

 Grazie cmq!
No non ti sei spiegato mala, certo con una procedura lisp farebbe proprio al
caso tuo.
Comunque, comando lista a parte puoi usare il comando allunga, length in
inglese mi pare, cliccando sulla polilinea ti da subito la lunghezza senza
scorrere la finestra di testo.
Ciao
--
Massimo Ghio

Certo, sono nelle  prime righe, ma prova a selezionare trecento plilinee e
poi vedi se non devi scorrere e molto!;-)
Se recuperi quel lispino delle aree fammelo avere, che trasormarlo in
lunghezze non dovrebbe essere impossibile.
carmelo


buona idea, quella del length, ma quando gli oggetti sono molti, il problema
si ripresena.... mi serve il LISP!:)
Carmelo


carmelo
 deve essere finito in qualche floppy, del tipo "servira', prima o poi"


 Carmelo
se, a quanto ho capito, ti serviva il lisp che calcolava l'area eccolo
p.s.
occhio che se lo usi per calcolare l'area ha qualche problema nelle
boundray. ossia esclude eventuali "isole" dalla selezione ma poi le calcola
comprese le stesse. io non ho potuto farci nulla perche' su lisp sono 00
come la farina ^_^
-_InvernoMuto_-
;---------------------------------------------------------------------------
---------------
; procedure varie e comando A&P per calcolare area e perimetro
; di un'area definita tramite un boundary temporaneo e per inserire
; eventualmente tali valori nel disegno
;---------------------------------------------------------------------------
---------------
; Realizzate da:
; Stefano              - 
stec...@tin.it
; Giovanni Anzani - 
giova...@tiscalinet.it
; ...e non so chi altri.
;---------------------------------------------------------------------------
---------------
(defun store_var      (§var)        (set (read (strcat §var "-old")) (getvar
§var))(princ))
(defun store_list_var (£§var)       (foreach §var £§var (store_var §var)))
(defun reset_var      (§var)        (setvar §var (eval (read (strcat §var
"-old"))))(princ))
(defun reset_list_var (£§var)       (foreach §var £§var (reset_var §var)))
(defun   set_var      (£§&#var)     (setvar (nth 0 £§&#var)(nth 1 £§&#var)))
(defun   set_list_var (££§&#var)    (foreach £§&#var ££§&#var (set_var
£§&#var)))
(defun list_princ     (£LispObj)    (foreach LispObj £LispObj (princ
LispObj)))
;---------------------------------------------------------------------------
---------------
(defun entlast_type   ()            (cdr(assoc 0 (entget(entlast)))))
(defun initgetword    (§txt # §opz) (initget # §opz) (getkword §txt))
;---------------------------------------------------------------------------
---------------
(defun area&perimetro (/ §a §p PTins opz2)
  (command "_area" "_e" "_last")
  (setq §a   (strcat "Area: "      (rtos (getvar "AREA") 2 2)))
  (setq §p   (strcat "Perimetro: " (rtos (getvar "PERIMETER") 2 2)))
  (setq §a&p (strcat §a " ; " §p))
  (list_princ (list "\n ----------------------------------------"
      "\n Dati relativi al contorno selezionato: \n "
          §a&p
      "\n ----------------------------------------"))
  (setq opz2 (initgetword "\n Quale dato si vuole inserire nel disegno?
                           \n (Area / Perimetro / Entrambi / Nessuno): " 1
"A P E N"))
  (if (/= opz2 "N") (setq PTins (getpoint "\n Punto di inserimento: ")))
  (command "_undo" "_b")
  (cond ((= opz2 "A") (command "_TEXT" PTins "" "" §a))
 ((= opz2 "P") (command "_TEXT" PTins "" "" §p))
 ((= opz2 "E") (command "_TEXT" PTins "" "" §a&p)))
  (setq opz1 nil))
;---------------------------------------------------------------------------
---------------
(defun c:A&P ( / a p pt conferma ent_type1 ent_type2 opz1)
   (store_list_var  '("CMDECHO" "MENUECHO" "HPBOUND" "PDMODE"))
   (  set_list_var  '(("CMDECHO" 0) ("MENUECHO" 0) ("HPBOUND" 1) ("PDMODE"
34)))
   (command "_undo" "_m")
   (initget 1) (setq pt (getpoint "\nSelezionare punto interno al contorno:
"))
   (command "_point" pt)    (setq ent_type1 (entlast_type))
   (command "_bpoly" pt "") (setq ent_type2 (entlast_type))
   (if (/= ent_type1 ent_type2)
       (progn (redraw (entlast) 3)
       (setq opz1 (initgetword "\n Area e perimetro (Calcola / Evidenzia /
Ridefinisci): " 1 "C E R")))
       (progn (alert " costruzione boundary per il calcolo \n dell'area non
riuscita. Riprovare !")
       (setq opz1 "R")))
  (while opz1
   (cond ((= opz1 "C")  (area&perimetro))
         ((= opz1 "E")  (command "_pedit" "_last" "_w" 0.5 "")
                 (setq opz1 (initgetword "\n Area e perimetro (Calcola /
Ridefinisci): " 1 "C R" )))
         ((= opz1 "R")  (command "_undo" "_b")
                        (c:A&P))))
  (reset_list_var '("CMDECHO" "MENUECHO" "HPBOUND" "PDMODE"))(princ))

 un saluto da
 >Sebastiano Venabile
Ciao


Grazie!:-) 


 wrote:
 vedo che l'hai trovato


Spero di essermi fatto capire, questa volta.
 posto che lo trovi, il lisp che ho comunque opera su
 una singola polilinea, non su oggetti (? che oggetti)
 formati da molte polilinee
 perche' aggiungi sempre un nuovo " Re: " al Subject ?
