Mensaje en selección.
+4
devitg
Dominguez
robierzo
carlosmgilp
8 participantes
Página 1 de 1.
Mensaje en selección.
Hola muchachos, como están.
Tengo nuevamente una duda con el texto o mensaje al momento de seleccionar un objeto.
Normalmente tengo activado la entrada dinamica F12 para que lo que tenga que ingresar me salga junto al puntero.
Con (entsel) funciona super bien y lo hago de la siguiente manera.
Pero si trato de hacerlo con (ssget) no puedo hacerlo directo, sino tengo que colocar el texto o mensaje aparte.
Como puedo hacer para que el texto de selección se me vea junto al puntero, por si hay alguna manera de lograrlo claro esta.
Saludos.
Tengo nuevamente una duda con el texto o mensaje al momento de seleccionar un objeto.
Normalmente tengo activado la entrada dinamica F12 para que lo que tenga que ingresar me salga junto al puntero.
Con (entsel) funciona super bien y lo hago de la siguiente manera.
- Código:
(setq seleccion (entsel "\nSelecione primera entidad:"))
Pero si trato de hacerlo con (ssget) no puedo hacerlo directo, sino tengo que colocar el texto o mensaje aparte.
- Código:
(princ "\nSelecione primera entidad:")
(setq seleccion (ssget))
Como puedo hacer para que el texto de selección se me vea junto al puntero, por si hay alguna manera de lograrlo claro esta.
Saludos.
carlosmgilp- Mensajes : 149
Fecha de inscripción : 17/03/2016
Edad : 42
Localización : Venezuela
Re: Mensaje en selección.
Que yo sepa, la función SSGET no permite introducir ningún argumento que no sea uno de los filtros propios de la función. Es decir, NO deja especificar un mensaje al estilo ENTSEL. Desconozco si existe una variable de sistema que pueda modificar el mensaje que aparece por defecto de "Designe objetos"
Re: Mensaje en selección.
Hola robierzo, si estaba enterado que no admite mensaje, pues también pensé en una variable del sistema por si había alguna. Pero será esperar haber si alguien conoce alguna que lo haga posible. En lo particular el 95 % de AutoCAD lo utilizo con comandos así me evitó de colocar las barras de herramientas y tengo más espacio de pantalla de trabajo.
Claro son tonterías al final, pero se hace más agradable.
Es como el comando de eliminar de los AutoCAD nuevos, que oscurece el objeto y al lado del puntero sale una X me parece que a la vista son más agradables.
Pero no se consigue nada documentado de como lo hacen.
Un saludo.
Claro son tonterías al final, pero se hace más agradable.
Es como el comando de eliminar de los AutoCAD nuevos, que oscurece el objeto y al lado del puntero sale una X me parece que a la vista son más agradables.
Pero no se consigue nada documentado de como lo hacen.
Un saludo.
carlosmgilp- Mensajes : 149
Fecha de inscripción : 17/03/2016
Edad : 42
Localización : Venezuela
Re: Mensaje en selección.
Exista una solucion que es la que yo uso:
NOMUTT:Suprime la visualización de mensajes (silenciamiento) que no se suprimiría normalmente. La visualización de mensajes es el modo normal, pero se suprime cuando se utilizan archivos de comandos, rutinas de AutoLISP, etc.
0 Reanuda el comportamiento normal de silenciamiento.
1 Suprime el silenciamiento de forma indefinida.
Valor normal: 0
NOMUTT:Suprime la visualización de mensajes (silenciamiento) que no se suprimiría normalmente. La visualización de mensajes es el modo normal, pero se suprime cuando se utilizan archivos de comandos, rutinas de AutoLISP, etc.
0 Reanuda el comportamiento normal de silenciamiento.
1 Suprime el silenciamiento de forma indefinida.
Valor normal: 0
- Código:
(prompt "\nSelecione primera entidad:")
(setvar 'nomutt 1)
(setq seleccion (ssget))
(setvar 'nomutt 0)
Dominguez- Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Mensaje en selección.
Hola hermano como estas.
100% Funcional para eliminar el command.
Esa no me la sabia, lista solo de aplicar.
Pero en el caso mio, quiero que apareciera el texto del mensaje al lado del puntero, cuando esta activada la entrada dinamica (F12)
Este ejemplo lo hice con (entsel) pero cuando se hace con (ssget) solo dice al lado del puntero Select objects y no el texto que yo quiero que muestre.
Gracias.
100% Funcional para eliminar el command.
Esa no me la sabia, lista solo de aplicar.
Pero en el caso mio, quiero que apareciera el texto del mensaje al lado del puntero, cuando esta activada la entrada dinamica (F12)
Este ejemplo lo hice con (entsel) pero cuando se hace con (ssget) solo dice al lado del puntero Select objects y no el texto que yo quiero que muestre.
Gracias.
carlosmgilp- Mensajes : 149
Fecha de inscripción : 17/03/2016
Edad : 42
Localización : Venezuela
Re: Mensaje en selección.
- Código:
;; Un contenedor para la función ssget para permitir el uso de un mensaje de selección personalizada
;; argumentos:
;; msg - mensaje de selección
;; params - lista de argumentos ssget
(vl-load-com)
(defun LM:ssget ( msg params / sel )
(prompt msg)
(setvar 'nomutt 1)
(setq sel (vl-catch-all-apply 'ssget params))
(setvar 'nomutt 0)
(if (not (vl-catch-all-error-p sel))
sel
)
)
**********Ejemplo *********
- Código:
(defun c:ModColor (/ ssobject sscolor)
(setvar "cmdecho" 0)
(setq ssmode (getvar "dynmode"))
(setvar "dynmode" 0)
(setq ssobject (LM:ssget "Sel. Objeto en el dibujo" nil))
(setvar "dynmode" ssmode)
(setq sscolor (getstring T "\nIngresa el color: "))
(vl-cmdf "_change" ssobject "" "prop" "color" sscolor "")
(setvar "cmdecho" 1)
(princ))
La unica manera de hacer lo que pides sería guardando la variable (DYNMODE) para que el mensaje de (SSGET) salga en la linea de comandos y luego volviendolo a restablecer el (DYNMODE), Ojala le sea util.
Saludos..
Re: Mensaje en selección.
Me temo que el Maestro LEE no pretende lo que busca Carlos si no todo lo contrario.
Yo creo que casi es posible pero no se si merece la pena el esfuerzo.
Lo digo porque tengo una función auxiliar sel22 que estoy desarrollando para mi rutina de ejes que se podría adaptar para el ssget con f12 activo.
Pero igual que esta rutina (por cierto, tira de transparencias por lo que solo vale a partir de la 2011 y con las exprees instaladas para las teclas auxiliares ) se podrían hacer otra enfocada al fin concreto que se proponga uno.
La dejo aquí con unas notas.txt de como usarla pero en vlx porque esta hecha para otra cosa (numerar de izquierda a derecha y de abajo hacia arriba) y no es específica para esto.
<dropbox nolo>
Un ejemplo de selección que explico en las líneas de mas abajo, podría ser:
Primero se define la función orl que lo que sirve es para ordenar de manera consecutiva al perímetro lo que devuelve sel22 y así poder hacer una selección por poligonal "w" o "c"
Siguiente, guardar y poner la variable SHORTCUTMENU a 0 para poder salir con el botón derecho del ratón
Inicializar variables y bucle mientras hay respuesta al finalizar un progn
initget y entsel para que aparezca junto al cursor
Que no se selecciona nada, pues verifica que no se ha pulsado botón derecho (< (car(grread -1)11) -> hasta la 2015- y si no hay nada toma el punto mas cercano devuelto por grread para entrar en sel22 con el valor nil y el punto, que hace que mi rutina se comporte como el windows/crosing de autocad. Si hay selección, se guarda el nombre devuelto por entget en una lista, si no se selecciona nada sale.
Si se pica "c" o "w", se fuerza a mi rutina sel22 a pedir un punto y se utiliza este string para dibujar con línea descontinua y color verde las ventanas, o azul y línea continua si la entrada es "w".
Las selecciones se guardan en forma de lista que se añaden o restan según este la tecla shift pulsada o no (solo si estan las extrees cargadas) y se redibujan con línea discontinua, en el nucleo de contenido del bucle.
Al finalizar se añaden a una selección y se ponen como conjunto de selección activo con el sssetfirst y se devuelve SHORTCUTMENU a su valor original.
Ni que decir tiene que hay que cargar primero sel22_nolo.vlx para poder correr testa
No se si merece la pena tanto código, pero da gusto jugar a sacarle el juguillo a las funciones gráficas.
Un saludo
Yo creo que casi es posible pero no se si merece la pena el esfuerzo.
Lo digo porque tengo una función auxiliar sel22 que estoy desarrollando para mi rutina de ejes que se podría adaptar para el ssget con f12 activo.
Pero igual que esta rutina (por cierto, tira de transparencias por lo que solo vale a partir de la 2011 y con las exprees instaladas para las teclas auxiliares ) se podrían hacer otra enfocada al fin concreto que se proponga uno.
La dejo aquí con unas notas.txt de como usarla pero en vlx porque esta hecha para otra cosa (numerar de izquierda a derecha y de abajo hacia arriba) y no es específica para esto.
<dropbox nolo>
Un ejemplo de selección que explico en las líneas de mas abajo, podría ser:
- Código:
(defun c:testa( / s2 s1 ss ssf orl old g)
(defun orl (lista) (mapcar '(lambda(a)(trans (nth a lista)0 1)) '(0 1 3 2)) )
(setq old (getvar 'SHORTCUTMENU))
(setvar 'SHORTCUTMENU 0)
(setq ss '() ssf (ssadd))
(while (progn
(initget "W C A")
(if (null (setq s2 (entsel "\nSeleccionar entidad (Window/Crosing/Abandonar) : ")))
(if (and (< (car(setq g (grread -1))) 11) (setq s1 (sel22 (list nil (cadr g )))))
(if (setq s1 (if (=(last s1)3)
(ssget "_CP" (orl (car s1)));; o solo "_C" (caar s1)(last(car s1)) )
(ssget "_WP" (orl (car s1)));; o solo "_W" (caar s1)(last(car s1)) )
)
)
(setq s1 (vl-remove-if '(lambda(a)(/= (type a) 'ENAME))(apply 'append (ssnamex s1))) )
(progn (princ "\nNo hay selección")nil)
)
(progn (princ"\nTerminado...") nil)
)
(if (cond
( (and (listp s2)(=(Type (car s2))'ENAME)) (setq s1 (list (car s2))) )
( (= s2 "C") (setq s1 (sel22 (list "C"));; o añadir en la lista (cadr(grread -1)) para obviar punto
s1 (ssget "_CP" (orl (car s1)))
)
)
( (= s2 "W") (setq s1 (sel22 (list "W")) ;; idem (cadr(grread -1))
s1 (ssget "_WP" (orl (car s1)))
)
)
(t nil)
)
(if (=(type s1) 'PICKSET)
(setq s1 (vl-remove-if '(lambda(a)(/= (type a) 'ENAME))(apply 'append (ssnamex s1))) )
s1
)
(progn (if (/= s2 "A")(princ "\nNo hay selección")(princ"\nTerminado...")) nil)
)
))
;; contenido bucle
(if ss (mapcar '(lambda(a)(redraw a 4)) ss))
(if (and (type acet-sys-shift-down) (acet-sys-shift-down) )
(setq ss (vl-remove-if '(lambda(a)(member a s1)) ss))
(foreach a s1 (if (not( member a ss))(setq ss (cons a ss))) )
)
(mapcar '(lambda(a)(redraw a 3)) ss)
)
(mapcar '(lambda(a)(setq ssf (ssadd a ssf)) ) ss)
(sssetfirst ssf ssf)
(setvar 'SHORTCUTMENU old)
(princ)
)
Primero se define la función orl que lo que sirve es para ordenar de manera consecutiva al perímetro lo que devuelve sel22 y así poder hacer una selección por poligonal "w" o "c"
Siguiente, guardar y poner la variable SHORTCUTMENU a 0 para poder salir con el botón derecho del ratón
Inicializar variables y bucle mientras hay respuesta al finalizar un progn
initget y entsel para que aparezca junto al cursor
Que no se selecciona nada, pues verifica que no se ha pulsado botón derecho (< (car(grread -1)11) -> hasta la 2015- y si no hay nada toma el punto mas cercano devuelto por grread para entrar en sel22 con el valor nil y el punto, que hace que mi rutina se comporte como el windows/crosing de autocad. Si hay selección, se guarda el nombre devuelto por entget en una lista, si no se selecciona nada sale.
Si se pica "c" o "w", se fuerza a mi rutina sel22 a pedir un punto y se utiliza este string para dibujar con línea descontinua y color verde las ventanas, o azul y línea continua si la entrada es "w".
Las selecciones se guardan en forma de lista que se añaden o restan según este la tecla shift pulsada o no (solo si estan las extrees cargadas) y se redibujan con línea discontinua, en el nucleo de contenido del bucle.
Al finalizar se añaden a una selección y se ponen como conjunto de selección activo con el sssetfirst y se devuelve SHORTCUTMENU a su valor original.
Ni que decir tiene que hay que cargar primero sel22_nolo.vlx para poder correr testa
No se si merece la pena tanto código, pero da gusto jugar a sacarle el juguillo a las funciones gráficas.
Un saludo
nolo- Mensajes : 182
Fecha de inscripción : 17/03/2016
Re: Mensaje en selección.
Hola amc.dicsac gracias por la información.
Pero no logra lo que quiero, aunque como le comente a Dominguez, son cosas que no sabia y que de ahora en adelante aplicare para mis funciones.
Hola nolo como estas, gracias a ti también, si logra su cometido y entiendo mas el truco para lograrlo con toda esa explicación.
Pero tienes toda la razón, es demasiado código para solo mostrar un mensaje al lado del puntero.
Pensé que podría ser alguna variable o algo así.
Y al grread no le tengo el 100 % de confiabilidad, aunque con todo lo que me has enseñado de esa función y se todo lo que se puede lograr visualmente que es fantástico. Pues a veces creo que siempre puede dar algún error y mas en selecciones. Jejeje.
Mil gracias a todos.
Saludos.
Pero no logra lo que quiero, aunque como le comente a Dominguez, son cosas que no sabia y que de ahora en adelante aplicare para mis funciones.
Hola nolo como estas, gracias a ti también, si logra su cometido y entiendo mas el truco para lograrlo con toda esa explicación.
Pero tienes toda la razón, es demasiado código para solo mostrar un mensaje al lado del puntero.
Pensé que podría ser alguna variable o algo así.
Y al grread no le tengo el 100 % de confiabilidad, aunque con todo lo que me has enseñado de esa función y se todo lo que se puede lograr visualmente que es fantástico. Pues a veces creo que siempre puede dar algún error y mas en selecciones. Jejeje.
Mil gracias a todos.
Saludos.
carlosmgilp- Mensajes : 149
Fecha de inscripción : 17/03/2016
Edad : 42
Localización : Venezuela
Re: Mensaje en selección.
Estimado amc.dicsac
Estoy usando tu lisp para seleccionar una Polilinea
de una sola vez con:
(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))))
pero me da error, podrías incorporar en el lisp.
Un Saludo
Luis
Estoy usando tu lisp para seleccionar una Polilinea
de una sola vez con:
(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))))
pero me da error, podrías incorporar en el lisp.
Un Saludo
Luis
Luis Alberto Benitez- Mensajes : 112
Fecha de inscripción : 29/03/2016
ssget una sola entidad
Luis Alberto Benitez escribió:Estimado amc.dicsac
Estoy usando tu lisp para seleccionar una Polilinea
de una sola vez con:
(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))))
pero me da error, podrías incorporar en el lisp.
Un Saludo
Luis
Hola Luis , por favor muestra el error , y de ser posible sube el dwg , recuerda que para enviar un DWG , lo debes hacer con DROPBOX o algún otro sistema de archivos compartidos . dropbox es gratis .
Yo he probado esta línea de código
- Código:
(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))))
Y funciona bien .
Re: Mensaje en selección.
Aquí completo el ejemplo lo que no se es como aplicando el lisp
seleccione la polilinea de una sola vez[code][;; Un contenedor para la función ssget para permitir el uso de un mensaje de selección personalizada
;; argumentos:
;; msg - mensaje de selección
;; params - lista de argumentos ssget
(vl-load-com)
(defun LM:ssget ( msg params / sel )
(prompt msg)
(setvar 'nomutt 1)
(setq sel (vl-catch-all-apply 'ssget params))
(setvar 'nomutt 0)
(if (not (vl-catch-all-error-p sel))
sel
)
)
(defun c:ModColor (/ ssobject sscolor)
(PRINC "\nSeleccionar Polilinea")
(Terpri)
(setvar "cmdecho" 0)
(setq ssobject (LM:ssget "Seleccionar Polilinea" nil))
;(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))));para Seleccionar una sola vez
(setq sscolor (getstring T "\nIngresa el color: "))
(vl-cmdf "_change" ssobject "" "prop" "color" sscolor "")
(setvar "cmdecho" 1)
(princ))/code]
Un Saludo
Luis
seleccione la polilinea de una sola vez[code][;; Un contenedor para la función ssget para permitir el uso de un mensaje de selección personalizada
;; argumentos:
;; msg - mensaje de selección
;; params - lista de argumentos ssget
(vl-load-com)
(defun LM:ssget ( msg params / sel )
(prompt msg)
(setvar 'nomutt 1)
(setq sel (vl-catch-all-apply 'ssget params))
(setvar 'nomutt 0)
(if (not (vl-catch-all-error-p sel))
sel
)
)
(defun c:ModColor (/ ssobject sscolor)
(PRINC "\nSeleccionar Polilinea")
(Terpri)
(setvar "cmdecho" 0)
(setq ssobject (LM:ssget "Seleccionar Polilinea" nil))
;(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))));para Seleccionar una sola vez
(setq sscolor (getstring T "\nIngresa el color: "))
(vl-cmdf "_change" ssobject "" "prop" "color" sscolor "")
(setvar "cmdecho" 1)
(princ))/code]
Un Saludo
Luis
Luis Alberto Benitez- Mensajes : 112
Fecha de inscripción : 29/03/2016
para seleccionar una sola entidad
Luis Alberto Benitez escribió:Aquí completo el ejemplo lo que no se es como aplicando el lisp
seleccione la polilinea de una sola vez[code][;; Un contenedor para la función ssget para permitir el uso de un mensaje de selección personalizada
;; argumentos:
;; msg - mensaje de selección
;; params - lista de argumentos ssget
(vl-load-com)
(defun LM:ssget ( msg params / sel )
(prompt msg)
(setvar 'nomutt 1)
(setq sel (vl-catch-all-apply 'ssget params))
(setvar 'nomutt 0)
(if (not (vl-catch-all-error-p sel))
sel
)
)
(defun c:ModColor (/ ssobject sscolor)
(PRINC "\nSeleccionar Polilinea")
(Terpri)
(setvar "cmdecho" 0)
(setq ssobject (LM:ssget "Seleccionar Polilinea" nil))
;(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))));para Seleccionar una sola vez
(setq sscolor (getstring T "\nIngresa el color: "))
(vl-cmdf "_change" ssobject "" "prop" "color" sscolor "")
(setvar "cmdecho" 1)
(princ))/code]
Un Saludo
Luis
Hola Luis , sin tener el DWG es imposible analizar el el lisp , ya que lo que tu picas como lo que crees es una LWPOLYLINE, no lo es tal .
Re: Mensaje en selección.
Envío el dibujo en JPG ya que todavía no tengo el programa
DROPBOX.
Un Saludo
Luis
DROPBOX.
Un Saludo
Luis
Luis Alberto Benitez- Mensajes : 112
Fecha de inscripción : 29/03/2016
Re: Mensaje en selección.
Hola Luis Alberto Benitez
El lisp anteriormente subido es del maestro Lee Mac, si lo que deseas es seleccionar polylineas con ssget y a la vez hacer que tenga un mensaje personalizado lo puedes hacer tal como lo dijo el maestro Dominguez con la variable nomutt de la siguien manera:
Test4.lsp
Te dejo este otro código pero con la diferencia de que esta vez lo seleccionas con entsel y un bucle adicional espero que te sea util.
Test5.lsp
Saludos....
El lisp anteriormente subido es del maestro Lee Mac, si lo que deseas es seleccionar polylineas con ssget y a la vez hacer que tenga un mensaje personalizado lo puedes hacer tal como lo dijo el maestro Dominguez con la variable nomutt de la siguien manera:
Test4.lsp
- Código:
(defun c:test4 (/ ssobject sscolor)
(setvar "cmdecho" 0)
(prompt "\n>> Selecciona polylinea: ")
(setvar 'nomutt 1)
(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))))
(setvar 'nomutt 0)
(setq sscolor (getstring T "\nIngresa el color: "))
(vl-cmdf "_change" ss "" "prop" "color" sscolor "")
(setvar "cmdecho" 1)
(princ))
Te dejo este otro código pero con la diferencia de que esta vez lo seleccionas con entsel y un bucle adicional espero que te sea util.
Test5.lsp
- Código:
(defun c:test5 (/ ent_sel ent_name ss sscolor)
(setvar "cmdecho" 0)
(while
(setq ent_sel (car (entsel "\n>> Selecciona polylinea:")))
(if (not (null ent_sel))
(progn
(setq ent_name (cdr (assoc 0 (entget ent_sel))))
(cond ((/= ent_name "LWPOLYLINE") (prompt "\n>> Selecciona polylinea: "))
((= ent_name "LWPOLYLINE") (setq ss (ssget "x" (list (cons 0 ent_name))))
(setq sscolor (getstring T "\nIngresa el color: "))
(vl-cmdf "_change" ss "" "prop" "color" sscolor ""))))))
(setvar "cmdecho" 1)
(princ))
Saludos....
Re: Mensaje en selección.
Gracias amc.dicsac precisamente es lo que intentaba hacer
que de una sola vez me seleccione la polilinea.
Un saludo
Luis
que de una sola vez me seleccione la polilinea.
Un saludo
Luis
Luis Alberto Benitez- Mensajes : 112
Fecha de inscripción : 29/03/2016
selecciona mas de una
Hola Luis Alberto , al tener "_X" selecciona TODAS las polilineas .Luis Alberto Benitez escribió:Gracias amc.dicsac precisamente es lo que intentaba hacer
que de una sola vez me seleccione la polilinea.
Un saludo
Luis
Creo que antes , preguntabas por UNA sola Polilinea .
Re: Mensaje en selección.
Gracias Gabriel por la aclaración con test4 la hace una sola polilinea
en cambio con test5 la hace en todas las polilineas, lo que seria bueno
es que en la segunda lo haga en una sola polilinea seleccionada.
De todas maneras gracias por todos los Aportes.
Un Saludo
Luis
en cambio con test5 la hace en todas las polilineas, lo que seria bueno
es que en la segunda lo haga en una sola polilinea seleccionada.
De todas maneras gracias por todos los Aportes.
Un Saludo
Luis
Luis Alberto Benitez- Mensajes : 112
Fecha de inscripción : 29/03/2016
Re: Mensaje en selección.
Luis Alberto Benitez escribió:Aquí completo el ejemplo lo que no se es como aplicando el lisp
seleccione la polilinea de una sola vez[code][;; Un contenedor para la función ssget para permitir el uso de un mensaje de selección personalizada
;; argumentos:
;; msg - mensaje de selección
;; params - lista de argumentos ssget
(vl-load-com)
(defun LM:ssget ( msg params / sel )
(prompt msg)
(setvar 'nomutt 1)
(setq sel (vl-catch-all-apply 'ssget params))
(setvar 'nomutt 0)
(if (not (vl-catch-all-error-p sel))
sel
)
)
(defun c:ModColor (/ ssobject sscolor)
(PRINC "\nSeleccionar Polilinea")
(Terpri)
(setvar "cmdecho" 0)
(setq ssobject (LM:ssget "Seleccionar Polilinea" nil))
;(setq ssobject (ssget"_:s" '((0 . "LWPOLYLINE"))));para Seleccionar una sola vez
(setq sscolor (getstring T "\nIngresa el color: "))
(vl-cmdf "_change" ssobject "" "prop" "color" sscolor "")
(setvar "cmdecho" 1)
(princ))/code]
Un Saludo
Luis
(ssget"_:s" '((0 . "LWPOLYLINE")))) quitale el ultimo parentesis (ssget"_:s" '((0 . "LWPOLYLINE"))) como esta escrito aqui y no da nungun error
alpo52- Mensajes : 1
Fecha de inscripción : 21/03/2016
Seleccion
elpo52 antes que nada gracias por retomar la inquietud
aquí te envío las correcciones pero sigue dando error
Un Saludo
Luis
aquí te envío las correcciones pero sigue dando error
Un Saludo
Luis
- Código:
;; Un contenedor para la función ssget para permitir el uso de un mensaje de selección personalizada
;; argumentos:
;; msg - mensaje de selección
;; params - lista de argumentos ssget
(vl-load-com)
(defun LM:ssget ( msg params / sel )
(prompt msg)
(setvar 'nomutt 1)
(setq sel (vl-catch-all-apply 'ssget params))
(setvar 'nomutt 0)
(if (not (vl-catch-all-error-p sel))
sel
)
)
(defun c:ModColor (/ ssobject sscolor)
(PRINC "\nSeleccionar Polilinea")
(Terpri)
(setvar "cmdecho" 0)
(setq ssobject (LM:ssget "Seleccionar Polilinea" nil))
(ssget"_:s" '((0 . "LWPOLYLINE")));para Seleccionar una sola vez
;(setq sscolor (getstring T "\nIngresa el color: "))
;(vl-cmdf "_change" ssobject "" "prop" "color" sscolor "")
(vl-cmdf "_CHANGE" ssobject "" "PROP" "color" "Amarillo" "")
(setvar "cmdecho" 1)
(princ))
Luis Alberto Benitez- Mensajes : 112
Fecha de inscripción : 29/03/2016
Re: Mensaje en selección.
Hola muchachos como están.
Haber entiendo que el error es aplicando la selección.
Si es eso y no estoy equivocado, aplicalo de esta manera.
Espero te sirva, saludos.
Haber entiendo que el error es aplicando la selección.
Si es eso y no estoy equivocado, aplicalo de esta manera.
- Código:
(vl-load-com)
(defun lm:ssget (msg params / sel)
(prompt msg)
(setvar 'nomutt 1)
(setq sel (vl-catch-all-apply 'ssget params))
(setvar 'nomutt 0)
(if (not (vl-catch-all-error-p sel))
sel))
(defun c:xxx (/ ssobject sscolor)
(princ "\nSeleccionar Polilinea")
(terpri)
(setvar "cmdecho" 0)
(setq ssobject (lm:ssget "Seleccionar Polilinea" '("_:S" ((0 . "LWPOLYLINE")))))
(setq sscolor (getstring t "\nIngresa el color: "))
(vl-cmdf "_change" ssobject "" "prop" "color" sscolor "")
(setvar "cmdecho" 1)
(princ))
Espero te sirva, saludos.
carlosmgilp- Mensajes : 149
Fecha de inscripción : 17/03/2016
Edad : 42
Localización : Venezuela
Re: Mensaje en selección.
Carlos: Gracias por ser participe de este foro y responder la inquietud, el lisp funciona perfectamente.
Un Saludo
Luis
Un Saludo
Luis
Luis Alberto Benitez- Mensajes : 112
Fecha de inscripción : 29/03/2016
Re: Mensaje en selección.
Diría mi maestro Devit, hay que ser más claro al preguntar, para que no se este adivinando, pues se entendía como seleccionar un solo objeto, y todas las respuestas dadas eran valederas, también el dropbox no es necesario de instalar, pues a se puede utilizar directamente desde la web.
Un saludo y me alegra que sea haya solucionado.
Un saludo.
Un saludo y me alegra que sea haya solucionado.
Un saludo.
carlosmgilp- Mensajes : 149
Fecha de inscripción : 17/03/2016
Edad : 42
Localización : Venezuela
Temas similares
» Eliminar mensaje de error
» Perpendiculares a un eje
» Selección y dcl
» Z en punto de seleccion
» Lisp de selección
» Perpendiculares a un eje
» Selección y dcl
» Z en punto de seleccion
» Lisp de selección
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|