Newsgroup: it.comp.software.cad
Titolo: LWPOLYLINE 2 POLYLINE (lisp Autocad)

questo lisp consente la conversione di 1 LWPOLYLINE alla volta,
è possibile modificarlo per convertire + LWPOLYLINE insieme??
Hito
(prompt "\nTeclee  LWTOPL per attivare il comando")
(defun LWPOLY_SHOW (EL)
  (while (setq EL (member (assoc 10 EL) EL))
     (print (cdr (assoc 10 EL)))
     (setq EL (cdr EL))
  )
)
;;----------------------------------------------- 
(defun LWPOLY_NTH (N EL)
  (setq EL (member (assoc 10 EL) EL))
  (while (and EL (> N 0))
    (setq EL (member (assoc 10 (cdr EL)) EL)
          N (1- N)
    )
  )
  (if (and EL (zerop N))
    (list
      (assoc 10 EL)
      (assoc 40 EL)
      (assoc 41 EL)
      (assoc 42 EL)
    )
  )
)
;;----------------------------------------------- 
(defun LWPOLY_2_POLY (EL / ZV ZT LYR CLR LTY)
  (if (= (type EL) 'ENAME)
     (setq EL (entget EL))
     (if (= (type (car EL)) 'ENAME)
       (setq EL (entget (car EL)))))
  (if (= (cdr (assoc 0 EL)) "LWPOLYLINE")
   (progn
      (setq ZV (assoc 38 EL)
            ZT (assoc 39 EL)
            CLR (assoc 62 EL)
            LTY (assoc 6 EL)
      )
      (if (null ZV) (setq ZV 0.0))
      (if (null ZT) (setq ZT 0.0))
      (setq EN (list
         '(0 . "POLYLINE")
         (setq LYR (assoc 8 EL))
         (assoc 210 EL)
         ZT
         (list 10 0.0 0.0 (cdr ZV))
         (assoc 70 EL)
      ))
      (if CLR (setq EN (append EN (list CLR))))
      (if LTY (setq EN (append EN (list LTY))))
      (entmake EN)
      (setq EN (list
         '(0 . "VERTEX")
         LYR
         '(10 0 0 0)
         '(40 . 0.0)
         '(41 . 0.0)
         '(42 . 0.0)
         ZT
      ))
      (if CLR (setq EN (append EN (list CLR))))
      (if LTY (setq EN (append EN (list LTY))))
      (while (setq EL (member (assoc 10 EL) EL))
        (setq EN (subst
                   (append
                     (assoc 10 EL)
                     (list (cdr ZV)))
                   (assoc 10 EN)
                   EN)
             EN (subst
                   (assoc 42 EL)
                   (assoc 42 EN)
                   EN)
             EN (subst
                   (assoc 40 EL)
                   (assoc 40 EN)
                   EN)
             EN (subst
                   (assoc 41 EL)
                   (assoc 41 EN)
                   EN)
        )
        (entmake EN)
        (setq EL (cdr EL))
      )
      (entmake (list '(0 . "SEQEND") LYR))
      (entlast)
    )
  )
(PRIN1)
(princ "\nLWPOLYLINE Trasformata.")
(PRIN1)
)
;----------------------------------------------------- 
(defun c:lwtopl ()
(setq lw (entsel "Seleziona una LWPOLYLINE: "))
   (LWPOLY_2_POLY lw)
)

 Hito
vi è un comando diciamo nascosto in autocad dalla 14 alla 2004
funziona, per il resto non l'ho ancora provato dal 2005 al 2007
dunque si tratta di impostare la variabile PLINETYPE a 0 dunque
0=zero
comando:PLINETYPE
nuovo valore per PLINETYPE <1>.... inserisci  0
la variabile PLINETYPE definisce le polilinee impostata ad 1 esegue le
Lwpolilynee, impostata a 0 esegue polilynee, dopo questa impostazione a
0 scriverai solo polilinee, ad esclusione del comando "rettangolo" che
fa sempre le lwpoly,
comunque per cambiare gli oggetti da lwpoly a poly, dopo aver settato
la variabile a 0
l'altro comando è
CONVERTPOLY
command:CONVERTPOLY
convert to Heavy/Light<heavy>:..............un colpo di invio
seleziona oggetti
da adesso con seleziona oggetti puoi usare sia finestra che
intersezione come per qualiasi altra cosa.
ovviamente il comando CONVERTPOLY è sia da lwpoly a poly che da poly a
lwpoly, è
 variabile Plinetype che stabilisce appunto con lo 0 oppure 1 il tipo
di polilinea

il comando in italiano non lo ricordo ma basta mettere sotto
_CONVERTPOLY
comunque controllato funziona anche sino alla 2006

 comunque controllato funziona anche sino alla 2006
CONVERTIPOLI
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio 
news:1152271251....@p79g2000cwp.googlegroups.com...


il comando opposto da POLYLINE a LWPOLYLINE
dovrebbe essere converti...
Hito


ho compreso che si tratta di un vecchio ctr, dunque le quote sono
all'elevazione giusta ed i fabbricati a quota zero, ma non comprendo
ciò che vuoi realizzare, modificando le lwpoliline in polilinee, una
domanda cosè     openNURBS Version 3.0
se devi fare un dtm probabilmente è più veloce sfruttanto questi link
http://www.cadlandia.com/forum/topic.asp?TOPIC_ID=6584
http://www.cad3d.it/forum1/showthread.php?t=15983
http://www.cad3d.it/forum1/showthread.php?t=15983&page=2
http://www.topocal.com/