10 mar. 2008

Rutina vlisp para numerar secuencialmente bloques desde un número inicial dado:

;;; Numerador secuencial de bloques
;;; comando "num_bl"
;;; (c) by PREXEM -
;;; Víctor Adolfo Bracamonte - 2008.
;;;*************************************
(defun c:num_bl (/
osmodant
cmdant
mob_bl
sel
n
numero
cont
bl
pt0
pttext
)
(setq osmodant (getvar 'osmode))
(setvar "osmode" 0)
(setq cmdant (getvar 'cmdecho))
(setvar "cmdecho" 0)
(setq nomb_bl
(getstring t "\nDar nombre del bloque: ")
)
(prompt "\nSeleccione Bloques : ")
(setq sel (ssget
(list
(cons 0 "INSERT")
(cons 2 nomb_bl)
)
)
n (sslength sel)
numero (getint "\nDar numero inicial: ")
cont 0
)
(repeat n
(setq bl (ssname sel cont)
pt0 (cdr (assoc 10 (entget bl)))
pttext (mapcar
'+
pt0
(list 10 10 0)
)
)
(command "_.text"
"_J"
"_R"
pttext
""
""
(itoa numero)
)
(setq cont (1+ cont)
numero (1+ numero)
)
);repeat
(setvar "osmode" osmodant)
(setvar "cmdecho" cmdant)
(princ)
);fin defun

1 comentario:

Andrés dijo...

Hola, mi nombre es andrés, quiero usar tu lsp pero despues dedarle en comando, no me deja señalar nimgun bloque?
Tienes idea de porque puede suceder?
Gracias x tu tiempo.