Está en la página 1de 62

MARZO E AR ODE 20 9 009

APLICACIO ONES DE MICR ROSOFT EXCE AUT T EL, TOCAD Y D VISU UAL BA ASIC EN OBTE N ENCIN DE CANTIDA N ADES D DE MATE ERIAL E UN PROYE EN ECTO C CONSTR RUCTIV VO

PR ROYECTO DE PASANT D TA INVESTIGATIVA PARA OPTA EL P AR GRA ADO DE TECNOLOGO EN CON NSTRUCCIO ONES CIVIL LES

OSCARM MAURICIOMENDOZAGRISALES
UNIVERSID DADDISTRITA ALF.JOSEDECALDASTEC. TECNOLOG GAENCONSTRUCCIONES SCIVILES MARZODE2009

APLICACIONES DE MICROSOFT EXCEL, AUTOCAD Y VISUAL BASIC EN OBTENCIN DE CANTIDADES DE MATERIAL EN UN PROYECTO CONSTRUCTIVO

OSCAR MAURICIO MENDOZA GRISALES

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS FACULTAD TECNOLGICA TECNOLOGA EN CONSTRUCCIONES CIVILES BOGOT D.C. 2009

APLICACIONES DE MICROSOFT EXCEL, AUTOCAD Y VISUAL BASIC EN OBTENCIN DE CANTIDADES DE MATERIAL EN UN PROYECTO CONSTRUCTIVO

OSCAR MAURICIO MENDOZA G

PROYECTO DE PASANTA INVESTIGATIVA PARA OPTAR EL GRADO DE TECNLOGO EN CONSTRUCCIONES CIVILES

Tutor: INGENIERO HCTOR PINZN

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS FACULTAD TECNOLGICA TECNOLOGA EN CONSTRUCCIONES CIVILES BOGOT D.C. 2009

DEDICATORIA

Le dedico este trabajo de grado, ante todo, a Dios por escucharme y ayudarme dndome fuerza y serenidad en aquellos momentos que tena ganas de tirar la toalla, por darme salud y creatividad

A ti Mam, mas que dedicarte esto, te lo entrego, esto es tuyo, es tu obra, gracias a tu temple, a tu lucha, a no dejarme caer nunca, y a tus consejos es que hemos logrado terminar.

A ti Pap, por tus regaos, por intentar guiarme, por quererme a tu manera. S que hubieses disfrutado mas si fuera Ingeniero Agrcola, pero aqu estoy, no me arrepiento de la carrera que escog, me siento feliz por lo que soy, cada una de tus palabra me hacen mejor persona.

A ti Albaluz mi hermanita, que aunque nuestra relacin sea distante siempre tendr presente que fuiste t quien me acompao en esos momentos difciles.

Y por ltimo, pero no lo menos importante, a ti Diosmery, mi amor, por estar conmigo a mi lado, apoyndome y sobre todo amndome; Cielo, ya pas la etapa ms crtica de la carrera y aguantamos todas las adversidades, gracias por aguantar mis locuras y mis ataques de estrs, gracias por mantenerte all, paciente a lo largo de toda la carrera nuestra carrera.

AGRADECIMIENTOS

A mi gran amigo Ernesto, ya que si hoy camino por el mundo de la programacin de computadoras es gracias a que t me enseaste los primeros pasos.

A cada uno de los maestros, que han sido parte de mi formacin profesional. Cada uno de ellos aport algo en lo realizado.

TABLA DE CONTENIDO

INTRODUCCIN ............................................................................................ 8 1 MICROSOFT EXCEL............................................................................... 9

1.1 QUE ES MICROSOFT EXCEL .............................................................. 9 1.2


1.2.1 1.2.2 1.2.3

ELEMENTOS DE TRABAJO EN MS EXCEL ..................................... 10


Frmulas .....................................................................................................10 Funciones ...................................................................................................11 Aplicaciones en el clculo de cantidades de material .................................11

1.3
1.3.1 1.3.2 1.3.3 1.3.4 1.3.5

MACROS EN MS EXCEL ................................................................... 14


Qu es una macro? ..................................................................................14 Objetos, propiedades y mtodos. ...............................................................15 Conjuntos. ...................................................................................................16 Objetos de Objetos. ....................................................................................16 Programacin Orientada a Objetos o Programacin Basada en Objetos...17

1.4
1.4.1 1.4.2 1.4.3

EDITOR DE VISUAL BASIC. .............................................................. 17


Mdulos ......................................................................................................18 Procedimientos ...........................................................................................18 Ejecutar un procedimiento o funcin. ..........................................................19

1.5

FUNCIONES PERSONALIZADAS PRECISIN ................................ 20

1.6

APLICACIONES DE FUNCIONES PERSONALIZAS AL CLCULO DE

CANTIDADES DE MATERIAL ...................................................................... 21


1.6.1 1.6.2 1.6.3 1.6.4 Funcin NoBarras .......................................................................................22 Funcin BarraNo .........................................................................................23 Funcin PesoBarra .....................................................................................24 Funcin LgBarras ........................................................................................25

1.7 2

TRABAJAR CON FUNCIONES PERSONALIZADAS ......................... 26 AUTOCAD ..............................................................................................28

2.1 PRESENTACIN GENERAL DE LA TECNOLOGA ACTIVEX DE AUTOCAD 28 2.2 PRESENTACIN GENERAL DE LA INTERFAZ ENTRE AUTOCAD Y

VISUAL BASIC PARA APLICACIONES (VBA) ............................................. 29 2.3 2.4 2.5 2.6
2.6.1 2.6.2 2.6.3

USO COMBINADO DE ACTIVEX Y VBA EN AUTOCAD ................... 29 EL EDITOR DE VBA EN AUTOCAD................................................... 30 ESTRUCTURAS DE OBJETOS DE AUTOCAD ................................. 30 VBA Y AUTOCAD EN LA OBTENCIN DE CANTIDADES DE ACERO30
Inicio de aplicacin Ms Excel (IniExcel) ......................................................31 Solicitud al usuario de datos y cuantas ......................................................32 Guardado y cierre de aplicacin Ms Excel ..................................................35

2.6.4

Terminacin de la macro.............................................................................36

CALCULO DE CANTIDADES DE ACERO CON AYUDA DE MACROS37

3.1 PLANOS DE TRABAJO ......................................................................... 37 3.2 3.3 4 5 PASAR CUANTAS DE ACERO DESDE AUTOCAD A EXCEL ......... 37 TRABAJO CON LOS DATOS EN EXCEL .......................................... 43 CONCLUSIONES ...................................................................................49 BIBLIOGRAFA ......................................................................................50

5.1 INFOGRAFIA ........................................................................................ 50 6 7 RECOMENDACIONES ...........................................................................52 ANEXOS 53

7.1 FUNCIONES EXCEL ............................................................................ 53 7.2 PROCEDIMIENTO AUTOCAD ........................................................... 55

Nota de aceptacin ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________

ABNER GRANADOS M. Jurado

JAVIER HIGUERA Jurado

Bogot, 17 de Marzo de 2009

LISTA DE FIGURAS

Fig-3.1 Estructura de una formula en Excel ..............................................................10 Fig. 3.2 Detalle plano de despiece de acero .............................................................12 Fig. 3.3 Referencia de despiece................................................................................12 Fig. 3.4 Vista general del Editor de Visual Basic.......................................................18 Fig. 3.5 Vista de espacio de trabajo en editor de Visual Basic .................................18 Fig. 3.6 Funcin NoBarras ........................................................................................23 Fig. 3.7 Funcin BarraNo ..........................................................................................23 Fig. 3.8 Funcin PesoBarra.......................................................................................24 Fig. 3.9 Funcin LgBarras .........................................................................................25 Fig. 3.10 Funcin PesoBarra2...................................................................................27 Fig. 4.1 Funcin IniCantAcero ...................................................................................31 Fig. 4.2 Funcin IniExel .............................................................................................32 Fig. 4.3 Modelo de despiece .....................................................................................32 Fig. 4.4 Funcin TexExcel (parte 1) ..........................................................................34 Fig. 4.5 Funcin TexExcel (parte 2) ..........................................................................34 Fig. 4.6 Funcin Continuax .......................................................................................35 Fig. 4.7 Funcin CierraExcel .....................................................................................35 Fig. 5.1 Ejercicio ejemplo (Solicitud de nombre de Archivo) .....................................38 Fig. 5.2 Ejercicio ejemplo (Solicitud de nombre de Elemento) ..................................38 Fig. 5.3 Ejercicio ejemplo (Solicitud descripcin de elemento) .................................39 Fig. 5.4 Ejercicio ejemplo (Solicitud cantidad de elementos) ....................................39 Fig. 5.5 Ejercicio ejemplo (Solicitud de seccin de elemento) ..................................40 Fig. 6 Ejercicio ejemplo (Solicitud de cuantas).........................................................40 Fig. 5.7 Ejercicio ejemplo () .......................................................................................41 Fig. 5.8 Ejercicio ejemplo (Final de proceso) ............................................................41 Fig. 5.9 Ejercicio ejemplo (Userform de salida).........................................................42 Fig. 5.10 Ejercicio ejemplo (Localizacin de archivo creado en Autocad) ................42 Fig. 5.11 Ejercicio ejemplo (Descripcin de archivo creado en Autocad) .................43 Fig. 5.12 Ejercicio ejemplo (Aplicacin de Funcion NoBarras) .................................44 Fig. 5.13 Ejercicio ejemplo (Aplicacin de Funcin BarraNo) ...................................44 Fig. 5.14 Ejercicio ejemplo (Aplicacin Funcin PesoBarra) .....................................44 Fig. 5.15 Ejercicio ejemplo (Aplicacin Funcin LgBarras) .......................................45 Fig. 5.16 Ejercicio ejemplo (Aplicacin Funcin LgFlejes) ........................................45 Fig. 5.17 Ejercicio ejemplo (Utilizacin de funciones lgicas) ...................................46 Fig. 5.18 Ejercicio ejemplo ........................................................................................46

LISTA DE TABLAS

Tabla- 3.1 Elementos de una formula en Excel ........................................................11 Tabla 3.2 Formato comn de anlisis de cantidad de acero.....................................13 Tabla 3.3 Formulacin comn de hoja de clculo para anlisis de cantidad de acero ..................................................................................................................................13 Tabal 3.4 Formato de Tabla anlisis de cuantas en Excel con ayuda de macros ...21 Tabla 3.5 Utilizacin de Frmulas definidas por el usuario en Excel ........................22

INTRODUCCIN

La ingeniera civil es uno de los campos ms extensos dentro de las carreras profesionales. Comprende una amplia diversidad de tcnicas en el espacio laboral, y un progresivo desempeo creativo de cada profesional en el diseo de obras civiles. El control de ejecucin de un proyecto de construccin es una de las muchas tareas encargadas a los profesionales de ingeniera civil, trabajo en el cual el profesional debe apoyarse en conceptos y herramientas adecuadas para cumplir su labor correspondiente. Un aspecto fundamental en el control de un proyecto constructivo es el anlisis de cantidades de material. Esta informacin es de alta importancia ya que de dichos datos depende el costo del proyecto, factor determinante en la ejecucin del mismo. El sobrecosto de una obra puede acarrear inconvenientes para la ejecucin o terminacin de toda construccin. As mismo un bajo costo puede ser ndice de mal clculo de las cantidades de material o la utilizacin de materiales de baja calidad. Comnmente se han considerado tcnicas para el clculo de cantidades de material y cada una de estas se basan principalmente en la observacin y medida de cuantas sobre planos, seguidamente su respectiva ordenacin y anlisis. Este trabajo comnmente se realiza con ayuda de hojas de clculo que permiten un manejo ms propicio a estos datos. Los mtodos comunes para la medicin de cantidades de material se han caracterizado por su alta demanda de tiempo que requieren para la obtencin precisa de las cantidades de material. Por tal razn, el objeto de este proyecto es presentar alguna alternativa basada en el manejo de herramientas informticas que puedan agilizar el proceso de clculo y brinden una mayor precisin. El uso adecuado de aplicaciones de Windows como Ms Excel y Autocad pueden permitir un rendimiento importante en los trabajos o actividades del ingeniero y especialmente en el clculo de cantidades de material, adems siendo estas aplicaciones de uso comn entre los diferentes profesionales, es importante conocer las posibilidades que ellas nos ofrecen. El proyecto contempla un anlisis de algunas de las herramientas que ofrece cada software para aplicar en las diferentes necesidades. La finalidad del presente trabajo es investigar algn mtodo factible para el tratamiento de cantidades de obra, para aportar as alguna experiencia en el tema tratado y el trabajo con herramientas informticas. El trabajo se subdivide en tres captulos bases que presentan el modelo de investigacin planteado para lograr la obtencin de resultados esperados. Empezando por analizar el software Excel como herramienta de administracin y calculo. Seguidamente el manejo de Autocad como Software principal en el tratamiento de planos, finalmente se realiza un ejemplo de aplicacin utilizando los dos programas antes vistos.

Del presente trabajo se deber concluir la factibilidad y utilidad que tienen los programas de Microsoft Excel y Autocad en el manejo, control y clculo de cantidades de material para as determinar la necesidad que tiene cada profesional de aprender a utilizar estas herramientas.

1 MICROSOFT EXCEL
Excel es una de las herramientas informticas ms utilizadas en la ingeniera para la organizacin y clculo de la cantidad de material necesaria para un proyecto, debido a su gran versatilidad y fcil manejo. An cuando no aprovechemos todas las ventajas que este software nos ofrece ste se ha convertido en una herramienta indispensable para cualquier profesional, por esta razn contemplaremos en este captulo una introduccin general a lo que es la programacin bsica y avanzada de hojas de clculo para obtener as el mximo rendimiento en tiempo y precisin de los datos. Para lograr esto se explicarn algunos ejemplos de aplicacin al clculo de cantidades de acero, utilizando las herramientas de Excel. Al finalizar el captulo se llegara a tener un concepto claro de todas las ventajas que Excel ofrece y que muy pocos conocemos. 1.1 QUE ES MICROSOFT EXCEL Excel es un programa de hoja de clculo que nos ayuda a realizar clculos estadsticos, matemticos, financieros, creacin de grficas, vnculos entre hojas de clculo; entre otras utilidades. Su principal funcin es realizar operaciones matemticas de la misma manera que trabaja la ms potente calculadora, pero tambin la de computar complejas interrelaciones, ordenar y presentar en forma de grfico los resultados obtenidos. As como insertar bloques de texto e imgenes. Los principales elementos de trabajo son: Fila: Conjunto de varias celdas dispuestas en sentido horizontal. Ttulo de fila: Est siempre a la izquierda y nombra a las filas mediante nmeros, que en el caso de Excel Xp van desde el 1 hasta el 65,536. Columna: Conjunto de varias celdas dispuestas en sentido vertical. Ttulo de columna: Est siempre arriba y nombra a las columnas mediante letras, van desde la A hasta la IV. Luego de la columna Z viene la AA, AB, AC, etc.; luego de la AZ viene la BA, la BB, la BC, etc.; y as sucesivamente. Celda: Es la interseccin de una fila y una columna y en ella introducimos los grficos, trtese de texto, nmeros, fecha u otros datos. Una celda lleva el nombre de la columna, seguido del nombre de la fila. Por ejemplo, la celda que es la interseccin de la fila 29 con la columna F, es F29. Rango: Los rangos son una referencia a un conjunto de celdas de una planilla de clculos. Son definidas mediante letras y nmeros. Denominada mediante la celda de una esquina del rango (generalmente la superior izquierda), luego dos puntos y la esquina opuesta. Por ejemplo, al rango que comprende las celdas C4, C5, C6, C7, D4, D5, D6, D7, E4, E5, E6 y E7 es C4:E7. 9

1.2

ELEMENTOS DE TRABAJO EN MS EXCEL

Para trabajar en Excel se deben conocer algunos elementos de trabajo bsicos que ste nos ofrece como es el caso de las frmulas y las funciones. Cada una de estos elementos son indispensables y de utilizacin obligatoria para obtener un excelente resultado del trabajo proyectado.

1.2.1 Frmulas Las Frmulas en Microsoft Excel, permiten calcular un valor a partir de una serie de datos que se introduzcan o los ya existentes en otras celdas que harn referencia a la frmula a modo de ecuacin. Esto permitir que se modifiquen los valores que contengan ciertas celdas y se actualicen. Las frmulas nos ayudan a obtener un resultado de cualquier clculo que se realice. Adems de contar con las funciones predeterminadas que tambin nos facilitan a realizar otras operaciones. Para que Excel identifique que se realizar una frmula o una funcin debemos comenzar siempre con el signo igual =. Una frmula se compone de varios elementos: Signo = 1 Referencia de celdas Valores Operadores Funciones

Fig-3.1 Estructura de una formula en Excel

Referenciadeceldas

Signo=

=(A5+B5)*45-PROMEDIO(A4:C4)
Operadores Funciones

1 Si se comienza con los signos + - , Excel tambin comprende que es una frmula y aade automticamente
el signo =. Si por algn motivo se necesita empezar en una celda con =, + se quiere que Excel NO lo considere como frmula, se precede con el apstrofo ( ), el cual queda invisible, no saldr escrito en

la celda. 10

Tabla- 3.1 Elementos de una formula en Excel

1.2.2 Funciones Las funciones son frmulas predefinidas que ejecutan clculos utilizando valores especficos, denominados argumentos, en un orden determinado o estructura. Las funciones pueden utilizarse para ejecutar operaciones simples o complejas. Excel tiene predefinidas una gran cantidad de funciones, las cuales se clasifican de acuerdo a su aplicacin, entre estos grupos de funciones encontramos: financieras, de fecha y hora, matemticas y trigonomtricas y estadsticas entre otras. El manejo adecuado de algunas de estas funciones es el componente principal para el aprovechamiento de la capacidad de Ms Excel, ya que con ayudad de estas se pueden realizar o estructurar plantillas de calculo que realizan determinados procesos y nos generan resultados rpidos y precisos. Sintaxis bsica Todas las funciones empiezan con el signo igual seguido por el nombre de la funcin en letras maysculas, finalmente estn los parmetros necesarios para dicha funcin en medio de parntesis. Ejemplo: =nombre_funcion(parmetros)

1.2.3 Aplicaciones en el clculo de cantidades de material El clculo de las cantidades de material en un trabajo que consiste en estimar la totalidad de materiales necesarios para realizar el proyecto constructivo u obra, como ya se ha mencionado esta actividad es de gran importancia no solo para la correcta ejecucin del presupuesto sino para el proceso de la obra. Es instrumento bsico para revisiones, confrontaciones y actualizacin del presupuesto. Excel es la herramienta ms utilizada en el campo de las construcciones civiles para ejecutar el clculo simplificado de cantidades de material. El fcil manejo de la hoja de clculo de Ms Excel ha generado un sustancial inters en el manejo de este software. 11

Comnmente se observa cmo se utiliza Ms Excel para el procesamiento de reas, volmenes, etc. En la tabla siguiente se presenta un formato de clculo de cantidad de acero, suponiendo el caso del anlisis de cantidad de hierro para un elemento estructural como el siguiente:

Fig. 3.2 Detalle plano de despiece de acero


B A .135

V-207
Sec=50x50 Es 1

2#625 3#588
9@.10 24@.22

2#625
.42 .42

9@.10

5#588

42#3 L=1.95m

Una viga de forma y cuantas muy similares a cualquier elemento que pudiese disearse en cualquier estructura. Si se necesitara cuantificar la cantidad de acero necesario para construir este elemento, deberan analizarse lo siguiente: La viga tiene cinco cuantas de acero (2#625, 3#588, 2#625, 5#588, 42#3 L=1.95m) Cada cuanta de acero consta de tres datos especficos:

Fig. 3.3 Referencia de despiece

REFERENCIA DE DESPIECES
Cantidad de varillas de varillas

4#630
Long. de las varillas en dm. 30 dm = 3.00 m. Nota: en la longitud se incluye el gancho.

Si se decidiese cuantificar el acero con ayuda de una hoja de clculo, es claro que de entrada se deben introducir 5x3= 15 datos sin mencionar otros como Nombre, Localizacin, etc. Seguidamente se proceder a programar la hoja de clculo para llegar al valor buscado. As mismo se repetir el procedimiento por la cantidad de elementos estructurales para este caso vigas a los cuales se desee analizar la cantidad de acero.

12

Tabla 3.2 Formato comn de anlisis de cantidad de acero


COLUMNAS BLOQUE 2 Solicitud segundo pedido: 12/10/07
CANTIDAD (un) CANTIDAD TOTAL (un) LONGITUD DE BARRA (m) PESO (Kg/ml)

ELEMENTO

REF.

FIGURA

PESO TOTAL (Kg)

A-6 A-7

COLUMNAS

A-5 A-8 B-5 B-5' B-6 B-7 B-7' B-8

8 #5 8 #6 8 #5 8 #5 8 #5 90 #3 180 #3 8 #5 8 #5 8 #5 8 #5 8 #5 90 #3 180 #3

16 16 16 16 16 180 360 64 64 64 64 64 720 1440

#5 #6 #5 #5 #5 #3 #3 #5 #5 #5 #5 #5 #3 #3

4,00 7,00 7,50 3,00 6,00 1,95 0,71 4,00 7,00 7,50 3,00 6,00 1,95 0,71

1,552 2,235 1,552 1,552 1,552 0,56 0,56 1,552 1,552 1,552 1,552 1,552 0,56 0,56

99,3 250,3 186,2 74,5 149,0 196,6 143,1 397,3 695,3 745,0 298,0 596,0 786,2 572,5 3490,9 1698,5

REFUERZO DE 60000 PSI REFUERZO DE 37000 PSI

Tomando una vista de la misma tabla en modo auditora de frmulas, tenemos:

Tabla 3.3 Formulacin comn de hoja de clculo para anlisis de cantidad de acero
COLUMNAS BLOQUE 2 Solicitud segundo pedido: 12/10/07
CANTIDAD (un) CANTIDAD TOTAL (un) LONGITUD DE BARRA (m)

ELEMENTO

REF.

FIGURA

PESO (Kg/ml)

PESO TOTAL (Kg)

8 8 A-6 A-7 8 8
COLUMNAS

#5 #6 #5 #5 #5 #3 #3 #5 #5 #5 #5 #5 #3 #3

=E7*2 =E8*2 =E9*2 =E10*2 =E11*2 =E12*2 =E13*2 =E14*8 =E15*8 =E16*8 =E17*8 =E18*8 =E19*8 =E20*8

#5 #6 #5 #5 #5 #3 #3 #5 #5 #5 #5 #5 #3 #3

4 7 7,5 3 6 1,95 0,71 4 7 7,5 3 6 1,95 0,71

1,552 2,235 1,552 1,552 1,552 0,56 0,56 1,552 1,552 1,552 1,552 1,552 0,56 0,56

=G7*I7*J7 =G8*I8*J8 =G9*I9*J9 =G10*I10*J10 =G11*I11*J11 =G12*I12*J12 =G13*I13*J13 =G14*I14*J14 =G15*I15*J15 =G16*I16*J16 =G17*I17*J17 =G18*I18*J18 =G19*I19*J19 =G20*I20*J20

A-5 A-8 B-5 B-5' B-6 B-7 B-7' B-8

8 90 180 8 8 8 8 8 90 180

REFUERZO DE 60000 PSI REFUERZO DE 37000 PSI

=K7+K8+K9+K10+K =K12+K13+K19+K2

13

Se pueden observar las frmulas escritas para determinar las cantidades totales de barras y el peso total de las barras. Haciendo un anlisis de la estructura de la tabla, es posible deducir que el trabajo de estructuracin es muy simple, pero el trabajo de digitacin de datos se vuelve tedioso y complejo por razones como las siguientes: Cada columna puede tener varillas de diferente dimetro, por tal razn el peso variara para cada uno. La cantidad de columnas que poseen el mismo nmero de varillas puede ser variable, entonces este dato debera colocarse un una celda aparte.

Es evidente que en muchos casos las funciones bsicas o nativas del programa no ofrecen los instrumentos necesarios para agilizar el trabajo o en otros casos el trabajo de introducir los datos a la hoja de clculo se convierte en un procedimiento molesto y montono.

1.3

MACROS EN MS EXCEL

Para el trabajo automatizado de Excel es necesario tener claros los conceptos de macro y funciones personalizadas, a s mismo como su ambiente de creacin y control ya que estos elementos son las funciones ms importantes para lograr uno ptimo y eficiente provecho de la programacin en Excel.

1.3.1 Qu es una macro? Una macro son un conjunto de instrucciones que sirven para automatizar procesos. Refirindonos a Excel, supongamos que realizamos frecuentemente la accin de seleccionar un rango para aplicarle negrita, cambio de fuente y centrado. En lugar de hacer estas acciones manualmente, se puede elaborar una macro e invocarla para que ejecute los tres procesos automticamente las macros pueden efectuar proceso mucho ms rpidos que una persona. Las macros pueden ser muy simples o extremadamente complejas. Incluso pueden interactuar, es decir se pueden escribir macros que soliciten informacional usuario y luego actuar de acuerdo a dicha informacin. Hay dos formas de crear una macro: Se puede grabar con ayuda de la grabadora de macos de Excel o se puede escribir cada una de las instrucciones en el modulo de Visual Basic. El uso de la grabadora de macros es muy sencillo y la informacin de uso se localiza en cualquier manual de Ms Excel, por tal razn su importancia no es mucha en este trabajo ya que la utilidad de la programacin de macros en Excel es totalmente explotada y podemos acceder a ella en cualquier libro de programacin o manual de VBA en Excel.

14

1.3.2 Objetos, propiedades y mtodos. A la hora de trabajar con macros en Excel, deben tenerse claros ciertos conceptos de lo que se llama programacin orientada a objetos (OOP). No nos extenderemos demasiado sobre la OOP, pero si definiremos a continuacin los conceptos de Objeto, Propiedades y Mtodos. Objeto. Cuando en el mundo real nos referimos a objeto significa que hablamos de algo ms o menos abstracto que puede ser cualquier cosa. Si decidimos concretar un poco ms podemos referirnos a objetos coche, objetos silla, objetos casa, etc. En OOP, la generalizacin (o definicin) de un objeto se llama Clase, as la clase coche seria como la representante de todos los coches del mundo, mientras que un objeto coche seria un coche en concreto. De momento, no definiremos ni estudiaremos las clases sino que nos concentraremos en los objetos, tenga en cuenta pero que cualquier objeto est definido por una clase. Cuando decimos que la clase coche representa a todos los coches del mundo significa que define como es un coche, cualquier coche. Dicho de otra forma y para aproximarnos a la definicin informtica, la clase coche define algo que tiene cuatro ruedas, un motor, un chasis,... entonces, cualquier objeto real de cuatro ruedas, un motor, un chasis,... es un objeto de la clase coche.

Propiedades. Cualquier objeto tiene caractersticas o propiedades como por ejemplo el color, la forma, peso, medidas, etc. Estas propiedades se definen en la clase y luego se particularizan en cada objeto. As, en la clase coche se podran definir las propiedades Color, Ancho y Largo , luego al definir un objeto concreto como coche ya se particularizaran estas propiedades a, por ejemplo, Color = Rojo, Ancho = 2 metros y Largo = 3,5 metros.

Mtodos. La mayora de objetos tienen comportamientos o realizan acciones, por ejemplo, una accin evidente de un objeto coche es el de moverse o lo que es lo mismo, trasladarse de un punto inicial a un punto final. Cualquier proceso que implica una accin o pauta de comportamiento por parte de un objeto se define en su clase para que luego pueda manifestarse en cualquiera de sus objetos. As, en la clase coche se definiran en el mtodo mover todos los procesos necesarios para llevarlo a cabo (los procesos para desplazar de un punto inicial a un punto final), luego cada objeto de la clase coche simplemente tendra que invocar este mtodo p ara trasladarse de un punto inicial a un punto final, cualesquiera que fueran esos puntos. Repasemos a continuacin todos estos conceptos pero ahora desde el punto de vista de algunos de los objetos que nos encontraremos en Excel como WorkSheet (Objeto hoja de clculo) o Range (Objeto casilla o rango de casillas). 15

Un objeto Range est definido por una clase donde se definen sus propiedades, recordemos que una propiedad es una caracterstica, modificable o no, de un objeto. Entre las propiedades de un objeto Range estn Value , que contiene el valor de la casilla , Column y Row que contienen respectivamente la fila y la columna de la casilla, Font que contiene la fuente de los caracteres que muestra la casilla, etc. Range , como objeto, tambin tiene mtodos, recordemos que los mtodos sirven llevar a cabo una accin sobre un objeto. Por ejemplo el mtodo Activate, hace activa una celda determinada, Clear, borra el contenido de una celda o rango de celdas, Copy, copia el contenido de la celda o rango de celdas en el portapapeles.2 1.3.3 Conjuntos. Un conjunto es una coleccin de objetos del mismo tipo, para los que conozcan algn lenguaje de programacin es un array de objetos. Por ejemplo, dentro de un libro de trabajo puede existir ms de una hoja (WorkSheet), todas las hojas de un libro de trabajo forman un conjunto, el conjunto WorkSheets. Cada elemento individual de un conjunto se referencia por un ndice, de esta forma, la primera, segunda y tercera hoja de un libro de trabajo, se referenciarn por WorkSheets(1), WorkSheets(2) y WorkSheets(3). 1.3.4 Objetos de Objetos. Es muy habitual que una propiedad de un objeto sea otro objeto. Siguiendo con el coche, una de las propiedades del coche es el motor, y el motor es un objeto con propiedades como cubicaje, caballos, nmero de vlvulas, etc. y mtodos, como aumentar_revoluciones, coger_combustible, mover_pistones, etc. En Excel, el objeto WorkSheets tiene la propiedad Range que es un objeto, Range tiene la propiedad Font que es tambin un objeto y Font tiene la propiedad Bold (negrita). Tenga esto muy presente ya que utilizaremos frecuentemente Propiedades de un objeto que sern tambin Objetos. Dicho de otra forma, hay propiedades que devuelven objetos, por ejemplo, la propiedad Range de un objeto WorkSheet devuelve un objeto de tipo Range.

,MACROSENMSEXCELL,

http://www.sicem.biz/docs/tutoriales/excel/MacrosEnExcel.PDF/download
16

1.3.5 Programacin Orientada a Objetos o Programacin Basada en Objetos. Hay una sutil diferencia entre las definiciones del ttulo. Programacin orientada a Objetos, significa que el programador trabaja con objetos fabricados por l mismo, es decir, el programador es quien implementa las clases para luego crear objetos a partir de ellas. Lo que haremos nosotros, por el momento, ser utilizar objetos ya definidos por la aplicacin Excel (WorkSheets, Range,...) sin implementar ninguno de nuevo, por lo que en nuestro caso es ms correcto hablar de programacin basada en objetos. Observe que esta es una de las grandes ventajas de la OOP, utilizar objetos definidos por alguien sin tener que conocer nada sobre su implementacin, slo debemos conocer sus propiedades y mtodos y utilizarlos de forma correcta.

1.4

EDITOR DE VISUAL BASIC. El editor de Visual Basic es la aplicacin que se utiliza para construir las macros que interactuaran junto con los libros de trabajo. A continuacin se preparara un archivo en el que se escribirn las primeras instrucciones en Visual Basic.

Para entrar en el editor de Visual Basic, ejecute los pasos siguientes. 1. Active opcin Herramientas/ Macro/ Editor de Visual Bsic (en office 2003 y anteriores)3 En office 2007 se debe activar la barra de programador activndola en /Opciones de Excel / Opciones Principales.. Activar casilla Mostrar Ficha de Programador. En la nueva ficha del panel de trabajo Clic en botn Visual Basic En cualquier versin de Office se abrir una ventana como la siguiente:

MACROSENMSEXCELL,

17

Fig. 3.4 Vista general del Editor de Visual Basic

1.4.1 Mdulos Un modulo es un conjunto de declaraciones y procedimientos que realizan diferentes tareas independientemente una de otras, pero tambin pueden actuar en conjunto. Dentro de estos mdulos es donde se digitan las macros que deseamos crear. Para insertar un mdulo active opcin del men Insertar/ Mdulo. Se activar una nueva ventana.
Fig. 3.5 Vista de espacio de trabajo en editor de Visual Basic

Espaciodetrabajo delmodulo

1.4.2 Procedimientos Insertarunprocedimiento. Un procedimiento es un bloque de instrucciones de cdigo que sirven para llevar a cabo alguna tarea especfica. Un procedimiento empieza siempre con la instruccin Sub Nombre_Procedimiento 18

Y termina con la instruccin End Sub. A continuacin crearemos un procedimiento para poner el texto "Hola" en la casilla A1. Ejemplo Sub Primero Range("A1").Value = "Hola" End Sub Observando el cdigo. Range("A1").Value="Hola" En esta lnea se est indicando que trabajamos con un objeto Range. Para indicarle que nos referimos a la casilla A1, encerramos entre parntesis esta referencia (ms adelante ver otra forma de referirnos a las casillas). De este objeto, indicamos que queremos establecer un nuevo valor para la propiedad Value, observe que para separar el objeto de su propiedad utilizamos la notacin punto. Recuerde que el conjunto Range es un objeto que pende del objeto WorkSheets, as por ejemplo el siguiente cdigo hara lo mismo que el anterior. WorkSheets(1).Range("A1").Value = "Hola"

1.4.3 Ejecutar un procedimiento o funcin. Pruebe ejecutar el primer procedimiento de ejemplo. 1. Site el cursor dentro del procedimiento. 2. Active opcin de la barra de mens Ejecutar/ Ejecutar Sub Userform. Tambin puede hacer clic sobre el botn o pulsar la tecla F5. Ejecutarelprocedimientodesdelahojadeclculo. Debe estar en una hoja, no en el editor de Visual Basic 1. Active opcin de la barra de mens Herramientas/ Macro/ Macros. Se despliega una ventana que muestra una lista dnde ests todas las macros incluidas en el libro de trabajo. 2. Seleccione la macro de la lista y pulse sobre el botn Ejecutar.

19

1.5

FUNCIONES PERSONALIZADAS

Una funcin es lo mismo que un procedimiento con la salvedad que este devuelve un valor al procedimiento o funcin que lo llama. Vea el siguiente ejemplo, es una funcin muy sencilla ya que simplemente suma dos nmeros y devuelve el resultado. Sub Ejemplo_34() Dim x As Integer Dim n1 As Integer, n2 As Integer X = Suma(5, 5) n1= Val ( InputBox("Entrar un nmero : ", "Entrada")) n2= Val ( InputBox("Entrar otro nmero : ", "Entrada")) X= suma(n1,n2) ActiveCell.Value = Suma(ActiveSheet.Range("A1").Value ActiveSheet.Range("A2").Value) X = Suma(5, 4) + Suma (n1, n2) End Sub Function Suma(V1 As Integer, V2 As Integer) As Integer funcin que suma dos argumentos de tipo integer Dim Total As Integer Total = V1 + V2 Suma = Total End Function Obsrvese la sintaxis de la cabecera de funcin, Function Suma(V1 As Integer, V2 As Integer) As Intege r La estructura general seria, Function Nombre_Funcion(par1 As Tipo, par2 As Tipo,..., parN As Tipo) As Tipo. La sintaxis es similar a la cabecera de un procedimiento, slo que una funcin tiene tipo, esto tiene su lgica, ya que una funcin devuelve un valor, ese valor ser de un tipo determinado. As, en nuestro ejemplo de Function Suma, esta funcin es de tipo Integer, o dicho de otra manera, la funcin ejecuta sus sentencias y devuelve un valor hacia el procedimiento o la funcin que la llam, el valor devuelto se establece igualando el nombre de la funcin a algo, Nombre_Funcin = .... En el ejemplo de Function Suma, Suma = Total Observe tambin la sintaxis de la llamada a la funcin, en el ejemplo hemos utilizado unas cuantas formas de llamarla, lo que debe tener siempre presente es que en cualquier expresin aritmtica o de clculo, el ordenador realiza un mnimo de dos operaciones, una de clculo y otra de asignacin. Por ejemplo, A= B+C 20

El ordenador primero calcula el resultado de sumar B+C luego asigna ese resultado a la variable A. En Cualquier llamada a una funcin, cojamos por caso, X= suma(n1,n2) Primero se ejecutan todas las sentencias de la funcin Suma, luego se asigna el clculo de la funcin a la variable X. La sentencia funcin que suma dos argumentos de tipo integer se le llama anotacin, estas sentencias no hacen parte del proceso del cdigo de la funcin, estas se utilizan como medida de explicacin del cdigo. Todas las anotaciones deben ser precedidas por el signo comilla simple ( ).

1.6

APLICACIONES DE FUNCIONES CANTIDADES DE MATERIAL

PERSONALIZAS

AL

CLCULO

DE

El manejo de funciones personalizas en Excel, puede ser la herramienta ms til y de mas fcil manejo. Su aplicacin en el clculo de cantidades de obra es bien importante, mas aun en cualquier campo de la ingeniera su utilidad es una herramienta de gran ventaja, comodidad y eficiencia. Para explicar algunas de las utilidades se tomara como base el trabajo realizado en la pasanta, en el colegio Simn Bolvar. Para esto se presenta la siguiente tabla:

Tabal 3.4 Formato de Tabla anlisis de cuantas en Excel con ayuda de macros

A lo que se pretende llegar es explicar la manera como minimizar el trabajo que tiene que realizar el ingeniero o encargado del clculo de la cantidad de material. A continuacin se presenta como quedara la tabla mostrando sus funciones.

21

Tabla 3.5 Utilizacin de Frmulas definidas por el usuario en Excel

Como se puede observar la formulacin de la tabla se realizo con funciones personalizadas, y tambin es de notar que la mayora es las funciones son dependientes de un nico dato que es el refuerzo o cuanta digitado en la columna F. expresado como indica la figura 3.3.

Esto significa un gran ahorro de tiempo ya que la persona encargada del clculo de las cantidades solo debera digitar cada una de las referencias del despiece y luego copiar su formula a todas las celdas. Para explicar las funciones se tomaran una por una, analizando su estructura, es de aclarar que no se realizara un anlisis detallado de cada uno de los procedimientos ya que no es el fin de este trabajo, sino mostrar la utilidad de su manejo.

1.6.1 Funcin NoBarras El objetivo de esta funcin es devolver la cantidad de varillas consignadas en la referencia del despiece, es decir:
REFERENCIA DE DESPIECES
Cantidad de varillas de varillas

4#630
Long. de las varillas en dm. 30 dm = 3.00 m. Nota: en la longitud se incluye el gancho.

El proceso que realiza la funcin se puede resumir de la siguiente manera: a. Capta el argumento (Referencia de despiece) b. Busca el valor de cantidad de varillas c. Presenta el valor en la celda 22

El cdigo en VBA quedar de la siguiente manera4:

Fig. 3.6 Funcin NoBarras

Como se puede observar el cdigo que procesa la funcin es muy sencillo, y procesa lo antes mencionado.

1.6.2 Funcin BarraNo El objetivo de esta funcin es devolver el dimetro de la barra, es decir:
REFERENCIA DE DESPIECES
Cantidad de varillas de varillas

4#630
Long. de las varillas en dm. 30 dm = 3.00 m. Nota: en la longitud se incluye el gancho.

El proceso que realiza la funcin se puede resumir de la siguiente manera: a. Capta el argumento (Referencia de despiece) b. Busca el valor del numero de la varilla c. Presenta el valor en la celda

El cdigo en VBA quedara de la siguiente manera:


Fig. 3.7 Funcin BarraNo

Elcdigoesmuyvariable,puedenexistirinfinidaddeformasdeescribirlamismafuncin.

23

1.6.3 Funcin PesoBarra Esta funcin no depende directamente de la referencia de despiece, pues toma como argumento el dimetro de la barra. El objetivo de esta funcin es devolver el peso de la barra por metro lineal, es decir: a. Capta el argumento (Dimetro de barra) b. Busca el valor del peso para este dimetro de barra entre unos casos predefinidos. c. Presenta el valor en la celda

Fig. 3.8 Funcin PesoBarra

24

1.6.4 Funcin LgBarras El objetivo de esta funcin es devolver el dimetro de la barra, es decir:
REFERENCIA DE DESPIECES
Cantidad de varillas de varillas

4#630
Long. de las varillas en dm. 30 dm = 3.00 m. Nota: en la longitud se incluye el gancho.

El proceso que realiza la funcin se puede resumir de la siguiente manera: a. Capta el argumento (Referencia de despiece) b. Busca el valor de longitud de varilla numero de la varilla c. Presenta el valor en la celda El cdigo de la funcin es el siguiente

Fig. 3.9 Funcin LgBarras

Las funciones expuestas bsicamente estn compuestas de tres lneas de cdigo, esto muestra la brevedad en la escritura de una funcin. Es comprensible que para procedimientos as mas estructurados el cdigo se vuelve ms extenso y la necesidad de conocer ciertas propiedades y funciones propias del Excel y VBA se hace ms imprescindible.

25

1.7

TRABAJAR CON FUNCIONES PERSONALIZADAS

Como ya se explico la escritura y edicin de las funciones personalizadas para Excel se realiza en los mdulos de VBA. Estas funciones pueden ser utilizadas tanto en la hoja de clculo como en Visual Basic; es decir las funciones se pueden llamar desde las celdas de Excel para presentar los datos en la hoja de clculo (Ejemplos vistos anteriormente) o tambin se pueden utilizar en el mismo ambiente VB de acuerdo a la necesidad. Para insertar las funciones en la hoja de clculo se debe seguir el siguiente procedimiento: a. Clic en el icono insertar funcin de la barra de frmulas

b. Clic en funciones definidas por el usuario

c. Se selecciona la funcin buscada

Funciones definidasen modulo VBA

d. Seleccionar celda donde se digito la cuanta y aceptar

26

Un ejemplo de utilizacin de las funciones dentro de un procedimiento o dentro de otra funcin podra presentarse si se deseara calcular el peso de la varillas poniendo como argumento la referencia de despiece, ya que se debera llamar la funcin NoBarra para obtener el dimetro de la barra y luego proceder a llamar la funcin PesoBarra. De la siguiente manera:

Fig. 3.10 Funcin PesoBarra2

27

2 AUTOCAD
Autocad es el software mas comercializado en la creacin, tratamiento y edicin de planos arquitectnicos y de ingeniera. Este hecho ha generado que la documentacin base para el clculo de materiales se presente en medio digital utilizando este formato. Como se ha observado en el capitulo anterior la programacin de funciones personalizadas en Excel es una herramienta bastante til para tratar el trabajo de clculo de cantidades de material, ms especficamente el clculo de cantidades de acero. Minimizando el trabajo del calculista al simple hecho de insertar las cuantas de acero en una lista de forma ordenada segn los planos estructurales. En este captulo se pretende mostrar un mtodo para permitir que el calculista obtenga las cuantas de acero directamente de los planos de Autocad, proceso que eliminara la probabilidad de error que pudiese tener el digitador al insertar cada una de las cuantas en las celdas de Excel.

2.1 PRESENTACIN GENERAL DE LA TECNOLOGA ACTIVEX DE AUTOCAD

Con AutoCAD ActiveX puede manipular AutoCAD mediante la programacin desde dentro o fuera de AutoCAD. Este mtodo consiste en exponer objetos de AutoCAD al mundo exterior. Una vez expuestos, se facilita el acceso a ellos desde numerosos entornos y lenguajes de programacin, as como desde aplicaciones tales como Microsoft Word VBA o Excel VBA. La inclusin de una interfaz de ActiveX para AutoCAD ofrece dos ventajas: El acceso programtico a los dibujos de AutoCAD puede realizarse desde muchos otros entornos de programacin. Antes de ActiveX Automation, los desarrolladores deban limitarse a una interfaz AutoLISP o C++. La posibilidad de compartir informacin con otras aplicaciones para Windows, como Microsoft Excel y Word, se ha facilitado enormemente. Los objetos constituyen el bloque de integracin principal de todas las aplicaciones ActiveX. Cada objeto expuesto representa un componente concreto de AutoCAD. Existen multitud de tipos de objetos diferentes en la interfaz de ActiveX de AutoCAD. Por ejemplo: Los elementos grficos como las lneas, los arcos, el texto y las cotas son objetos. Los parmetros de estilo como el tipo de lnea y el estilo de cota son objetos. Las estructuras de organizacin como las capas, los grupos y los bloques son objetos. Las pantallas de dibujo, como vistas y ventanas grficas, son objetos. Se consideran objetos incluso el dibujo y la aplicacin AutoCAD.5

AyudadeldesarrolladordeAutoCAD2009,ActiveXandVBAReference

28

2.2

PRESENTACIN GENERAL DE LA INTERFAZ ENTRE AUTOCAD Y VISUAL BASIC PARA APLICACIONES (VBA) Microsoft VBA es un entorno de programacin orientado a objetos, concebido para suministrar funciones avanzadas de desarrollo similares a las de Visual Basic 6 (VB). La diferencia principal entre VBA y VB es que el primero se ejecuta en el mismo espacio de proceso que AutoCAD, lo que proporciona un entorno de programacin muy rpida y compatible con AutoCAD. VBA permite tambin la integracin con otras aplicaciones que admiten VBA. Lo que significa que AutoCAD puede, mediante las bibliotecas de objetos de otras aplicaciones, funcionar como controlador de automatizacin de otras aplicaciones como Microsoft Word o Excel. Las ediciones de desarrollo independientes de Visual Basic 6, que deben adquirirse por separado, complementan a VBA de AutoCAD con componentes adicionales, como un motor de base de datos externo y funciones de generacin de informes. La inclusin de ActiveX para AutoCAD ofrece cuatro ventajas: VBA y su entorno resultan fciles de aprender y de usar. VBA se ejecuta junto con AutoCAD. Esto se traduce en una ejecucin de programa muy rpida. La construccin de cuadros de dilogos es rpida y eficaz. Esto permite a los desarrolladores realizar prototipos de aplicaciones y recibir informacin sobre diseos de forma rpida. Los proyectos pueden ser independientes o estar incrustados en los dibujos. Esta opcin ofrece a los desarrolladores una gran flexibilidad para la distribucin de sus aplicaciones.

2.3

USO COMBINADO DE ACTIVEX Y VBA EN AUTOCAD La interfaz de ActiveX/VBA de AutoCAD presenta varias ventajas sobre otros entornos API de AutoCAD: Velocidad. Cuando se realiza una ejecucin en proceso con VBA, las aplicaciones de ActiveX son ms rpidas que las de AutoLISP. Facilidad de uso. El lenguaje de programacin y el entorno de desarrollo son fciles de usar y vienen instalados con AutoCAD. Funcionamiento conjunto con Windows. ActiveX y VBA estn diseados para su uso con otras aplicaciones de Windows y constituyen una excelente va para la comunicacin de informacin entre distintas aplicaciones. Rpida creacin de prototipos. La capacidad de VBA para un rpido desarrollo de interfaces ofrece un entorno ptimo para la creacin de aplicaciones prototipo, incluso si dichas aplicaciones en ltima instancia debern ser desarrolladas en otro lenguaje.

29

Base para programadores. La tecnologa VBA y ActiveX de AutoCAD proporciona a los programadores de Visual Basic 6 la capacidad de personalizar AutoCAD y de desarrollar aplicaciones compatibles. 2.4 EL EDITOR DE VBA EN AUTOCAD Para acceder al editor de VBA en Autocad este debe instalarse al momento de instalar Autocad en el equipo. Una vez este se ha instalado se puede acceder al editor ejecutando el comando _vbaman desde la barra de comandos o desde el men Heramientas\macros\Adm.VBA. El espacio y mtodo de trabajo en el editor de VBA de Autocad es igual al de Excel, por tal razn no se retomara eso.

2.5

ESTRUCTURAS DE OBJETOS DE AUTOCAD En visual Basic es posible definir nuevos objetos de los que en principio este lenguaje no dispone. Esto es precisamente lo que VBA ha hecho, creando toda una definicin estructurada de objetos de Autocad, con el fin de que se puedan manejar desde VBA. Esta estructura define entidades individuales de dibujo, como circulo, lnea, polilinea, solido, etc. Adems cada uno de los objetos dispone de su conjunto de propiedades, como son el color, la capa, el tipo de lnea, etc. Y otras propiedades especificas de cada elemento como el radio, dimetro, longitud, etc. Para el trabajo de crear una macro que tome las cuantas de acero desde los dibujos de Autocad y las consigne en una hoja de clculo de Excel, se estudiara la entidad Text, ya que lo dibujos del despiece del acero representan con objetos de texto las cuantas dadas. Algunas de las propiedades de esta entidad son: Application, Color , EntityName, EntityType, Handle , Height, HorizontaiAlignment, InsertionPoint, Layer, Linetype, LinetypeScale, Normal, ObjectID, ObliqueAngle, Rotation, ScaleFactor, StyleName, TextAlignmentPoint, TextGenerationFIag, TextString, Thickness, Vertical Alignment, Visible. De las cuales la propiedad TextString es la que obtiene y asigna la cadena de texto que el objeto representa en el dibujo.6

2.6

VBA Y AUTOCAD EN LA OBTENCIN DE CANTIDADES DE ACERO

Para una mejor comprensin de la estructura de programacin de la macro se presentaran cada una de las funciones y luego se explicaran en forma breve.

AyudadeldesarrolladordeAutoCAD2009

30

Fig. 4.1 Funcin IniCantAcero

La macro IniCantAcero es el procedimiento principal, es de de este se llaman subrutinas que ejecutan un cdigo de funciones especfica, el cdigo de la macro est conformado por tres partes principales que se pueden clasificar as: Inicio de aplicacin Ms Excel Solicitud al usuario de datos y cuantas de elementos Guardado y cierre de aplicacin Ms Excel Terminacin de procedimiento

2.6.1 Inicio de aplicacin Ms Excel (IniExcel) El primer procedimiento que llama la macro general inicia Ms Excel, es decir abre un libro nuevo de Ms Excel.

El cdigo que ejecuta es el siguiente:

31

Fig. 4.2 Funcin IniExel

2.6.2 Solicitud al usuario de datos y cuantas El siguiente cdigo, solicita al usuario los datos necesarios a pasar a Excel, para tener una referencia de los datos que debe solicitar la macro se debe recurrir al estilo de dibujo del despiece.
Fig. 4.3 Modelo de despiece
C
1.00 2.00 3.00 4.00

B
1.00 2.00 3.00 4.00 5.00 6.00 7.00

.135

2#665
V-007A
13#3@.22 10#3@.11

2#782 2#7120
10#3@.11 23#3@.22 10#3@.11 .42 .32

2#727

Sec=40x50

Es 1
1.00 2.00 3.00

4#690
4.00 1.00 2.00 3.00 4.00

4#654
66#3 L=1.75m
5.00 6.00 7.00

En la viga modelo se puede observar que el nivel de detalle del dibujo es bueno lo cual permite reconocer fcilmente los datos que se necesitan. Entre estos tenemos: Nombre de viga, pide al usuario que selecciones el objeto texto que contiene el nombre de viga y almacena en la propiedad Text en la variable NombreViga. Seccin de Viga, Pide al usuario que digite la seccin de la viga y la almacena en la variable Seccin.

32

Cantidad de vigas, En algunos despieces cuando se deben dibujar varios elementos iguales se opta por dibujar uno solo y especificar la cantidad de elementos. Descripcin, la descripcin es un dato opcional que pedir la macro para que el usuario digite aspectos que considere necesarios, por ejemplo la ubicacin de elemento segn el sistema de ejes u otros. Cuanta de refuerzo superior e inferior, si se desea tener en detalle la ubicacin del acero de refuerzo se puede hacer que la macro pida seleccionar los objetos texto que contienen las cuantas de acero de refuerzo superior e inferior. Despus de pedir al usuario que seleccione las cuantas de acero la macro ejecuta la subrutina texecxel que se encarga de almacenar el conjunto de seleccin en una variable para despus tomar cada objeto almacenado en el conjunto y obtener su propiedad Text para pasarla a la hoja de clculo. Este procedimiento se presentara posteriormente. Estribos, otro dato fundamental es la cantidad de estribos, es posible que el dibujo nos presente la cantidad total de estribos y su longitud (Caso ejemplo), en tal caso el usuario seleccionara un solo objeto texto, si la condicin es diferente deber estudiarse tal caso para que la macro pase a Excel la informacin suficiente para calcular la longitud y nmeros de flejes. De igual manera que para las cuantas de refuerzo superior e inferior el procedimiento ejecuta el procedimiento texecxel para que realice el procedimiento antes explicado. Manejo de conjunto de seleccin (Procedimiento texecxel) De alguna manera la macro ms importante es texecxel ya que es esta la que realiza el trabajo objetivo de este estudio, es decir: capta los objetos texto del dibujo, los almacena en una variable de donde los extrae ordenada y sucesivamente para obtener su propiedad text y luego pasa a consignarla en la hoja de clculo de forma sucesiva por filas. La macro y una sntesis del funcionamiento de cada una de las lneas del cdigo se presentan a continuacin:

33

Fig. 4.4 Funcin TexExcel (parte 1)

Fig. 4.5 Funcin TexExcel (parte 2)

Como se puede observar la macro ejecuta en cada lnea el proceso antes expuesto.

Iteracin del cdigo sobre elementos siguientes Segn el procedimiento expuesto el trabajo realizado es aplicable para pasar las cuantas de la cantidad de acero para un elemento, en este caso una viga. Pero como es lgico este proceso de repetirse hasta lograr pasar todas las cuantas de los elementos a 34

analizar. Es esta la razn de la instruccin Do...Loop la cual repite los anteriores procedimientos hasta que el usuario lo decida, por tal fin se ejecuta el subproceso Continuax , el cual pregunta al usuario si desea procesar un elemento siguiente de la siguiente forma: Le pregunta al usuario si desea o no continuar con un siguiente elemento. Y guarda la respuesta en una variable. La instruccin Loop While termina o empieza de nuevo las instrucciones.

Fig. 4.6 Funcin Continuax

2.6.3 Guardado y cierre de aplicacin Ms Excel Si el usuario decide terminar el procedimiento debe pulsar N ante la confirmacin de un siguiente elemento, seguidamente el bucle Do Loop se terminara y se ejecutara la instruccin CierraExcel, la cual guarda los cambios en el libro y cierra Excel.

Fig. 4.7 Funcin CierraExcel

35

En este punto se debe haber creado un libro de Excel con el nombre asignado en la carpeta mis documentos.

2.6.4 Terminacin de la macro Al terminar el proceso se mostrara un mensaje de guardado y terminacin del proceso correctamente para informar al usuario. Como complemento se adiciono un formulario de presentacin de informacin del autor, El cual se ejecutara una vez terminado el procedimiento. Este no hace parte til del proceso objetivo por tal razn no se expone su creacin.7 El formulario se activa con la instruccin: About.Show La ejecucin puesta en marcha de la macro en Autocad, se debe realizar segn el procedimiento ya expuesto, sin embargo en el siguiente captulo se presentara un ejemplo de aplicacin del trabajo realizado.

ParamsinformacinacercadeformulariosconsultarUserformenmanualdeayudaVBA

36

3 CALCULO DE CANTIDADES DE ACERO CON AYUDA DE MACROS


En los anteriores captulos se ha expuesto algunos procedimientos utilices para automatizar en gran medida el trabajo de clculo de acero en obra. cada uno de los procedimientos basados en el lenguaje de programacin Visual Basic se consideran ejemplos especficos para situaciones concretas del trabajo de clculo de material; esto supone que en algunos casos los procedimientos deben ser ajustados a las necesidades particulares de cada usuario, generando as la necesidad de conocer el lenguaje de programacin y todos sus elementos. En este captulo se considerara un ejemplo de aplicacin del trabajo antes realizado, se presentara una forma de trabajo que demostrara la eficiencia que puede aportar las macros escritas tanto para Excel como para Autocad. Para realizar el ejemplo se utilizara un juego de planos estructurales contenidos en formato digital que sern la base del clculo. De los planos se exportara la informacin concerniente a las cuantas de acero a una hoja de clculo, este trabajo se realizara con ayuda del procedimiento escrito en VBA de Autocad, seguidamente se trabajara en el libro donde se exportaron los datos utilizando las funciones creadas en Excel para estimar la cantidad de acero en la estructura.

3.1 PLANOS DE TRABAJO Los planos del despiece de la estructura son la base fundamental para el clculo de las cantidades de acero de cualquier proyecto constructivo. En estos se consignan toda la informacin y los detalles constructivos de cada elemento a construir. Para realizar el ejemplo utilizaremos la plancha E-004 del juego de planos correspondiente al proyecto estructural del colegio Simn Bolvar, ya que realizando un trabajo de pasanta en este proyecto constructivo fue cmo surgi la idea de analizar la importancia de aplicar herramientas de programacin para el clculo de cantidades de material. En la plancha E-004 se consigna el detalle del despiece de vigas de cimentacin bloques 1, 2 y 3 de la estructura del colegio Simn Bolvar. El plano se puede observar en el Anexo 1

3.2

PASAR CUANTAS DE ACERO DESDE AUTOCAD A EXCEL

Como se menciono anteriormente se pretende es demostrar la eficiencia que puede aportar la utilizacin adecuada de las herramientas que nos brinda Excel, Autocad y VBA para el clculo de cantidades de material y ms especficamente para el clculo de cantidades de acero. Como es de suponerse el trabajo comienza en Autocad con la obtencin de los detalles del despiece del acero. Teniendo esta informacin se procede a ejecutar la macro principal en el caso descrito anteriormente es la macro IniCantAcero, la cual inicia la siguiente ventana: 37

Fig. 5.1 Ejercicio ejemplo (Solicitud de nombre de Archivo)

En la ventana anterior se presenta el ImputBox inicial que solicita al usuario un nombre para el archivo de Excel que se creara, en este caso lo llamaremos Despiece de vigas de cimentacin B1. Haciendo clic en Aceptar se ejecutara un mensaje informando que debemos seleccionar el nombre de la viga o elemento. De la siguiente manera:

Hacemos clic en aceptar. Seguidamente el cursor en Autocad cambiara a la forma de seleccin de objetos y en la ventana de comandos tendremos el mensaje Designe Objetos: para permitirnos poder seleccionar el nombre de la viga.

Fig. 5.2 Ejercicio ejemplo (Solicitud de nombre de Elemento)

38

Se selecciona el objeto de texto V-001A y se oprime Enter para aceptar. El siguiente paso es atender las solicitudes de descripcin, cantidad de unidades del elemento y seccin del mismo, recurdese que en la descripcin el usuario debe colocar la informacin que considere necesaria en este caso colocaremos su ubicacin segn el sistema de ejes.

Fig. 5.3 Ejercicio ejemplo (Solicitud descripcin de elemento)

Fig. 5.4 Ejercicio ejemplo (Solicitud cantidad de elementos)

39

Fig. 5.5 Ejercicio ejemplo (Solicitud de seccin de elemento)

Los anteriores datos pueden colocarse en la barra de comando o en el cuadro flotante si se tiene activado. El siguiente paso es seleccionar las cuantas de refuerzo superior, para informarnos esto la macro presenta el siguiente mensaje:

Al aceptar se activa el cursor de seleccin de objetos, con el cual se seleccionan la o las cuantas que tenga el elemento.

Fig. 6 Ejercicio ejemplo (Solicitud de cuantas)

40

Al seleccionar cada elemento la ventana de comandos informa el nmero de elementos encontrados, esto permite tener alguna seguridad de la totalidad de objetos que se han seleccionado. Al terminar de seleccionar todos los objetos se pulsa ENTER para aceptar.

El proceso anterior se repite para la seleccin de las cuantas de refuerzo inferior y los estribos. Despus de seleccionar los estribos la macro pregunta al usuario si desea seguir con otro elemento o terminar el procedimiento. En este caso se pulsara S hasta terminar de seleccionar todas las vigas.

Fig. 5.7 Ejercicio ejemplo ()

Al pulsar S el procedimiento anterior se repetir para cada elemento hasta que se desee terminar el proceso pulsando N, caso en el cual se tendr el siguiente mensaje:

Fig. 5.8 Ejercicio ejemplo (Final de proceso)

Seguidamente el formulario.. 41

Fig. 5.9 Ejercicio ejemplo (Userform de salida)

Al terminar la ejecucin de la macro debe haberse creado un archivo con el nombre Despiece de vigas de cimentacin B1 en la carpeta mis documentos de la siguiente manera:

Fig. 5.10 Ejercicio ejemplo (Localizacin de archivo creado en Autocad)

Al abrir el archivo tendremos lo siguiente:

42

Fig. 5.11 Ejercicio ejemplo (Descripcin de archivo creado en Autocad)

Columnade nombresde elementos Columnade tipode refuerzo

Descripcin de elementos Columnade cantidadde elementos

Secciones de elementos Columnade cuantasde elementos

3.3

TRABAJO CON LOS DATOS EN EXCEL

Lo siguiente se considera como trabajo en la hoja de clculo, ah se proceder a titular las columnas, agregar un formato a la tabla y finalmente aplicar las funciones personalizadas antes creadas para obtener los resultados deseados. Como primer paso se nombraran las columnas Segn el orden aplicamos las funciones personalizadas.

43

Fig. 5.12 Ejercicio ejemplo (Aplicacin de Funcin NoBarras)

Detalle la barra de frmulas donde se aplica la funcin personaliza =NoBarras para determinar la cantidad de barras. El siguiente paso es aplicar las funciones BarraNo y PesoBarra o PesoBarra2 de la siguiente manera

Fig. 5.13 Ejercicio ejemplo (Aplicacin de Funcin BarraNo)

Fig. 5.14 Ejercicio ejemplo (Aplicacin Funcin PesoBarra)

El siguiente paso es sacar la longitud de las barras que representa cada cuanta. En este caso es evidente que la funcin personalizada =LgBarras() no ser til para todas la cuantas ya que el formato de la cuanta de flejes es diferente, por tanto la funcin no devolver un valor correcto. Ntese los errores en la figura siguiente:

44

Fig. 5.15 Ejercicio ejemplo (Aplicacin Funcin LgBarras)

Para solucionar este problema pueden existir varias soluciones, particularmente se realizara otra funcin personalizada para extraer este valor. Otro detalle importante es que la funcin =LgBarras() devuelve los valores tal cual estn en la cuanta es decir en decmetros, por tal razn este valor debe dividirse entre 10.

Fig. 5.16 Ejercicio ejemplo (Aplicacin Funcin LgFlejes)

Para hacer mas automtico el trabajo las funciones =LgFlejes() y =LgBarras() podran colocarse dentro de una condicional8 que depender del tipo de refuerzo.

8Paramayorentendimientodelautilizacindelafuncincondicional=Si(),remitirsealaayudadeExcel.

45

Fig. 5.17 Ejercicio ejemplo (Utilizacin de funciones lgicas)

Por ltimo se procede a calcular la longitud total del acero que ser la longitud de las barras afectado por el nmero de barras y por la cantidad de elementos., seguidamente se calculara el peso de cada cuanta.

Fig. 5.18 Ejercicio ejemplo

El mismo proceso es aplicable a cualquier elemento que tenga caractersticas de dibujo similares. Esto significa que existen cambios en la notacin de las cuantas, se deben estructurar las funciones a cada cambio. Hasta este punto se ha logrado explicar cmo crear y utilizar de forma adecuada procedimientos y funciones creados en VBA como complemento para un trabajo optimo en Ms Excel y Autocad. El manejo posterior de los datos obtenidos es recomendable que se analicen u/o resuman con ayuda de tablas dinmicas9. De esta manera podemos sintetizar la informacin de las siguientes maneras:

9LastablasdinmicasesunaherramientaquetieneExcelquepermiteelmanejoadecuadodedatos,paramsinformacinreferenciarlaayudadeMs Excel.

46

Resumen de totales de acero por vigas y total general

Resumen total de acero por dimetro de barra

47

Resumen ubicacin de elementos

Las anteriores son algunas de las posibilidades de organizacin de tablas que la herramienta Tablas Dinmicas ofrece. El estilo y formato depender de la necesidad o de los datos que se deseen presentar.

48

CONCLUSIONES

1. Segn lo visto se deduce que el manejo adecuado de herramientas informticas es un instrumento clave para aumentar la eficiencia en el trabajo del clculo de cantidades de material.

2. Durante la realizacin de trabajo investigativo se pudo observar que el manejo de herramientas de programacin en VBA, no solo es til en el tratamiento de clculo de cantidades de material sino tambin para cualquier trabajo de ingeniera.

3. La investigacin del trabajo herramientas avanzadas de Ms Excel demuestra que la mayora de personas que utilizan esta hoja de clculo, no aprovecha todo el potencial de trabajo que esta ofrece.

4. Es importante que los profesionales se interesen personalmente por el manejo de herramientas informticas para aumentar su potencial de trabajo.

5. El manejo de software como herramienta de trabajo debe ser supervisada estrictamente por el personal profesional, ya que cualquier error de clculo puede ser causa de una mala interpretacin del los documentos inciales de trabajo.

6. El manejo de lenguajes de programacin como Visual Basic, debe convertirse en un paso obligado para todo profesional, considerando la importancia o utilidad que representa para el trabajo cotidiano y los avances tecnolgicos de la fecha.

7. El desarrollo de software para ingeniera es un campo que se ha preocupado por innovar en herramientas para el trabajo general de cada profesional, es decisin de los profesionales buscar soluciones a situaciones puntuales de trabajo cotidiano.

49

5 BIBLIOGRAFA

DOGGE, Mark y STINGSON Crain: Gua Completa de Microsoft Excel 2002. 1ra ed. Espaa: McGraw Hill, 2002. 840 p. 9 788448 123415. ISBN 84-481-3241-6

HANSEN Steven M: Excel 2003 Programming with VBA. 1ra ed. Londres: Sybex, 2004.606 p. ISBN: 0-7821-4281-8

NIETO DIAS, Humberto: Presupuesto de obra. 1ra ed. Colombia: Escala. 70 p.

JACOBSON Reed: Programacin con Microsoft Excel 2002 Macros y Visual Basic para aplicaciones. 1ra ed. Madrid Espaa: McGraw Hill, 2002. 540 p. ISBN 84-481-32483-3

TAJADURA ZAPIRAIN, Jose Antonio; MANSO IRURZUN, Begoa y LOPEZ FERNANDEZ, Javier: Programacin con Autocad, 1ra ed, Espaa: : McGraw Hill, 1999. ISBN 84-481-2123-6

WALKENBACH John, Excel 2003 Bible, 1ra ed. Indianapolis U.S.A: Wiley Publishing, 2003. p. 677-785

5.1 INFOGRAFIA SANCHEZ, Jorge. Funciones de Excel: OnLine, 1999. http://www.jorgesanchez.net/ofimatica/index.html

INSTITUTO NACIONAL DE ESTADSTICA E INFORMTICA, Como automatizar tareas con Excel Macros, [Online]

ASENJO, Carlos: Macros en Excel. [Presentacin en Lnea. [Espaa]. . s.f.

50

MACROS EN MS EXCELL, [En linea]. http://www.sicem.biz/docs/tutoriales/excel/MacrosEnExcel.PDF/download

Guia Macros de Excel. [En linea]. http://www.4shared.com/get/41863441/16030256/Guia_Macros_de_Excel__wwwnewbiem anianet.html

51

6 RECOMENDACIONES

Una buena bibliografa es importante para comenzar el desarrollo de procedimientos y/o funciones en Visual Basic.

La Web es un medio con mucha informacin y ejemplos para iniciar en el mundo de la programacin.

Aunque Visual Basic es uno de los lenguajes de programacin ms sencillos y asequibles, se debe estar preparado para los continuos errores y/o fracasos en nuestros primeros intentos de programacin.

El inters personal en aprender a programar en Visual Basic, ser la herramienta principal en nuestro auto aprendizaje.

Al iniciar el trabajo de programar cualquier tarea se debe tener un pleno conocimiento de dicha tarea. No puedo crear una funcin que sume dos nmeros si no se que es sumar.

52

7 ANEXOS
7.1 FUNCIONES EXCEL

53

54

7.2

PROCEDIMIENTO AUTOCAD

55

56

57