Polilinea 3D a Polilinea

Ir abajo

Polilinea 3D a Polilinea

Mensaje por Luis Alberto Benitez el Lun Jul 23, 2018 2:29 pm

Estimados Foristas.
Encontré un lisp que convierte polilineas 3d en polilineas
livianas tomando como altura un promedio,
de ser posible modificar la misma para que convierta la polilinea
con la z correspondiente sin realizar un promedio.
Desde ya gracias por los aportes.
Código:
;Comando que convierte polilineas 3d en polilineas livianas tomando como altura un promedio
;de las elevaciones de los vertices de la 3dpoly
(defun c:p3d->p2d ( / ss i poly3d vertice lent pt xy z lstz lstpt elev lentlw tmp semilst)
   (setq ss (ssget '((0 . "POLYLINE")))
 
         i 0)
   (repeat (sslength ss)
      (setq poly3d (ssname ss i)
            i (1+ i)
            vertice poly3d
            lstz nil
            lstpt nil
      )
      (while (= "VERTEX"
                (cdr (assoc 0
                   (setq vertice (entnext vertice)
                         lent (entget vertice))
                ))
             )
         (setq pt (cdr (assoc 10 lent))
               xy (list (car pt)(cadr pt))
              
               z (last pt)
               lstz (cons z lstz)
               lstpt (cons xy lstpt)
              
         )
      )
      (setq elev (/ (apply '+ lstz) (length lstz)))
      (setq lstpt (reverse lstpt))
      (setq lent (entget poly3d))
      (setq semilst nil)
      (setq lentlw (append
                        (list
                           '(0 . "LWPOLYLINE")
                           '(100 . "AcDbEntity")
                           '(410 . "Model")
                           (assoc 8 lent)
                           (cons 38 elev)
                          (cons 62 (if (setq tmp (assoc 62 lent)) tmp (atoi (getvar "CECOLOR"))))
                           (cons 6 (if (setq tmp (assoc 6 lent)) tmp (getvar "CELTYPE")))
                           (cons 48 (if (setq tmp (assoc 48 lent)) tmp (getvar "CELTSCALE")))
                           '(100 . "AcDbPolyline")
                           (cons 90 (length lstpt))
                           (cons 70 (logand 129 (cdr (assoc 70 lent))))
                           '(43 . 0.0)
                        )

                        (foreach caso lstpt
                           (setq semilst (append semilst (list (cons 10 caso) '(42 . 0)))))

                        (list (assoc 210 lent))
                     )
      )
      (if (entmake lentlw)
         (entdel poly3d)
      )
   )
)

(defun c:p3p2 nil (c:p3d->p2d))

(princ "\n\n\n\n\t\t\tNuevo comando cargado: \"p3d->p2d\" o \"p3p2\"\n\n\n\n\n\n\t\t\tPor Gerardo Calvo (gerardogqa@yahoo.es)\n\n\n\n\n")
(textscr)

Luis Alberto Benitez

Mensajes : 63
Fecha de inscripción : 29/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por ronaldT el Lun Jul 23, 2018 9:43 pm

Si de seas que siga con las misma Z cada punto no veo porque la necesidad de convertir en polilinea, pues una polilinea es un elemento que se desarrolla en un plano, por lo tanto la Z es constante.

ronaldT

Mensajes : 38
Fecha de inscripción : 20/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por Luis Alberto Benitez el Lun Jul 23, 2018 11:14 pm

Ronald
Gracias por interiorizarte por el tema,
necesito que al aplicar propiedades me
tome como polilinea y no como polilinea 3d.
Un Saludo
Luis

Luis Alberto Benitez

Mensajes : 63
Fecha de inscripción : 29/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por bernie67 el Miér Jul 25, 2018 2:06 am

Y con Flatten no se puede hacer? solo pregunto
Saludos
Bernardo Corradine M
avatar
bernie67

Mensajes : 68
Fecha de inscripción : 22/03/2016
Edad : 51
Localización : Bogota DC-Colombia

Ver perfil de usuario

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por Luis Alberto Benitez el Miér Jul 25, 2018 2:16 pm

Bernardo: Gracias por el aporte pero aplicando Flatten
la coordenada z queda en 0.0 y lo que quiero es que se mantenga
la z con polilinea para luego aplicar un lisp (qp1) ver en Perfil de Terreno.
Un Saludo
Luis

Luis Alberto Benitez

Mensajes : 63
Fecha de inscripción : 29/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por robierzo el Miér Jul 25, 2018 10:15 pm

Creo que no te has explicado todo lo bien que quisiéramos, para poder darte una respuesta adecuada.
Una 3DPOLY puede tener todos los puntos a la misma Z o cada punto a una Z diferente.
De qué caso se trata???
Son 3DPOLY que representan curvas de nivel??? Si es así, qué problema tienes en que haga la media de todas las Z, si todas las Z son iguales????

avatar
robierzo

Mensajes : 56
Fecha de inscripción : 17/03/2016
Localización : La Coruña

Ver perfil de usuario http://www.selmotopografia.es

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por Luis Alberto Benitez el Jue Jul 26, 2018 1:53 pm

Robierzo gracias por contestar,aclaro que cada curva de nivel
debe tener la misma z o sea que cada cueva deberá ser
una polilinea para aplicar el lisp (qp1) ver en tema Perfil de Terreno.
Un saludo
Luis

Luis Alberto Benitez

Mensajes : 63
Fecha de inscripción : 29/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por nolo el Sáb Sep 08, 2018 1:23 pm

Hola
No se si ha quedado suficientemente claro, las polilineas livianas LWPOLYLINE no pueden tener mas que una elevación constante, es decir una z en todos y cada uno de sus puntos.
Por eso, creo que lo que pides es imposible

Un saludo

nolo

Mensajes : 176
Fecha de inscripción : 17/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por Admin el Vie Sep 21, 2018 1:20 am

No creo que se imposible . Quizás no nos estamos entendiendo , o yo al menos no entiendo el problema.

¿Serías tan amable de compartir un dwg ejemplo?




Admin
Admin

Mensajes : 194
Fecha de inscripción : 16/03/2016
Edad : 70
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por Luis Alberto Benitez el Vie Sep 21, 2018 1:30 pm

Maestro gracias por reflotar el tema, pero ya entendí del tema
es lo que dice Nolo de las polilineas livianas LWPOLYLINE.
Gracias a todos por los continuos Aportes para con este Foro.
Un Saludo
Luis

Luis Alberto Benitez

Mensajes : 63
Fecha de inscripción : 29/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Polilinea 3D a Polilinea

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.