Insertar Block en Tabla
3 participantes
Página 1 de 1.
Insertar Block en Tabla
Buenos días Amigos, alguien que comparta como insertar bloque en la tabla con rutina Lisp??
Con esta pequeña Rutina se puede ingresar Textos, la Pregunta como hago para Insertar un bloque de nombre especifico???
(defun tab_t (/)
(vl-load-com)
(setq p1 (getpoint))
(or adoc (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
(setq acsp (if (= (getvar "CVPORT") 1) (vla-get-paperspace adoc)(vla-get-modelspace adoc)))
(setq objtable (vlax-invoke acsp 'Addtable p1 5 5 5 10 ))
(vla-settext objtable 0 0 "TABLE title")
(vla-settext objtable 1 0 "A")
(vla-settext objtable 1 1 "B")
(vla-settext objtable 1 2 "C")
(vla-settext objtable 1 3 "D")
(vla-settext objtable 1 4 "E")
(vla-settext objtable 2 0 "1")
(vla-settext objtable 3 0 "2")
(vla-settext objtable 4 0 "3")
(vla-setcolumnwidth objtable 0 15) ; 0 is first column
(vla-setcolumnwidth objtable 1 10)
(vla-setcolumnwidth objtable 2 15)
(command "_zoom" "e")
(princ)
)
Con esta pequeña Rutina se puede ingresar Textos, la Pregunta como hago para Insertar un bloque de nombre especifico???
(defun tab_t (/)
(vl-load-com)
(setq p1 (getpoint))
(or adoc (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
(setq acsp (if (= (getvar "CVPORT") 1) (vla-get-paperspace adoc)(vla-get-modelspace adoc)))
(setq objtable (vlax-invoke acsp 'Addtable p1 5 5 5 10 ))
(vla-settext objtable 0 0 "TABLE title")
(vla-settext objtable 1 0 "A")
(vla-settext objtable 1 1 "B")
(vla-settext objtable 1 2 "C")
(vla-settext objtable 1 3 "D")
(vla-settext objtable 1 4 "E")
(vla-settext objtable 2 0 "1")
(vla-settext objtable 3 0 "2")
(vla-settext objtable 4 0 "3")
(vla-setcolumnwidth objtable 0 15) ; 0 is first column
(vla-setcolumnwidth objtable 1 10)
(vla-setcolumnwidth objtable 2 15)
(command "_zoom" "e")
(princ)
)
Última edición por ronaldtroya el Mar Abr 03, 2018 4:54 am, editado 1 vez
ronaldT- Mensajes : 54
Fecha de inscripción : 20/03/2016
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Insertar Block en Tabla
Está buena esta solución (estuve revisando antes de realizar esta consulta), pero son tantas Variables que maneja, que no he logrado comprender, si no es mucho pedir un ejemplo mas sencillo??
ronaldT- Mensajes : 54
Fecha de inscripción : 20/03/2016
Re: Insertar Block en Tabla
Revisando la rutina de Lee-mac
Complemento de La Rutina Usada como ejemplo
estas son mis conclusiones: debemos usar las siguientes rutinas
(defun count:setblocktablerecord ( obj row col blk )
(eval
(list 'defun 'count:setblocktablerecord '( obj row col blk )
(cons
(if (vlax-method-applicable-p obj 'setblocktablerecordid32)
'vla-setblocktablerecordid32
'vla-setblocktablerecordid
)
(list
'obj 'row 'col
(list 'count:objectid (list 'vla-item (vla-get-blocks (count:acdoc)) 'blk))
':vlax-true
)
)
)
)
(count:setblocktablerecord obj row col blk)
)
(defun count:acdoc nil
(eval (list 'defun 'count:acdoc 'nil (vla-get-activedocument (vlax-get-acad-object))))
(count:acdoc)
)
(defun count:objectid ( obj )
(eval
(list 'defun 'count:objectid '( obj )
(cond
( (not (wcmatch (getenv "PROCESSOR_ARCHITECTURE") "*64*"))
'(vla-get-objectid obj)
)
( (= 'subr (type vla-get-objectid32))
'(vla-get-objectid32 obj)
)
( (list 'vla-getobjectidstring (vla-get-utility (count:acdoc)) 'obj ':vlax-false))
)
)
)
(count:objectid obj)
)
Con ello podemos usar
(count:setblocktablerecord objtable 1 0 "Nombre del Bloque")
Con esto ultimo podemos insertar un bloque en la table Creada
Si alguno Pudiera Simplificarlo sería mucho mejor
Complemento de La Rutina Usada como ejemplo
estas son mis conclusiones: debemos usar las siguientes rutinas
(defun count:setblocktablerecord ( obj row col blk )
(eval
(list 'defun 'count:setblocktablerecord '( obj row col blk )
(cons
(if (vlax-method-applicable-p obj 'setblocktablerecordid32)
'vla-setblocktablerecordid32
'vla-setblocktablerecordid
)
(list
'obj 'row 'col
(list 'count:objectid (list 'vla-item (vla-get-blocks (count:acdoc)) 'blk))
':vlax-true
)
)
)
)
(count:setblocktablerecord obj row col blk)
)
(defun count:acdoc nil
(eval (list 'defun 'count:acdoc 'nil (vla-get-activedocument (vlax-get-acad-object))))
(count:acdoc)
)
(defun count:objectid ( obj )
(eval
(list 'defun 'count:objectid '( obj )
(cond
( (not (wcmatch (getenv "PROCESSOR_ARCHITECTURE") "*64*"))
'(vla-get-objectid obj)
)
( (= 'subr (type vla-get-objectid32))
'(vla-get-objectid32 obj)
)
( (list 'vla-getobjectidstring (vla-get-utility (count:acdoc)) 'obj ':vlax-false))
)
)
)
(count:objectid obj)
)
Con ello podemos usar
(count:setblocktablerecord objtable 1 0 "Nombre del Bloque")
Con esto ultimo podemos insertar un bloque en la table Creada
Si alguno Pudiera Simplificarlo sería mucho mejor
ronaldT- Mensajes : 54
Fecha de inscripción : 20/03/2016
Re: Insertar Block en Tabla
Checa este post que recién hice, ya tenia la rutina, solo faltaba postearla.
http://mcommands.blogspot.mx/2018/04/block2cell.html
Saludos
http://mcommands.blogspot.mx/2018/04/block2cell.html
Saludos
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
Re: Insertar Block en Tabla
Muchas Gracias Marco
ronaldT- Mensajes : 54
Fecha de inscripción : 20/03/2016
Re: Insertar Block en Tabla
Supongo que te sirvió, saludos
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
Re: Insertar Block en Tabla
A mi no ne funcionó....
Saludos
Saludos
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Insertar Block en Tabla
¿que error te arrojó?
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Insertar Block en Tabla
Ya actualice el código, el error estaba en que buscaba la variable mu:thisdrawing antes de que se estableciera.
Saludos y gracias por el dato.
Saludos y gracias por el dato.
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
Re: Insertar Block en Tabla
Listo.....ya quedó!!!
Me es muy util tu rutina
Gracias
Saludos
Me es muy util tu rutina
Gracias
Saludos
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Insertar Block en Tabla
Excelente, un placer colaborar
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
Temas similares
» EXTRAER BLOCK DE TABLA
» omo insertar imágenes
» Insertar un bloque y centrarlo
» Insertar Bloque desde un archivo DWG
» Tabla de Puntos
» omo insertar imágenes
» Insertar un bloque y centrarlo
» Insertar Bloque desde un archivo DWG
» Tabla de Puntos
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.