Está en la página 1de 5

Estacin Total Leica Per

www.omctrade.com Nuevas y usadas con garanta Tel. 5655290 sales@omc trade.com

LOCAL

RECURSOS

CURSOS

IMAGEN

VIDEO

CERRAR SESIN

CG

Redes
Seguir a @construcgeek Me gusta Te gusta e

Facebook Twitter Google +

Rutina para generar una polilnea a partir de datos de Microsoft Excel


Por Mario Torres el Mar, 26/08/2008 - 10:52

Cuerpo: Este rutina se ha desarrollado en Autolisp y Visual Lisp para aprovechar las potencia de estas dos lenguajes Tw eet 0 de programacin. Lo que nos permite hacer esta rutina es leer datos desde Microsoft Excel (puede ser la 0 versin 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.
Me gusta 4 Enviar

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 continuacin procederemos a explicar de una manera ms detallada la forma de cambiar los valores por defecto de las celdas que sern ledas por la rutina: En primer lugar a pesar de que se puede solicitar los datos de celdas y columnas a travs de la lnea de comando, en este caso esta rutina en especial no lo hace, las indicaciones de que celdas leer el lisp se hace mediante cdigo, que es el siguiente: Lnea de cdigo 1 para dibujar la polilinea a la izquierda del punto indicado en el eje de la seccin: (ObtenerValores 8 28 3 4 -) Lnea de cdigo 2 para dibujar la polilinea a la derecha del punto indicado en el eje de la seccin: (ObtenerValores 8 21 6 7 +) Aqu la lnea de cdigo 1 y la lnea de cdigo 2, ambas obtienen valores desde Excel y ambas dibujan una polilinea, en este caso es necesario ya que se trata del dibujo de una seccin transversal, pero solo con una lnea de cdigo sera suficiente para que dibuje una polilinea. veamos que significa cada 1 de los valores de ejemplo de la primera lnea de cdigo: ObtenerValores: Es la funcin que permite obtener los valor y dibujar las polilineas. 8: El nmero total de filas que se leern, es decir el nmero de filas que contienen los datos a ser ledos por la rutina. 28: Es el nmero de fila del archivo de Excel, en la que la funcin comenzar a leer. 3: Es el nmero de columna en Excel que intersecta a la fila indicada anterior, la funcin 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 nmero de columna en Excel que intersecta a la fila indicada anterior, la funcin 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 sern negativos, es decir se dibujar la polilinea a la izquierda del eje de la seccin, si el operador es positivo a partir de los valores obtenidos, la polilinea se dibujar a la derecha del eje de la seccin. Como se puede ver basta con mirar que columnas, filas y cuantas columnas se leern y con estos datos reemplazar los valores por defecto por los nuevos, para una mayor comprensin 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: 1. Carga el archivo lisp en AutoCAD. 2. Ingresa el nombre del comando: imp 3. Indica un punto que ser la interseccin del eje de la seccin con la linea de la cota 0:

4. 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.

Archivos adjuntos:
Adjunto premium_importdatav2.lsp importdatav2.fas importdatav2-ejm.rar
VISUALLISP

Tamao 5.4 KB 2.71 KB 89.45 KB

27712 lecturas

Conversaciones (32)
MARTINSOLITO Mi, 22/10/2008 - 17:15 Enlace permanente

les agradesco amigos buena informacion voy a probarla para comentar


responder Mario Torres Mi, 22/10/2008 - 17:44 Enlace permanente

Esperamos que esta rutina te sea muy til, cualquier comentario ser bienvenido.
responder

enrique

Vie, 24/10/2008 - 02:49

Enlace permanente

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.
responder Mario Torres Vie, 24/10/2008 - 09:31 Enlace permanente

No es necesario descargar los dems 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 seccin en AutoCAD, nos comentas que no te ha dado resultado pero sera bueno que nos expliques un poco mas obre el tema, por ejemplo que mensajes te muestra el comando cuando lo ejecutas.
responder enrique Sb, 25/10/2008 - 03:31 Enlace permanente

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
responder LUIVL Lun, 27/10/2008 - 18:55 Enlace permanente

me parece muy interesante y es algo q yo estaba buscando lo probare y os contare el resultado saludos y grasias por el aporte....
responder gcm _86 Mar, 28/10/2008 - 07:28 Enlace permanente

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
responder Mario Torres Mar, 28/10/2008 - 10:07 Enlace permanente

Hola gcm_86, Enrique, el AutoCAD que tienen debe de estar en idioma espaol, 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 lnea: (command "PLINE") 3.- Agregarle un guin 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 modificacin de valores en el cdigo (rango de celdas que leer el comando), por lo que es importante saber que valores se modificarn de acuerdo al archivo que tengamos. Este comando se podra optimizar si los rangos de celdas fueran solicitadas en la lnea de comandos, por lo que queda a disposicin de cada uno el realizarlo, si desean compartir las optimizaciones, lo pueden hacer desde los Foro de ConstrucGeek .
responder gcm _86 Mi, 29/10/2008 - 08:22 Enlace permanente

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!
responder

Mario Torres

Mi, 29/10/2008 - 09:40

Enlace permanente

Si no ha salido ningn error es porque aparentemente todo est bien, si deseas puedes borrar la plataforma que est en la seccin del archivo de ejemplo y deja solamente el terreno natural, lo que pasa es que si se dibuja encima no notars que se genera la polilinea de ejemplo (el Talud). El archivo Importdata.xlsx que viene adjunto, es un archivo de Excel normal en versin 2007 cuya finalidad es solo mostrar que valores se estn 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 sern las mismas con otros archivos, como por ejemplo con tu propio archivo. Para que esta funcin funcione correctamente debes de abrir el archivo LSP y modificar las referencias de ubicacin de las celdas en la rutina, de acuerdo lo que deseas que leer, las ubicaciones de celdas las defines tu y sern de acuerdo a los datos que tienes en tu propio archivo de Excel.
responder RENZO1510 Sb, 17/01/2009 - 22:35 Enlace permanente

NO SE COMO CORRER ESTA RUTINA, CUAL ES EL FORMATO QUE DEBO UTILIZAR, PODRIAN COLOCAR UN FORMATO, PARA PODER PROBAR LA RUTINA
responder GustavoSalinasC... (visitante) Mi, 04/03/2009 - 15:38 Enlace permanente

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.
responder

Mario Torres

Mi, 04/03/2009 - 15:57

Enlace permanente

Hola Gustavo, Para que puedas descargar los archivos es necesario que te registres, solo te tomar un minuto y es totalmente gratuito. Sls.
responder tin Jue, 26/03/2009 - 15:04 Enlace permanente

SALUDOS PROBARE Y COMENTARE, LO QUE YOANDO BUSCANDO ES ALGO SIMILAR PERO QUE LEA VARIAS SECCIONES ,SUPONIENDO COMO 50 .

responder Lincoln Sb, 28/03/2009 - 23:16 Enlace permanente

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

responder Mario Torres Dom, 29/03/2009 - 00:13 Enlace permanente

Hola Lincoln, cambie la versin del archivo, estaba en version Excel 2007 y quiz eso causaba algn impase, ahora esta en versin 2003, parece que con eso se corrigi el problema, descargalo nuevamente y comprueba que todo marche bien. Sls.
responder

juanpm arin

Dom, 10/05/2009 - 00:00

Enlace permanente

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
responder anisel Lun, 01/06/2009 - 15:04 Enlace permanente

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-ERRORINIT" espero me puedar colaborar
responder Mario Torres Lun, 01/06/2009 - 16:59 Enlace permanente

Hola, ese mensaje de error generalmente se presenta cuando no se ha instalado las utilidades de Express, revisa tu configuracin de instalacin y si no esta instalado los Express Tools debers de instalarlo para utilizar correctamente sta y otras rutinas. Saludos
responder Deadpool87 Dom, 21/06/2009 - 17:37 Enlace permanente

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.

responder nikki_19 Dom, 05/07/2009 - 22:35 Enlace permanente

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..
responder Mario Torres Lun, 06/07/2009 - 09:40 Enlace permanente

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 mltiples trabajos con ellas. Aunque por lo que nos cuentas que estas estudiando meteorologa entiendo que el tipo de curva es Isobara, lo que nos gustara saber es como son los datos originales para poder elaborar ese tipo de curvas, segun eso te podriamos recomendar otro tipo de aplicaciones.
responder aj Mar, 22/09/2009 - 14:05 Enlace permanente

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

responder HARIWALD Mi, 14/04/2010 - 12:29 Enlace permanente

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.
responder Rider Reategui Mi, 14/04/2010 - 17:58 Enlace permanente

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
responder italogsm Mi, 26/01/2011 - 17:13 Enlace permanente

Hay varias con duda en el funcionamiento de autolisp solamente arrastras el archivo a CAD y despus en la barra de comando digitas imp y listo despus te pide una cota especifica del eje y seleccionas el archivo de excel donde esta la informacin
responder rocajim e Mar, 05/04/2011 - 11:17 Enlace permanente

Buenos dias. Amigos no se como hacer para que el archivo de texto que descargue se convierta en un archivo lsp, iintente cambiandole la extension del archivo , lo cargue en autocad pero al darle el coomando imp, me sale importar pero un archivo ?, les agradeceria me comentaran que hago, o si alguno ha creado bien el lisp y lo adjunta. muchas gracias
responder sam uelcad Vie, 02/09/2011 - 10:54 Enlace permanente

como genero varias secciones en el mismo archivo???

responder Jackson jbjc Mar, 11/10/2011 - 23:46 Enlace permanente

Hola... primeramente gracias por compartir este conocimiento... Mario no se si me puedes hacer un favor grande... necesito aprender a ingresar puntos desde un fichero ya sea .txt o .lsp, por ejemplo quiero leer la primera linea (1000,1000,1000) , y guardarla como una lista, algo simple, por ejemplo en VBa es Open ARCHIVO For Input As #1 ' Abre el archivo para recibir los datos. Do While Not EOF(1) ' Repite el bucle hasta el final del archivo. Line Input #1, Linea ' Lee la linea de datos espero me puedas ayudar, estoy empazando a utilizar este lenguaje... Saludos...
responder Mario Torres Mi, 12/10/2011 - 01:24 Enlace permanente

Hola Jackson, Me parece una muy buen desicin que te estes iniciando en la programacin con AutoLisp, verdaderamente es una gran ayuda para avanzar rpidamente con el trabajo, para mejorar estos conocimientos te puedo recomendar este curso: http://www.construcgeek.com/cursos/curso-practico-en-linea-de-programacion-en-autolisp-para-usuarios-principiantes-e-intermedios Es totalmente prctico y con la opcin de hacer todas tus preguntas con respecto a el. Saludos.
responder

Jackson jbjc

Mi, 12/10/2011 - 08:44

Enlace permanente

Gracias Mario... ms adelante me animar a entrar a este curso... me parece interesante... pero por ahora no puedo... necesitaba esa pequea ayudilla de antemano... de todos modos muchas gracias... y sigue adelante con este gran proyecto....xitos!!!
responder groserote Mar, 31/07/2012 - 03:43 Enlace permanente

Saludos Tengo un problema, Puedo cargar el archivo, pero al momento de trazar la polilinea sobre el eje de las x si le doy un valor de fracciones lo manda como enteros alguna recomendacin? Ejemplo mando a trazar 1.5, 2.56 2.56,3.73 y lo que traza es 1,2.56 3,3.73 Agradezco su ayuda
responder

También podría gustarte