Del Newsgroup comp.cad.autocad:
Benoit Bissonnette escribió:
>> Hola, He estado considerando si es posible crear/modificar una
> capa, unestilo de cotas o un estilo de texto con una llamada a
> entmake. He intentadolo siguiente, y por supuesto, no funciona:>> (entmake '((100 . "AcDbSymbolTableRecord")> (0 . "LAYER")> (2 . "TEST_1")> (70 . 64)> (62 . 5)> (6 . "CONTINUOUS")> )> ) ;entmake>> Cualquier ayuda sería apreciada. Gracias!>> Benoit Bissonnette
La cuestión es interesante. Por mi parte nunca lo habíaintentado. Así que estuve revisando la cosa un poco. Aquíestá la respuesta que hube de enviarle:
He estado repasando mis entmakes. ¡Pues sí, sepueden crear capas con entmake! Antes debes obtener la listapatrón con
entget, utilizando el nombre de objeto de la tablacomo argumento. Este nombre de objeto que corresponde a la tabla puede leerseempleando la funcióntblobjname:
(entget (tblobjname "LAYER""cualquier_nombre_de_capa"))
Esta función AutoLISP se introdujo con la versión 13.
La siguiente rutina creará una capa con el nombre que introduzca elusuario:
(defun c:mlay ()(setq laynam (getstring "\nNombre de la capa: "))(entmake(list'(0 . "LAYER")'(5 . "28")'(100 . "AcDbSymbolTableRecord")'(100 . "AcDbLayerTableRecord")(cons 2 laynam)'(70 . 64)'(62 . 7)'(6 . "CONTINUOUS"))))
A tu código parece faltarle solamente la lista:
'(100 . "AcDbLayerTableRecord")
> (entmake '((100 . "AcDbSymbolTableRecord")> (0 . "LAYER")> (2 . "TEST_1")> (70 . 64)> (62 . 5)> (6 . "CONTINUOUS")> )> )
Espero que esto te sea de utilidad
© Reinaldo Togores, 1997.



