SABEIS DE UNA ORDEN DE LISP PARA....
Moderador: Moderadores
SABEIS DE UNA ORDEN DE LISP PARA....
Hola a todos, buenos días. Sabéis de alguna orden de lisp para numerar bloques? Me explico...
Tengo 5 tipos de bloques en un plano de AutoCAD, corresponden a 5 tipos de luminarias, el problema viene cuando me piden que los numere de manera correlativa utilizando una nomenclatura diferente por cada tipo de farola, por ejemplo A001, A002.... B001,B002... y son mas de 1.500!!!
Conocéis alguna aplicación que me ayude en esto?
Muchas gracias a todos.
Tengo 5 tipos de bloques en un plano de AutoCAD, corresponden a 5 tipos de luminarias, el problema viene cuando me piden que los numere de manera correlativa utilizando una nomenclatura diferente por cada tipo de farola, por ejemplo A001, A002.... B001,B002... y son mas de 1.500!!!
Conocéis alguna aplicación que me ayude en esto?
Muchas gracias a todos.
numera.lsp
Es lo que necesitas. Te he enviado un privadito. 

Un saludo de......Julio
Delineando, ando.
Delineando, ando.
Prueba a ver si te sirve con esta y nos dices.
(defun c:anum (/ ssblck sstot sslon con base_point pref txt txt part osmo)
(vl-load-com)
(vl-cmdf "_undo" "_begin")
(setq osmo (getvar "osmode"))
(setvar "osmode" 0)
(setq ssblck (entget (car (entsel "\nIndique el bloque a numerar correlativamente: "))))
(setq sstot (ssget "x" (list (cons 2 (cdr (assoc 2 ssblck))) (cons 0 "INSERT"))))
(setq sslon (sslength sstot))
(setq pref (getstring "\nIndique el préfijo a añadir en la numeración del bloque: "))
(setq con 0)
(while (< con sslon)
(setq base_point (cdr (assoc 10 (entget (ssname sstot con)))))
(setq txt (rtos (+ con 1)))
(cond
((= (strlen txt) 1) (setq txtpart (strcat pref "00" txt)))
((= (strlen txt) 2) (setq txtpart (strcat pref "0" txt)))
((= (strlen txt) 3) (setq txtpart (strcat pref txt)))
)
(vl-cmdf "_text" base_point (getvar "textsize") "" txtpart)
(setq con (1+ con))
) ;_end while
(setvar "osmode" osmo)
(vl-cmdf "_undo" "_end")
)
(defun c:anum (/ ssblck sstot sslon con base_point pref txt txt part osmo)
(vl-load-com)
(vl-cmdf "_undo" "_begin")
(setq osmo (getvar "osmode"))
(setvar "osmode" 0)
(setq ssblck (entget (car (entsel "\nIndique el bloque a numerar correlativamente: "))))
(setq sstot (ssget "x" (list (cons 2 (cdr (assoc 2 ssblck))) (cons 0 "INSERT"))))
(setq sslon (sslength sstot))
(setq pref (getstring "\nIndique el préfijo a añadir en la numeración del bloque: "))
(setq con 0)
(while (< con sslon)
(setq base_point (cdr (assoc 10 (entget (ssname sstot con)))))
(setq txt (rtos (+ con 1)))
(cond
((= (strlen txt) 1) (setq txtpart (strcat pref "00" txt)))
((= (strlen txt) 2) (setq txtpart (strcat pref "0" txt)))
((= (strlen txt) 3) (setq txtpart (strcat pref txt)))
)
(vl-cmdf "_text" base_point (getvar "textsize") "" txtpart)
(setq con (1+ con))
) ;_end while
(setvar "osmode" osmo)
(vl-cmdf "_undo" "_end")
)
Cuando lo tengas cargado.virginia gutierrez escribió:Hola Afga, a ver si me aclaro con esto que me has dado...
me he creado un archivo*.lsp donde he pegado esto, lo he recargado como lisp, pero cuando lo voy a llamar desde AutoCAD, tecleo el nombre del archivo que le he puesto y nada, no me hace nada. Que estoy haciendo mal?
Gracias.
Pones.
Comando: anum
A ver si asi te dice algo....
Ahh por cierto Afga, aun tengo que probarlo yo.
Saludos.
Y delineamos poesia con el silencio de nuestra profesión.
Re: numera.lsp
Como lo veo?Julio escribió:Es lo que necesitas. Te he enviado un privadito.
Gracias a los dos, pero chicos, no se qué criterio sigue a la hora de numerarlo, me los pone desordenados.MAN286 escribió:Cuando lo tengas cargado.virginia gutierrez escribió:Hola Afga, a ver si me aclaro con esto que me has dado...
me he creado un archivo*.lsp donde he pegado esto, lo he recargado como lisp, pero cuando lo voy a llamar desde AutoCAD, tecleo el nombre del archivo que le he puesto y nada, no me hace nada. Que estoy haciendo mal?
Gracias.
Pones.
Comando: anum
A ver si asi te dice algo....
Ahh por cierto Afga, aun tengo que probarlo yo.
Saludos.
Gracias.
Virginia eso fue lo que te pregunté precisamente en este otro post.Afga escribió:Manda un ejemplo de lo qué y como lo quieres obtener, y veremos si tenemos algo. Me hago a la idea de que es lo que quieres, pero si mandas un ejemplo gráfico mucho mejor.
Por ejemplo ¿La númeración de los bloques se realiza en base a algún criterio de posicionamiento en el espacio, ...?
Saludos
Claro, Afga, es la planta de alumbrado de una urbanizacion, entonces lo que me interesaría es que lo hiciera todas seguidas por calles, no se si me explico. me da igual la calle pro la que empiece, es que ahora de la luminaria 001 me pasa a las 630, por ejemplo, sin seguir ningún orden que yo entienda.Afga escribió:Virginia eso fue lo que te pregunté precisamente en este otro post.Afga escribió:Manda un ejemplo de lo qué y como lo quieres obtener, y veremos si tenemos algo. Me hago a la idea de que es lo que quieres, pero si mandas un ejemplo gráfico mucho mejor.
Por ejemplo ¿La númeración de los bloques se realiza en base a algún criterio de posicionamiento en el espacio, ...?
Saludos
Cual es el criterio que sigue?
Y si tengo que enviar el archivo, como lo hago?
Gracias.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados