BUSCO AL AUTOR DE ESTE LISP
3 participantes
Página 1 de 1.
BUSCO AL AUTOR DE ESTE LISP
Este lisp lo hizo un amigo y lo colgó en Hispacad, fue hace mucho tiempo y no recuerdo quien ...mi pc se averió y perdí casi todo.
El caso es que necesitaba que se ejecute una rutina antes del comando "LINE" pero ahora no recuerdo como funciona.
Por favor si estas por ahí podrías ayudarme con esto.
Muchas gracias.
(vl-load-com)
(vlr-command-reactor "XDATA-REACTOR" '((:vlr-commandEnded . aftercommand)))
(defun aftercommand (calling-reactor endcommandInfo / thecommandend drgName newname)
(setq thecommandend (nth 0 endcommandInfo))
(if (= thecommandend "LINE")
(progn
(addxdata (vlax-ename->vla-object (entlast))
'((1001 . "IVANNA_APP") (1000 . "IVANNA"))
)
)
)
)
(defun addxdata (vlaobj xdata)
(setq xdata (filter (mapcar
'(lambda (item / key)
(setq key (car item))
(if (<= 1010 key 1033)(cons key (vlax-variant-value (vlax-3d-point (cdr item)))) item)
)
xdata
)
)
)
(vla-setxdata vlaobj (car xdata) (cadr xdata))
)
(defun filter (filter)
(mapcar
'(lambda (lst typ)
(vlax-make-variant
(vlax-safearray-fill
(vlax-make-safearray
typ
(cons 0 (1- (length lst)))
)
lst
)
)
)
(list (mapcar 'car filter)
(mapcar 'cdr filter)
)
(list vlax-vbinteger vlax-vbvariant)
)
)
El caso es que necesitaba que se ejecute una rutina antes del comando "LINE" pero ahora no recuerdo como funciona.
Por favor si estas por ahí podrías ayudarme con esto.
Muchas gracias.
(vl-load-com)
(vlr-command-reactor "XDATA-REACTOR" '((:vlr-commandEnded . aftercommand)))
(defun aftercommand (calling-reactor endcommandInfo / thecommandend drgName newname)
(setq thecommandend (nth 0 endcommandInfo))
(if (= thecommandend "LINE")
(progn
(addxdata (vlax-ename->vla-object (entlast))
'((1001 . "IVANNA_APP") (1000 . "IVANNA"))
)
)
)
)
(defun addxdata (vlaobj xdata)
(setq xdata (filter (mapcar
'(lambda (item / key)
(setq key (car item))
(if (<= 1010 key 1033)(cons key (vlax-variant-value (vlax-3d-point (cdr item)))) item)
)
xdata
)
)
)
(vla-setxdata vlaobj (car xdata) (cadr xdata))
)
(defun filter (filter)
(mapcar
'(lambda (lst typ)
(vlax-make-variant
(vlax-safearray-fill
(vlax-make-safearray
typ
(cons 0 (1- (length lst)))
)
lst
)
)
)
(list (mapcar 'car filter)
(mapcar 'cdr filter)
)
(list vlax-vbinteger vlax-vbvariant)
)
)
1VANNA- Mensajes : 25
Fecha de inscripción : 15/09/2016
Re: BUSCO AL AUTOR DE ESTE LISP
Alguien contesteee.
1VANNA- Mensajes : 25
Fecha de inscripción : 15/09/2016
Re: BUSCO AL AUTOR DE ESTE LISP
IVANNA, presiento que el codigo que estas posteando.....está incompleto.
no lo he checado bien, pero asi de primera vista me da esa impresion.
Saludos
no lo he checado bien, pero asi de primera vista me da esa impresion.
Saludos
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: BUSCO AL AUTOR DE ESTE LISP
Es un reactor, solo necesitas cargar el codigo en autocad. Lo que realiza el reactor es establecer el valor (1001 . "IVANNA_APP") (1000 . "IVANNA") cada vez que se crea una linea en el dibujo
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
Re: BUSCO AL AUTOR DE ESTE LISP
Gracias por contestar.
Como funciona?
No tiene una defun c: como se llama a la funcion, eso es lo que no entiendo.
Como funciona?
No tiene una defun c: como se llama a la funcion, eso es lo que no entiendo.
1VANNA- Mensajes : 25
Fecha de inscripción : 15/09/2016
Re: BUSCO AL AUTOR DE ESTE LISP
Los reactores trabajan esperando que ocurran ciertas condiciones para actuar o reaccionar, en este caso que se termine el comando activo y que este haya sido el comando Line. Para que esto ocurra sólo es necesario cargar el lisp, sin requerir a posterior mayor interacción del usuario
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
Temas similares
» Ayuda con este lisp
» Comparación para filtro
» Sumandome a este nuevo grupo
» LISP (SELECCIÓNAR TODO Y CONVERTIR TODO COLOR PORCAPA), LISP (BLOQUES COLOR PORCAPA Y CAPA 0)
» Lisp de selección
» Comparación para filtro
» Sumandome a este nuevo grupo
» LISP (SELECCIÓNAR TODO Y CONVERTIR TODO COLOR PORCAPA), LISP (BLOQUES COLOR PORCAPA Y CAPA 0)
» Lisp de selección
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.