You are on page 1of 17

Universidad Nacional del Santa

Importancia de la programación en la ingeniería civil

Herrera Castillo José Abraham

Facultad de Ingeniería, Escuela Profesional de Ingeniería de Civil

Curso: SIMULACIÓN EN INGENIERÍA

Mendoza Corpus Carlos A.

24/11/2024
Contenido
ACTIVIDAD FORMATIVA UI....................................................................................................4
1. Importancia de la programación en la ingeniería......................................................4
2. Objetivos.........................................................................................................................4
• Objetivo general..............................................................................................................4
• Objetivos específicos......................................................................................................5
3. Descripción de código planteado................................................................................5
4. Datos que muestre al ejecutar programa.................................................................14
Referencias bibliográficas.......................................................................................................16
Índice de imágenes
Imagen 1: Selección de punto inicial.______________________________________________________15
Imagen 2: Selección del punto final._______________________________________________________16
Imagen 3: Selección de la anchura del camino.______________________________________________16
Imagen 4: Selección del radio de las losetas.________________________________________________16
Imagen 5: selección del espacio entre losetas._______________________________________________16
Imagen 6: dibujo del camino.____________________________________________________________17
Imagen 7: Resultado de ps1.____________________________________________________________17
Imagen 8: Resultado de ps2.____________________________________________________________17
Imagen 9: Resultado de ps3.____________________________________________________________18
ACTIVIDAD FORMATIVA UI
1. Importancia de la programación en la ingeniería
En el ámbito de la ingeniería civil, se disponen de diversas herramientas
que resultan sumamente beneficiosas para aumentar la eficacia en nuestras
labores diarias. La programación se presenta como un recurso invaluable,
abarcando una variedad de procesos organizativos, administrativos,
matemáticos, informáticos y logísticos, todos ejecutados a través de una
computadora. Para los ingenieros civiles, la programación se convierte en
un elemento esencial que les facilita la realización de actividades como el
dibujo mediante programas destacados como AutoCAD.

La programación desempeña un papel crucial al posibilitar que la


computadora realice acciones según nuestras necesidades, optimizando
procesos como la creación de rutinas de dibujo para AutoCAD. Esta
optimización resulta en una ventaja significativa en términos de tiempo y
eficiencia, al reducir considerablemente los plazos de elaboración de planos
y mejorar la calidad del resultado, siempre y cuando se posean habilidades
sólidas en el uso del programa.

Otra herramienta esencial en la ingeniería civil es Excel, un programa


ampliamente empleado en diversos campos. La programación en Excel,
más económica que adquirir software especializado para cada función,
permite la creación de rutinas para realizar tareas repetitivas e iterativas de
manera eficiente. Con solo un clic, estas rutinas pueden llevar a cabo
revisiones, diseñar, hacer balances de costos, generar estados de cuenta,
programar labores, entre otras funciones, proporcionando un control total
sobre las acciones del programa o la hoja de cálculo.

En contraste, la adopción de software especializado para tareas


específicas, como el diseño de cimentaciones, puede presentar limitaciones
en cuanto a criterios y compatibilidad con otros programas utilizados, como
STAAD para análisis estructural. La programación ofrece la flexibilidad
necesaria para ajustar y personalizar el funcionamiento de estos programas
según los requerimientos y preferencias individuales, evitando restricciones
impuestas por criterios predefinidos.

Es crucial resaltar que programas ampliamente utilizados en ingeniería civil,


como STAAD, Excel, AutoCAD, SAFE, Etabs, entre otros, incorporan
módulos compatibles con Visual Basic o C++. Esto brinda la oportunidad de
aprovechar la programación para adaptar el uso y la respuesta de estos
programas de acuerdo con criterios específicos, permitiendo un nivel
adicional de personalización conforme a las necesidades y preferencias de
los ingenieros.
2. Objetivos
• Objetivo general
Crear conciencia entre los ingenieros civiles acerca de la relevancia de la
programación en su trayectoria profesional.
• Objetivos específicos
- Reconocer la utilidad de los comandos principales.
- Definir los principales propósitos de la programación en su campo.
- Generar conciencia sobre la automatización de procesos mediante
comandos.
3. Descripción de código planteado
Option explicit
Option explicit se emplea a nivel de módulo con el propósito de requerir que se realice
una declaración explícita de todas las variables pertenecientes a dicho módulo.
Const pI = 3.14159
Const Pl es usado para definir una constante en el documento.
- Private sp(0 To 2) As Double
Private ep(0 To 2) As Double
Private hwidth As Double
Private trad As Double
Private tspac As Double
Private pangle As Double
Private plength As Double
Private totalwidth As Double
Private angp90 As Double
Private angm90 As Double -
Private se utiliza para establecer el alcance o la visibilidad de la variable como privada
dentro del módulo o clase donde se ha declarado.
Double se utiliza para poder almacenar números con decimales.
'Conversión de un angulo en gradados a gradianes
Function dtr(a As Double) As Double
Function para definir una función especifica que puede ser llamada en otro
procedimiento.
dtr = (a / 180) * pI
En esta línea dtr esta igualado a un angulo generado por la variable a mencionada en la
línea anterior multiplicada por pI definida inicialmente.
End Function
End function es usado para definir el final de la función previamente anunciada.
'Adquisición de información para el camino del jardín
'cálculo de la distancia entre dos puntos
Function distance(sp As Variant, ep As Variant) As Double
Function para definir una función específica que puede ser llamada en otro
procedimiento.
-Dim x As Double
Dim y As Double
Dim z As Double-
Double se utiliza para poder almacenar números con decimales.
x = sp(0) - ep(0)
y = sp(1) - ep(1)
z = sp(2) - ep(2)
las tres variables definidas en las líneas anteriores son usadas para poder determinar la
distancia en tres los puntos asignados.
distance = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2))
Distance en esta línea sirve para ejecutar la distancia entre los puntos mediante el uso de
Sqr.
End Function
End function es usado para definir el final de la función previamente anunciada.
Private Sub gpuser()
Private sub sirve para anunciar que las variables utilizadas en esta parte solo serán
usadas en este proceso.
Dim varRet As Variant
Variant sirve para asignar valores de diferentes tipos sin necesidad de cambiar la
declaración
varRet = ThisDrawing.Utility.GetPoint(, "Punto inicial del camino:")
ThisDrawing.Utility.GetPoint sirve para poder utilizar el mouse en el espacio para poder
seleccionar un punto específico, con la instrucción generada entre paréntesis.
sp(0) = varRet(0)
sp(1) = varRet(1)
sp(2) = varRet(2)
varRet = ThisDrawing.Utility.GetPoint(, "Punto final del camino:")
ThisDrawing.Utility.GetPoint sirve para poder utilizar el mouse en el espacio para poder
seleccionar un punto específico, con la instrucción generada entre paréntesis.
ep(0) = varRet(0)
ep(1) = varRet(1)
ep(2) = varRet(2)
hwidth = ThisDrawing.Utility.GetDistance(sp, _
"Mitad de anchura del camino:")
trad = ThisDrawing.Utility.GetDistance(sp, "Radio de las losetas:")
tspac = ThisDrawing.Utility.GetDistance(sp, "Espacio entre losetas:")
ThisDrawing.Utility.GetDistance sirve para determinar la distancia entre los puntos
antes escogidos.
pangle = ThisDrawing.Utility.AngleFromXAxis(sp, ep)
ThisDrawing.Utility.AngleFromXAxis sirve para obtener el ángulo entre dos puntos en
el sistema de coordenadas del dibujo
totalwidth = 2 * hwidth
esta línea sirve para identificar la anchura total del camino.
plength = distance(sp, ep)
Distance sirve para saber la distancia entre 2 puntos.
angp90 = pangle + dtr(90)
angm90 = pangle - dtr(90)
los anteriores códigos sirven para determinar la distancia del angulo especificado con
respecto a 90, tanto positivo como negativo.
End Sub
End sub sirve para determinar el final de la sub iniciada con anterioridad.
'dibujo del contorno del camino
Private Sub drawout()
Private sub sirve para anunciar que las variables utilizadas en esta parte solo serán
usadas en este proceso.
Dim points(0 To 9) As Double
Dim sirve para declarar una variable, en este caso points de 0 a 9 como double.
Dim pline As AcadLWPolyline
AcadLWPolyline sirve para declarar la variable para poder realizar una polilínea
posteriormente.
Dim varRet As Variant
Variant sirve para asignar valores de diferentes tipos sin necesidad de cambiar la
declaración
- varRet = ThisDrawing.Utility.PolarPoint(sp, angm90, hwidth)
points(0) = varRet(0)
points(1) = varRet(1)
points(8) = varRet(0)
points(9) = varRet(1)
- varRet = ThisDrawing.Utility.PolarPoint(varRet, pangle, plength).
points(2) = varRet(0)
points(3) = varRet(1)
- varRet = ThisDrawing.Utility.PolarPoint(varRet, angp90, totalwidth)
points(4) = varRet(0)
points(5) = varRet(1)
- varRet = ThisDrawing.Utility.PolarPoint(varRet, pangle + dtr(180), _
plength)
ThisDrawing.Utility.PolarPoint sirve para poner un punto en un sistema polar con las
especificaciones puestas entre paréntesis.
points(6) = varRet(0)
points(7) = varRet(1)
- Set pline = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
ThisDrawing.ModelSpace.AddLightWeightPolyline sirve para añadir una polilínea en
3d en el espacio modelo.
End Sub
En sub sirve para terminar la función previamente iniciada.
'Colocación de una hilera de losetas a lo largo de la distancia 'dada del camino
'y posible desfase de esta
Private Sub drow(pD As Double, offset As Double)
Private sub sirve para anunciar que las variables utilizadas en esta parte solo serán
usadas en este proceso.
Dim pfirst(0 To 2) As Double
Dim pctile(0 To 2) As Double
Dim pltile(0 To 2) As Double
Double se utiliza para poder almacenar números con decimales.
Dim cir As AcadCircle
AcadCircle sirve para determinar una variable de tipo circulo en el espacio de
AutoCAD.
Dim varRet As Variant
Variant sirve para asignar valores de diferentes tipos sin necesidad de cambiar la
declaración
varRet = ThisDrawing.Utility.PolarPoint(sp, pangle, pD)
pfirst(0) = varRet(0)
pfirst(1) = varRet(1)
pfirst(2) = varRet(2)
varRet = ThisDrawing.Utility.PolarPoint(pfirst, angp90, offset)
pctile(0) = varRet(0)
pctile(1) = varRet(1)
pctile(2) = varRet(2)
pctile(0) = pctile(0)
pctile(1) = pctile(1)
pctile(2) = pctile(2)
ThisDrawing.Utility.PolarPoint sirve para poner un punto en un sistema polar con las
especificaciones puestas entre paréntesis.
Do While distance(pfirst, pltile) < (hwidth - trad)
Do while sirve para poner una condición que permite que el bucle se cumpla hasta que
se alcance la misma, en este caso es que las resta de hwidth – trad sea mayo que la
distancia entre pfirst, pltile
Set cir = ThisDrawing.ModelSpace.AddCircle(pltile, trad)
ThisDrawing.ModelSpace.AddCircle sirve para crear un circulo con los datos
especificados entre paréntesis.
varRet = ThisDrawing.Utility.PolarPoint(pltile, angp90, (tspac + _
trad + trad))
ThisDrawing.Utility.PolarPoint sirve para poner un punto en un sistema polar con las
especificaciones puestas entre paréntesis.
pltile(0) = varRet(0)
pltile(1) = varRet(1)
pltile(2) = varRet(2)
Loop
Loop sirve para crear un bucle en este espacio.
varRet = ThisDrawing.Utility.PolarPoint(pctile, angm90, tspac + _
trad + trad)
ThisDrawing.Utility.PolarPoint sirve para poner un punto en un sistema polar con las
especificaciones puestas entre paréntesis.
pltile(0) = varRet(0)
pltile(1) = varRet(1)
pltile(2) = varRet(2)
Do While distance(pfirst, pltile) < (hwidth - trad)
Do while sirve para poner una condición que permite que el bucle se cumpla hasta que
se alcance la misma.
Set cir = ThisDrawing.ModelSpace.AddCircle(pltile, trad)
ThisDrawing.ModelSpace.AddCircle sirve para crear un círculo con los datos
especificados entre paréntesis.
varRet = ThisDrawing.Utility.PolarPoint(pltile, angm90, (tspac _
+ trad + trad))
ThisDrawing.Utility.PolarPoint sirve para poner un punto en un sistema polar con las
especificaciones puestas entre paréntesis.
pltile(0) = varRet(0)
pltile(1) = varRet(1)
pltile(2) = varRet(2)
Loop
End Sub
Sirve para terminar la sub iniciada anteriormente.
Private Sub drawtiles()
Private sub sirve para anunciar que las variables utilizadas en esta parte solo serán
usadas en este proceso.
Dim pdist As Double
Dim offset As Double
Double se utiliza para poder almacenar números con decimales.
pdist = trad + tspac
pdist en esta línea está sumando los datos almacenados en trad y tspac.
offset = 0
se está asignando el valor 0 al dato offset.
Do While pdist <= (plength - trad)
Do while sirve para poner una condición que permite que el bucle se cumpla hasta que
se alcance la misma. En este caso que la resta entre plength y trad sea mayor o igual que
pdist.
drow pdist, offset
Drow sirve para ejecutar ciertos cambios en el espacio modelo.
pdist = pdist + ((tspac + trad + trad) * Sin(dtr(60)))
pdist en esta línea esta sumando el valor previo asignado a si mismo con otras tres
variables que han sido previamente sumadas y multiplicadas por el seno de dtr(60).
If offset = 0 Then
If está poniendo la condicional para empezar la creación de un bucle.
Then esta siendo usado para asignar el siguiente procedimiento a realiza al confirmar la
condición.
offset = (tspac + trad + trad) * Cos(dtr(60))
En esta línea offset esta sumando 3 datos para posteriormente multiplicarlos por el seno
de dtr(60).
Else
Else esta siendo utilizado para determinar el siguiente procedimiento a realizar.
offset = 0
End If
En if se utiliza para terminar el bucle anteriormente iniciado.
Loop
End Sub
End sub esta siendo usado para poder determinar el fin de la sub iniciada anteriormente.
'Ejecución del comando, invocando las funciones constituyentes
Sub gardenpath()
Sub está siendo utilizado para generar una macro con el nombre especificado.
Dim sblip As Variant
Dim scmde As Variant
Variant sirve para asignar valores de diferentes tipos sin necesidad de cambiar la
declaración
Gpuser
La anterior línea esta siendo usada para llamar a la private sub con el mismo nombre.
sblip = ThisDrawing.GetVariable("blipmode")
scmde = ThisDrawing.GetVariable("cmdecho")
ThisDrawing.GetVariable sirve para obtener el valor de una variable de sistema o de
dibujo en AutoCAD.
ThisDrawing.SetVariable "blipmode", 0
ThisDrawing.SetVariable "cmdecho", 0
ThisDrawing.SetVariable sirve para asignar el valor 0 a las variables asignadas.
Drawout
La anterior línea está siendo usada para llamar a la private sub con el mismo nombre.
Drawtiles
La anterior línea está siendo usada para llamar a la private sub con el mismo nombre.
ThisDrawing.SetVariable "blipmode", sblip
ThisDrawing.SetVariable "cmdecho", scmde
ThisDrawing.SetVariable sirve para asignar el valor 0 a las variables asignadas.
End Sub
End sub sirve para terminar la sub iniciada anteriormente.
Public Sub ps1()
Public sub sirve para crear una macro visible en todo el documento con el nombre
asignado.
Dim m, p, s As Double
Double se utiliza para poder almacenar números con decimales.
p=5
En la línea anterior se le esta asignando el valor 5 a la variable p.
If p >= 1 And p <= 10 Then
Se está creando la condicional de que el valor de pe debe ser mayor o igual a 1 y menor
o igual que 10.
For m = p To 1 Step -1
Se está creando un bucle que se generara la cantidad de veces asignada por To
s=m+p
Se está realizando la suma de las variables m y p.
Next
Sirve para continuar al siguiente proceso.
End If
Sirve para terminar la condicional.
MsgBox s
MsgBox sirve para que para que aparezca un cuadro de dialogo con el mensaje
asignado, en este caso la variable s.
End Sub
Sirve para terminar la sub anteriormente iniciada.
Public Sub ps2()
Public sub sirve para crear una macro visible en todo el documento con el nombre
asignado.
Dim n As Integer
n = 10
En la línea anterior se le esta asignando el valor 10 a la variable n.
MsgBox CStr(n) * CStr(6)
MsgBox sirve para que para que aparezca un cuadro de dialogo con el mensaje
asignado, en este caso la multiplicación de las variables CStr(n) y CStr(6).
End Sub
Sirve para terminar la sub anteriormente iniciada.
Public Sub ps3()
Public sub sirve para crear una macro visible en todo el documento con el nombre
asignado.
Dim m, p, s As Double
Dim sirve para declarar una variable, en este caso como double.
p=1
s=1
Se les asigna los valores 1 a las variables p y s.
Do
Do se utiliza para que se realice el siguiente proceso al confirmar la línea anterior.
m=p*s
se le asigna a m la multiplicación de p y s.
s=s+m
se le asigna a s su valor anterior sumado a m.
p=p+1
se le suma una unidad a p.
MsgBox (m & " " & s)
MsgBox sirve para que para que aparezca un cuadro de dialogo con el mensaje
asignado, en este caso las variables m y s.
Loop While s < 30
La línea anterior sirve para que se realice el bucle mientras que la variable s
sea menor a 30.
MsgBox s
MsgBox sirve para que para que aparezca un cuadro de dialogo con el mensaje
asignado, en este caso la variable s.
End Sub
Sirve para terminar el final de la sub iniciada anteriormente.
4. Datos que muestre al ejecutar programa
Imagen 1: Selección de punto inicial.

Imagen 2: Selección del punto final.

Imagen 3: Selección de la anchura del camino.

Imagen 4: Selección del radio de las losetas.


Imagen 5: selección del espacio entre losetas.

Imagen 6: dibujo del camino.

Imagen 7: Resultado de ps1.

Imagen 8: Resultado de ps2.


Imagen 9: Resultado de ps3.
Referencias bibliográficas
Importancia de la Programación en la Ingeniería Civil. (2014, agosto 3). Introducción a la
Programación. https://introproguni.wordpress.com/2014/08/03/importancia-de-la-
programacion-en-la-ingenieria-civil/

Kepler, H. (2023, marzo 26). La importancia del desarrollo de software para optimizar en
ingeniería civil. Linkedin.com. https://es.linkedin.com/pulse/la-importancia-del-desarrollo-de-
software-para-en-huaynate-gamarra

La programación En la Ingeniería Civil. (s/f). Prezi.com. Recuperado el 20 de noviembre de


2023, de https://prezi.com/m0d2qokjo1dg/la-programacion-en-la-ingenieria-civil/

You might also like