spline a polilínea
Moderador: Moderadores
spline a polilínea
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.
			
			
									
						
										
						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
El comando FLATTEN hace lo que quieres.
Espero haberte ayudado,
un saludo.
			
			
									
						
										
						Espero haberte ayudado,
un saludo.
Re: splines a polilineas
No conocia el Comando. muy bueno.. Gracias.wentoya escribió:El comando FLATTEN hace lo que quieres.
Espero haberte ayudado,
un saludo.
- 
				luisgi
 
- MCCDELINEANTE
 - Técnico
 - Mensajes: 93
 - Registrado: Jue Dic 20, 2007 12:29 am
 - Ubicación: Las Palmas de G.C.
 - Contactar:
 
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)
)
- erichguaman
 - Jefe
 - Mensajes: 343
 - Registrado: Jue Abr 17, 2008 12:02 am
 - Ubicación: Madrid
 - Contactar:
 
- erichguaman
 - Jefe
 - Mensajes: 343
 - Registrado: Jue Abr 17, 2008 12:02 am
 - Ubicación: Madrid
 - Contactar:
 
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado