spline a polilinea 3d
spline a polilinea 3d
como puedo convertir una spline 3d (spline con cotas) a una polilinea 3d???
gracias
gracias
para hacer eso habria k programar una rutina en VBA o Lisp
no conozco ninguna, pero me extrañaria k no hubiera ya algo hecho en Lisp
el modulo de transformacion de innersoft CAD (disponible en la version demo) te lo hace pero solo a partir de los fitpoints, uniendo los vertices con segmentos rectos; para hacerlo bien habria k recrear las curvas de la spline con arcos
puedes bajar la demo desde aqui:
http://innersoft.itspanish.org/es/index.htm#demo
saludos
no conozco ninguna, pero me extrañaria k no hubiera ya algo hecho en Lisp
el modulo de transformacion de innersoft CAD (disponible en la version demo) te lo hace pero solo a partir de los fitpoints, uniendo los vertices con segmentos rectos; para hacerlo bien habria k recrear las curvas de la spline con arcos
puedes bajar la demo desde aqui:
http://innersoft.itspanish.org/es/index.htm#demo
saludos
esta rutina en LISP parece k funciona en acad 2006, pero no en acad 2007
te pide el numero de segmentos para crear la polilinea, divide la spline en partes y crea la polilinea uniendo tramos con segmentos rectos
no es la mejor forma (yo creo k lo optimo es simular la curvatura de la spline con arcos de polilinea k se apoyen en los fitpoints) pero es lo k hay
http://www.itspanish.org/archivos/SPLINE_TO_PLINE.zip
cuidado pork borra la spline original
te pide el numero de segmentos para crear la polilinea, divide la spline en partes y crea la polilinea uniendo tramos con segmentos rectos
no es la mejor forma (yo creo k lo optimo es simular la curvatura de la spline con arcos de polilinea k se apoyen en los fitpoints) pero es lo k hay
http://www.itspanish.org/archivos/SPLINE_TO_PLINE.zip
cuidado pork borra la spline original
-
- Moderador General
- Posts: 314
- Joined: Sat Apr 08, 2006 11:00 pm
- Location: S34 54.578 W56 07.819
Puedes probar con esto, a ver si te funciona:
suerte
MDP
tomado de:
http://usuarios.lycos.es/mecanicad/ruti ... inas01.htm
;;;________________MecaniCAD__________________________;;;
;;;________http://www.peletash.com/mecanicad_____________;;;
;;;_____________STL_CONVERTL.LSP______________________;;;
;;;_________________Versión 1.0_________________________;;;
;;;_________________23/06/2002_________________________;;;
(CARGALISP (list (list "hlflecha.lsp" (list "HLFLECHA"))))
;; Carga la rutina HLFLECHA
;;; Esta función convierte la ent SPLINE que recibe en líneas, según la precisión indicada.
(defun STL_CONVERTL ( ent / enti div p1 ss entj i nent pto )
(HLFLECHA ent)
(command "_point" (list 0.0 0.0))
(setq enti (entlast))
(initget 1 "Longitud")
(setq div (getint "\nLongitud/ "))
(if (= div "Longitud")
(progn
(setq div (getreal "\nLongitud de los segmentos: "))
(command "_measure" ent div)
)
(command "_divide" ent div)
)
(setq p1 (cdr (assoc 10 (entget ent))))
(setq ss (ssadd))
(setq entj enti)
(while (setq enti (entnext enti))
(setq ss (ssadd enti ss))
)
(setq i 0
nent (sslength ss)
)
(command "_erase" entj "")
(while (< i nent)
(setq pto p1)
(setq p1 (cdr (assoc 10 (entget (ssname ss i)))))
(command "_.line" pto p1 "")
(setq i (1+ i))
)
(setq pto (cdr (assoc 10 (reverse (entget ent)))))
(command "_.line" p1 pto "")
(command "_erase" ss "")
;;; Si no quieres que borre la spline original elimina la siguiente linea:
(command "_erase" ent "")
;;; no borres mas nada....
(command "_redrawall")
(princ "\nUna spline convertida")
(princ)
)
suerte
MDP
tomado de:
http://usuarios.lycos.es/mecanicad/ruti ... inas01.htm
;;;________________MecaniCAD__________________________;;;
;;;________http://www.peletash.com/mecanicad_____________;;;
;;;_____________STL_CONVERTL.LSP______________________;;;
;;;_________________Versión 1.0_________________________;;;
;;;_________________23/06/2002_________________________;;;
(CARGALISP (list (list "hlflecha.lsp" (list "HLFLECHA"))))
;; Carga la rutina HLFLECHA
;;; Esta función convierte la ent SPLINE que recibe en líneas, según la precisión indicada.
(defun STL_CONVERTL ( ent / enti div p1 ss entj i nent pto )
(HLFLECHA ent)
(command "_point" (list 0.0 0.0))
(setq enti (entlast))
(initget 1 "Longitud")
(setq div (getint "\nLongitud/ "))
(if (= div "Longitud")
(progn
(setq div (getreal "\nLongitud de los segmentos: "))
(command "_measure" ent div)
)
(command "_divide" ent div)
)
(setq p1 (cdr (assoc 10 (entget ent))))
(setq ss (ssadd))
(setq entj enti)
(while (setq enti (entnext enti))
(setq ss (ssadd enti ss))
)
(setq i 0
nent (sslength ss)
)
(command "_erase" entj "")
(while (< i nent)
(setq pto p1)
(setq p1 (cdr (assoc 10 (entget (ssname ss i)))))
(command "_.line" pto p1 "")
(setq i (1+ i))
)
(setq pto (cdr (assoc 10 (reverse (entget ent)))))
(command "_.line" p1 pto "")
(command "_erase" ss "")
;;; Si no quieres que borre la spline original elimina la siguiente linea:
(command "_erase" ent "")
;;; no borres mas nada....
(command "_redrawall")
(princ "\nUna spline convertida")
(princ)
)
Last edited by MDpilo1Egg on Sat Jul 21, 2007 7:43 pm, edited 1 time in total.
Vengo de un país en vías de subdesarrollo
spline a polilinea 3d
Muchas gracias chicos.....me he quedado impresionado pero lo que me contais supera mi nivel....jejejejejeje......
como cargo el ficherito lisp?
como cargo el ficherito lisp?
-
- Moderador General
- Posts: 314
- Joined: Sat Apr 08, 2006 11:00 pm
- Location: S34 54.578 W56 07.819
Encontré otros dos utilitarios mas que hacen lo mismo, pero algo mas eficientes, uno de ellos lo he probado pasando unas letras del Corel Draw por DXF al Autocad, y las convierte perfectamente a plines editables.
Este me parecio el mejor, de modo que lo adjunto para quien le pueda servir.
MDP
http://rapidshare.com/files/4520999/spl ... e.lsp.html
Este me parecio el mejor, de modo que lo adjunto para quien le pueda servir.
MDP
http://rapidshare.com/files/4520999/spl ... e.lsp.html
Vengo de un país en vías de subdesarrollo
Who is online
Users browsing this forum: No registered users and 14 guests