Este rutina se ha desarrollado en Autolisp y Visual Lisp para aprovechar las potencia de estas dos lenguajes de programación. Lo que nos permite hacer esta rutina es leer datos desde Microsoft Excel (puede ser la versión 2007 o las anteriores) para obtener puntos y generar una polilinea, los datos en el archivo se encuentran en dos columnas (izq=X y der=Y), por lo que se forma el par ordenado necesario para definir un punto.
En el lisp está definido, desde donde hasta donde, deseamos que el programa recorra las celdas para que vaya obteniendo los datos y vaya dibujando la polilinea, pero, se puede re-programar para que el usuario ingrese un rango de celdas.
A continuación procederemos a explicar de una manera más detallada la forma de cambiar los valores por defecto de las celdas que serán leídas por la rutina:
En primer lugar a pesar de que se puede solicitar los datos de celdas y columnas a través de la línea de comando, en este caso esta rutina en especial no lo hace, las indicaciones de que celdas leerá el lisp se hace mediante código, que es el siguiente:
Línea de código 1 para dibujar la polilinea a la izquierda del punto indicado en el eje de la sección:
(ObtenerValores 8 28 3 4 -)
Línea de código 2 para dibujar la polilinea a la derecha del punto indicado en el eje de la sección:
(ObtenerValores 8 21 6 7 +)
Aquí la línea de código 1 y la línea de código 2, ambas obtienen valores desde Excel y ambas dibujan una polilinea, en este caso es necesario ya que se trata del dibujo de una sección transversal, pero solo con una línea de código sería suficiente para que dibuje una polilinea.
veamos que significa cada 1 de los valores de ejemplo de la primera línea de código:
ObtenerValores: Es la función que permite obtener los valor y dibujar las polilineas.
8: El número total de filas que se leerán, es decir el número de filas que contienen los datos a ser leídos por la rutina.
28: Es el número de fila del archivo de Excel, en la que la función comenzará a leer.
3: Es el número de columna en Excel que intersecta a la fila indicada anterior, la función obtiene un valor del la celda 28,3 y lo establece como valor de la coordenada X, para el primer punto de la polilinea a generar.
4: Es otro número de columna en Excel que intersecta a la fila indicada anterior, la función obtiene un valor del la celda 28,4 y lo establece como valor de la coordenada Y, para el primer punto de la polilinea a generar.
- (Operador negativo): Indica que los valores de la coordenada X serán negativos, es decir se dibujará la polilinea a la izquierda del eje de la sección, si el operador es positivo a partir de los valores obtenidos, la polilinea se dibujará a la derecha del eje de la sección.
Como se puede ver basta con mirar que columnas, filas y cuantas columnas se leerán y con estos datos reemplazar los valores por defecto por los nuevos, para una mayor comprensión de este lisp se deberá de abrir el archivo de Excel y ubicar las celdas de ejemplo.
Para utilizar esta rutina debes de hacer lo siguiente:
- Carga el archivo lisp en AutoCAD.
- Ingresa el nombre del comando: imp
- Indica un punto que será la intersección del eje de la sección con la linea de la cota 0:

- Selecciona el archivo de Excel desde donde se va a leer los datos.

Y listo, el programa te genera una polilinea con los datos leidos desde Excel.
Link para descargar el programa:
Comentarios (25)
les agradesco amigos buena informacion voy a probarla para comentar
Esperamos que esta rutina te sea muy útil, cualquier comentario será bienvenido.
por lo que leo debe estar muy bueno pero he descargado el primer link, he cargado el lisp pero no me ha resultado nada tengo que descargar todos los link? gracias.
No es necesario descargar los demás archivos, pero éstos de tan una idea del formato que debe de tener el archivo en excel y de como insertar la polilinea de la sección en AutoCAD, nos comentas que no te ha dado resultado pero sería bueno que nos expliques un poco mas obre el tema, por ejemplo que mensajes te muestra el comando cuando lo ejecutas.
He descargado el segundo link pero no encuentro el formato del que tu me hablas creo que ahy tengo el problema
Bueno yo corro el comando me pide el punto de interseccion, next me pide el archivo le doy la ruta y ya, sale la ventana impordata con un mensaje que dice listo pero no me sale la polilinea, como te digo creo que el formato de excel podria estar el error me gustaria ver un archivo ejemplo
me parece muy interesante y es algo q yo estaba buscando lo probare y os contare el resultado saludos y grasias por el aporte....
hola, parece muy interesante esta rutina. Yo tengo un problema con ella, no me dibuja la polilinea, me dice qe desconoce el comando PLINE, alguien sabe x q sucede esto?
muxas gracias
Hola gcm_86, Enrique, el AutoCAD que tienen debe de estar en idioma español, por lo que no reconoce el comando PLINE, en este caso deberian de hacer lo siguiente:
1.- Abrir el archivo Importdata.lsp
2.- Ubicar la línea: (command "PLINE")
3.- Agregarle un guión abajo a PLINE de tal manera que quede así: (command "_PLINE")
Se debe de tener en cuenta que los archivos adicionales (de AutoCAD y Excel) ayudan mucho para entender el comando y así utilizarlo de una forma personalizada. Este comando se manipula mediante modificación de valores en el código (rango de celdas que leerá el comando), por lo que es importante saber que valores se modificarán de acuerdo al archivo que tengamos.
Este comando se podría optimizar si los rangos de celdas fueran solicitadas en la línea de comandos, por lo que queda a disposición de cada uno el realizarlo, si desean compartir las optimizaciones, lo pueden hacer desde los Foro de ConstrucGeek.
GRACIAS MARION70
corregi el .txt tal como me dijo y ahora ya no me dice que el comando pline sea desconocido. Ahora no hace nada, despues de seleccionar el archivo .xls me sale una ventanita de titulo importdata, en la que pone listo, pero no ha sucedido nada.....no se ya xqe puede ser.
y que formato de excel es el archivo adicional que viene en xlsx?¿
gracias de nuevo x contestar y un saludo!
Si no ha salido ningún error es porque aparentemente todo está bien, si deseas puedes borrar la plataforma que está en la sección del archivo de ejemplo y deja solamente el terreno natural, lo que pasa es que si se dibuja encima no notarás que se genera la polilinea de ejemplo (el Talud).
El archivo Importdata.xlsx que viene adjunto, es un archivo de Excel normal en versión 2007 cuya finalidad es solo mostrar que valores se están obteniendo desde la rutina. Esta rutina no funcionará correctamente con otros archivos de Excel si es que no se modifica interiormente, lo que pasa es que dentro del archivo lisp, se han especificado celdas que leerá desde el archivo Excel de ejemplo, estas definiciones de celdas no serán las mismas con otros archivos, como por ejemplo con tu propio archivo.
Para que esta función funcione correctamente debes de abrir el archivo LSP y modificar las referencias de ubicación de las celdas en la rutina, de acuerdo lo que deseas que leer, las ubicaciones de celdas las defines tu y serán de acuerdo a los datos que tienes en tu propio archivo de Excel.
NO SE COMO CORRER ESTA RUTINA, CUAL ES EL FORMATO QUE DEBO UTILIZAR, PODRIAN COLOCAR UN FORMATO, PARA PODER PROBAR LA RUTINA
Hola Mario, no se por donde empezar. Necesito la aplicacion lisp para cargarla pero donde la encuentro?
Luego tengo que digitar el comando imp?
Contesta por favor porque tengo un trabajo muy grande y esto me lo facilitaria mucho.
Gracias.
Hola Gustavo,
Para que puedas descargar los archivos es necesario que te registres, solo te tomará un minuto y es totalmente gratuito.
Sls.
SALUDOS PROBARE Y COMENTARE, LO QUE YOANDO BUSCANDO ES ALGO SIMILAR PERO QUE LEA VARIAS SECCIONES ,SUPONIENDO COMO 50 .
Hola, estuve viedno esta rutina pero cuando lo descargo el archivo excel no descarga queria para ver su funcionameinto agradecere bastante si vefica el link del archivo o algo estoy haciendo mal......muhcas gracias de antemano
Hola Lincoln, cambie la versión del archivo, estaba en version Excel 2007 y quizá eso causaba algún impase, ahora esta en versión 2003, parece que con eso se corrigió el problema, descargalo nuevamente y comprueba que todo marche bien.
Sls.
tengo un problema con esto no function definition: VLAX-GET-OR-CREATE-OBJECT. La primera vez que hice su ejemplo me salio de maravilla. excelente. cuando fui a trazar mi polilinea me sale este mensaje. Que paso? le agradezco su aporte y espero su pronta respuesta
antes que nada agradecerte por la rutina y espero me sea util, mi problema esta en que no puedo cargar el achivo en excel me sale un mensaje "ACET-ERROR-INIT" espero me puedar colaborar
Hola, ese mensaje de error generalmente se presenta cuando no se ha instalado las utilidades de Express, revisa tu configuración de instalación y si no esta instalado los Express Tools deberás de instalarlo para utilizar correctamente ésta y otras rutinas.
Saludos
Pues a mi no me funciona para nada cargo la rutina y lo unico q hace es cargar en la barra de comandos la direccion de la web. escribo e comando imp y no pasa nada tengo autocad 2008.
hola..soy nueva..y pues no entiendo mucho de esto..pero quisiera pedir un programa para trazar isolineas..soy estudiante de ing. meteorologica...
O alguna sugerencia de lo que yo pueda hacer..estoy en 4to ciclo de la universidad..
Hola Nikki_19, cuando mencionas isolineas, ¿te refieres a curvas de nivel?, para trabajar con curvas de nivel existen programas completos que no solo te generan esas curvas, sino tambien que te permiten relizar múltiples trabajos con ellas.
Aunque por lo que nos cuentas que estas estudiando meteorología entiendo que el tipo de curva es Isobara, lo que nos gustaría saber es como son los datos originales para poder elaborar ese tipo de curvas, segun eso te podriamos recomendar otro tipo de aplicaciones.
hola la rutina es muy buena, pero yo intento hacerla llego hasta el comando imp, despues me pide el pto de interseccion y n c q colocar, podria ser mas explicativo, no entiendo mucho
HOLA, SOY NUEVO EN EL MANEJO DE RUTINAS CON AUTOCAD, PERO NO HE ENCONTRADO LA MANERA DE RELIZAR UNA RUTINA QUE ME DIVIDA UNA LINEA EN VARIAS PARTES.
AGRADEZCO A QUIEN ME PUEDA COLABORAR.
GRACIAS.
Hola HARIWALD
Hay dos opciones interesantes que vienen con el autocad para dividir polilineas:
"Divide" Divide la polilinea en N partes
y "Measure" Divide la polilinea a una distancia D
Si quieres hacer un rutina, quizas puedas empezar por ahí y crear un "Break at Point" en cada punto que te genera estos comandos
Suerte