AutoCad - 3D face a Polilíneas

 
Vista:

3D face a Polilíneas

Publicado por Quino (1 intervención) el 11/10/2006 10:49:19
Hola,

¿Cómo puedo convertir 3D face a polilíneas?

Es que tengo un dwg con límites municipales, pero son 3D feces y necesito polilíneas.

Muchas gracias.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

3D face a Polilíneas

Publicado por Gastón (1 intervención) el 06/02/2020 13:24:34
Convierte a región (comando region, seleccionas, enter) y luego lo explotas con comando explode
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.285
Oro
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

3D face a Polilíneas

Publicado por Gerardo (986 intervenciones) el 06/02/2020 21:22:32
Supongo que 13 años después de preguntar ya Quino lo solucionó XD, pero por si alguien más se encuentra con la misma tarea, además de lo que comentas de pasarlo por región -muy válido- se puede usar autolisp. Pegando este código en la linea de comandos y dando intro todos los 3d faces se convierten en 3dPolys.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(if (setq i 0
			 ss (ssget "_X" '((0 . "3DFACE")))
	 )
	(repeat (sslength ss)
		(setq nent (ssname ss i)
				lent (entget nent)
				i (1+ i)
				pts (mapcar 'cdr (vl-remove-if-not '(lambda(A)(< 9 (car A) 14)) lent))
		)
		(setq A (entmakex '((0 . "POLYLINE") (70 . 9) (66 . 1))))
		(foreach pt pts (entmake (list '(0 . "VERTEX") (cons 10 pt) '(70 . 32))))
		(if (entmake (list '(0 . "SEQEND")(cons -2 A)))
			(entdel nent)
		)
	)
)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

3D face a Polilíneas

Publicado por Javier (1 intervención) el 14/03/2022 21:49:37
Gracias por ese gran aporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marisa

3D face a Polilíneas

Publicado por Marisa (12 intervenciones) el 27/01/2023 14:45:36
Por favor una vez cargado el autolisp, con que comando se ejecuta en la linea de comandos?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

3D face a Polilíneas

Publicado por Juanma (140 intervenciones) el 27/01/2023 21:11:48
Tal cual está no puedes cargarla como una lisp ya que le falta el código para llamarla por un comando.

Ahora debes copiar el código que nos dió Gerardo y pegarlo en la línea de comandos y dar intro.

Si quieres integrarla en una lisp debes hacer lo siguiente:

1 Pega el código siguiente en un txt, dale nombre y cambia la terminación de .txt a .lsp
2 pega el código de Gerardo donde indica el código siguiente y guárdalo
3 ya es una lisp lista para cargarse
1
2
3
4
5
6
; ----El comando de llamada será 3dftop-------
(defun c: 3dftop (/)
;----pegar akí debajo el código de Gerardo, bajo está línea, antes del paréntesis.
 
 
)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marisa

3D face a Polilíneas

Publicado por Marisa (12 intervenciones) el 31/01/2023 09:29:52
Buenos días,

¿será así?

; ----El comando de llamada será 3dftop-------
(defun c: 3dftop (/)
;----pegar akí debajo el código de Gerardo, bajo está línea, antes del paréntesis.

(if (setq i 0
ss (ssget "_X" '((0 . "3DFACE")))
)
(repeat (sslength ss)
(setq nent (ssname ss i)
lent (entget nent)
i (1+ i)
pts (mapcar 'cdr (vl-remove-if-not '(lambda(A)(< 9 (car A) 14)) lent))
)
(setq A (entmakex '((0 . "POLYLINE") (70 . 9) (66 . 1))))
(foreach pt pts (entmake (list '(0 . "VERTEX") (cons 10 pt) '(70 . 32))))
(if (entmake (list '(0 . "SEQEND")(cons -2 A)))
(entdel nent)
)
)
)

y en la linea de comandos lo ejecutaremos con este nombre 3dftop?

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marisa

3D face a Polilíneas

Publicado por Marisa (12 intervenciones) el 31/01/2023 09:52:05
Una vez cargada la autolisp.

Ejecuto en la línea de comando 3dftop y no me funciona.

Algo no estoy haciendo bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

3D face a Polilíneas

Publicado por Juanma (140 intervenciones) el 31/01/2023 11:20:56
Creo que te falta un ) al final
Son los 3 del código de Gerardo más uno del mio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marsa

3D face a Polilíneas

Publicado por Marsa (12 intervenciones) el 31/01/2023 17:56:19
Hola,

nada de nada, no me funciona. Cargo el autolisp, ejecuto la orden 3dftop y nada.

Este es el texto que tengo:

; ----El comando de llamada será 3dftop-------
(defun c: 3dftop (/)
;----pegar akí debajo el código de Gerardo, bajo está línea, antes del paréntesis.

(if (setq i 0
ss (ssget "_X" '((0 . "3DFACE")))
)
(repeat (sslength ss)
(setq nent (ssname ss i)
lent (entget nent)
i (1+ i)
pts (mapcar 'cdr (vl-remove-if-not '(lambda(A)(< 9 (car A) 14)) lent))
)
(setq A (entmakex '((0 . "POLYLINE") (70 . 9) (66 . 1))))
(foreach pt pts (entmake (list '(0 . "VERTEX") (cons 10 pt) '(70 . 32))))
(if (entmake (list '(0 . "SEQEND")(cons -2 A)))
(entdel nent)
)
)
)
)

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

3D face a Polilíneas

Publicado por Juanma (140 intervenciones) el 31/01/2023 20:26:33
Perdona, al verlo en el pc, he encontrado un error en el código que te pasé yo ,

pero ya sabes algo mas... si quieres

te paso el archivo ya reparado, y funciona perfectamente, pero te invito a que intentes reparar el tuyo, para ir practicando, ya que pequeñas y simples rutinas te pueden ayudar mucho con tareas repetitivas


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
; ----El comando de llamada será 3dftop-------
 
;---el segundo error:(defun c: 3dftop (/), el espacio entre ":" y "3"
 
(defun c:3dftop (/)
 
 
;----pegar akí debajo el código de Gerardo, bajo está línea, antes del paréntesis.
 
(if (setq i 0
ss (ssget "_X" '((0 . "3DFACE")))
)
(repeat (sslength ss)
(setq nent (ssname ss i)
lent (entget nent)
i (1+ i)
pts (mapcar 'cdr (vl-remove-if-not '(lambda(A)(< 9 (car A) 14)) lent))
)
(setq A (entmakex '((0 . "POLYLINE") (70 . 9) (66 . 1))))
(foreach pt pts (entmake (list '(0 . "VERTEX") (cons 10 pt) '(70 . 32))))
(if (entmake (list '(0 . "SEQEND")(cons -2 A)))
(entdel nent)
)
)
)
)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marisa

3D face a Polilíneas

Publicado por Marisa (12 intervenciones) el 01/02/2023 08:58:17
Muchas gracias.

Me he descargado el archivo zip que me has pasado, lo cargo en autolisp y ejecuto la orden 3dftop y me sale un texto que pone nil.

¿?

Sigo sin entender.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

3D face a Polilíneas

Publicado por Juanma (140 intervenciones) el 01/02/2023 12:10:59
Tenías 3dface en el archivo?(o cara3d, que es lo mismo)
Por qué está lisp transforma todas las 3dface en polilíneas 3d, si las encuentra, y si no, escribe eso.

O si le das dos veces.

Selecciona una 3dface después de ejecutar la lisp, y verás que ya es una polilínea3d
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marisa

3D face a Polilíneas

Publicado por Marisa (12 intervenciones) el 02/02/2023 16:48:32
De acuerdo.

Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo

3D face a Polilíneas

Publicado por Gerardo (4 intervenciones) el 07/06/2023 21:55:25
En AutoCAD, puedes convertir objetos 3D Faces a polilíneas utilizando la herramienta "PFace to Polyline" (o "PFaceConvert") disponible en las versiones más recientes del software. Sigue estos pasos para realizar la conversión:

Abre el archivo DWG que contiene los límites municipales con los objetos 3D Faces que deseas convertir.

Ve al menú "Express Tools" en AutoCAD. Si no ves esta opción en tu menú principal, es posible que necesites cargarla primero. Para hacerlo, ve a la pestaña "Plug-ins" y selecciona "Express Tools" para cargarlo.

En el menú "Express Tools", busca la opción "PFace to Polyline" o "PFaceConvert". Haz clic en ella para iniciar la herramienta.

Aparecerá un cuadro de diálogo que te permitirá seleccionar los objetos 3D Faces que deseas convertir. Selecciona los 3D Faces que representan los límites municipales y confirma la selección.

AutoCAD convertirá automáticamente los objetos 3D Faces en polilíneas.

Una vez que se complete el proceso de conversión, los objetos 3D Faces se habrán convertido en polilíneas, lo que te permitirá editarlos y manipularlos como desees.

Es importante tener en cuenta que la opción "PFace to Polyline" está disponible en las versiones más recientes de AutoCAD que incluyen las Express Tools. Si estás utilizando una versión más antigua o una variante de AutoCAD, es posible que debas buscar métodos alternativos para realizar la conversión, como la programación LISP o el uso de complementos específicos de terceros.


______________________________________________________
Estudia la Licenciaturas Ejecutivas en Programación y Transformación Digital
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 1.285
Oro
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

3D face a Polilíneas

Publicado por Gerardo (986 intervenciones) el 07/06/2023 22:01:16
Por favor amigo, no hagas spam en los hilos si no estás seguro de lo que estás escribiendo, porque dificultas la lectura de los temas y haces a la gente perder tiempo valioso

Primero: todos tienen acceso al chatgpt y pueden consultar ahí sus dudas sin tener que pedir que otro del foro lo haga por ellos

Segundo: si lees todos los mensajes de este hilo verás que tu respuesta no tiene ni pies ni cabeza. Si el bot, que por cierto también da el código de rutinas listo para usar, te da una solución mejor a lo que aquí se ha discutido, pues bien, compartela, pero si no tiene que ver con lo que se está hablando o no aporta algo nuevo, mejor dejalo ahí
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar