Página 1 de 2

spline a polilínea

Publicado: Vie Jun 13, 2008 12:16 pm
por Geologo
Hola!

Tengo un problema con el que me he topado varias veces en el poco tiempo que llevo manejando AutoCAD, y que siembre he terminado solucionando chapuceramente:

¿Es posible convertir las splines en polilíneas? ¿Cómo puede hacerse?

Muchas gracias.

splines a polilineas

Publicado: Vie Jun 13, 2008 12:50 pm
por wentoya
El comando FLATTEN hace lo que quieres.
Espero haberte ayudado,
un saludo.

Re: splines a polilineas

Publicado: Vie Jun 13, 2008 1:05 pm
por Chus
wentoya escribió:El comando FLATTEN hace lo que quieres.
Espero haberte ayudado,
un saludo.
No conocia el Comando. muy bueno.. Gracias. :wink:

Publicado: Vie Jun 13, 2008 1:53 pm
por Tronius
No sabía que el flatten hacía eso, perfecto para los 3D entonces.

Publicado: Vie Jun 13, 2008 7:53 pm
por Geologo
No me reconoce el comando "FLATTEN" (uso el 2008)... :(

Publicado: Vie Jun 13, 2008 9:54 pm
por mamensbd
Si no te reconoce el comando "flatten" o "_flatten" es por que no has cargado la aplicación LISP.

Tienes que ir a la pestaña de herramientas "Herr.", despues a "Cargar aplicación..." y buscar el archivo FLATTEN.LSP, lo cargas y ya esta.

Espero que te funcione.

Publicado: Sab Jun 14, 2008 8:12 am
por luisgi
Hola.. el comando FLATTEN pertenece a las EXPRESS TOOLS, las debes tener instaladas para activar la orden.
Saludos.

Publicado: Mar Jun 17, 2008 9:13 am
por MCCDELINEANTE
Por lo que yo se lo único que hace el comando FLATTEN es pasarte las lineas con determinada cota Z a la cota 0,0,0. No veo la manera de que te convierta las splines a polilineas.

Publicado: Mar Jun 17, 2008 1:58 pm
por Afga
Otra posible solución mediante LISP.

Código: Seleccionar todo

; Convierte SPLINE en LWPOLYLINE
;;;(c) 2006 Cadalyst and Lloyd Beachy

(Defun C:spl_pl (/ ss pt# cmdecho osmode clayer count ent lay lng pt-list cnt)
  (vl-load-com)
  (setq ss	(ssget '((0 . "spline")))
	multi#	(getint "Indique número de puntos de polilínea por un multiplo de puntos de control de la spline <5>: ")
	cmdecho	(getvar "cmdecho")
	osmode	(getvar "osmode")
	clayer	(getvar "clayer")
	count 	0
  )
  (if(null multi#)(setq multi# 5))
  (setvar "cmdecho" 0)
  (command "_.undo" "_begin")
  (setvar "osmode" 0)
  (repeat(sslength ss)					;repeat for each spline
    (setq ent	(vlax-ename->vla-object (ssname ss count));change spline to vla-object
	  lay	(vlax-get-property ent "layer")		;spline's layer
	  cp#	(vlax-get-property ent "numberofcontrolpoints")		;spline's control points number
	  lng	(vlax-curve-getDistAtPoint ent(vlax-curve-getEndPoint ent));length of spline
	  pt-list(list(vlax-curve-getStartPoint ent))	;coords for start of spline
	  cnt 	1.0					;segment counter
	  pt#(* cp# multi#)
    );end setq
    (repeat pt#						;repeat for each segment
      (setq pt-list(cons(vlax-curve-getPointAtDist ent (* lng(/ cnt pt#)))pt-list));add segment's point to pt-list
      (setq cnt(1+ cnt))				;counter to next segment
    );end segment repeat
    (setq cnt 0)					;pline counter
    (setvar "clayer" lay)				;match spline's layer
    (command "_.pline"					;start "pline" command
	     (repeat(length pt-list)			;repeat for each point
	       (command(nth cnt pt-list))		;enter current point
	       (setq cnt(1+ cnt))			;counter to next point
	       ""
	     )
    )
    (setq count(1+ count))				;counter to next spline
  )
  (command "_.erase" ss "")
  (setvar "osmode" osmode)
  (setvar "clayer" clayer)
  (command "_.undo" "_end")
  (setvar "cmdecho" cmdecho)
  (prin1)
)

Publicado: Mar Jul 15, 2008 11:17 pm
por erichguaman
Hola, tengo el autocad 2008, y no me sale ese comando...¡¡???
sera por q no tengo el express entonces.. :cry:

Publicado: Mié Jul 16, 2008 8:48 am
por Afga
Será que no las tienes isnaladas erichguaman. Prueba como solución alternativa con la aplicación Lisp que adjunté anteriormente,a ver que tal.


Saludos

Publicado: Mié Jul 16, 2008 2:50 pm
por Rohirrin
Joé, la cantidad de cosas que sabéis!!!!

No tenía ni idea de este comando. Muchas gracias, lo he probado y nos va a resultar útil en más de una ocasión.

Publicado: Mié Jul 16, 2008 4:14 pm
por NURIA
AFGA a mi tampoco me funciona flatten y ...no se como probar con tu alternativa porque no se que es un lisp ni como utilizarlo :oops: :oops: :oops: :oops:

Publicado: Mié Jul 16, 2008 4:19 pm
por erichguaman
Gracias por responder AFGA.
Pero esa cantidad de letras y caracteres q adjuntas (lisp), como las utilizo, q se hace con eso...son demasiadas cosas q pones con letra verda... :?

Publicado: Mié Jul 16, 2008 4:32 pm
por NURIA
ok me estoy informado sobre lisp
estoy harta de escuchar lisp por aqui, lisp por alli y yo sin saber nada, me he ido a archivos de programas/autocad 2006/Help/acad_alt
erichguaman ahi te lo van explicando
a ver si hay suerte y me entero