Uploaded by Renato Ky

DATA AUTOMATION

advertisement
CURSO DE PROGRAMACION
TEMARIO PROGRAMACION EXCEL FOR AUTOCAD VBA.
A. Introducción
Las macros son un grupo de instrucciones programadas bajo entorno vba
(visual basic para aplicaciones), cuya tarea principal es la automatización de
tareas repetitivas y la resolución de cálculos complejos.
El lenguaje vba, es un lenguaje de programación basado en el visual Basic,
enfocado a la realización de programas sobre las herramientas Excel, Access,
Word...., mediante macros en vba podemos crear nuevas funciones para nuestras
hojas Excel, personalizar estilos y formatos, crear programas para la resolución de
cálculos complejos, automatizar tareas...
Una vez realizado el código vba, podemos ejecutar el programa mediante
la creación de botones, nuevos menús... de tal forma que la aplicación creada
resulte intuitiva y de fácil manejo.
Mediante macros vba podemos crear múltiples aplicaciones que realicen los
cálculos automáticamente y obtengamos resultados en apenas unos segundos.
Las macros vba trabajan en diversos programas, los mas conocidos son los
programas que se incluyen en el paquete Office (Excel ,Word, Access...) pero
además las macros vba también trabajan en diversos programas como
SolidWorks, Autocad...(software creado para el diseño de ingeniería) lo cual
proporciona una enorme versatilidad de utilización, así como una comunicación
entre diversos programas.
A continuación se muestra una serie de ejemplos en los cuales se utilizan macros
vba
1.
Macros Vba con Excel.
Creación de nuevas funciones- como por ejemplo la función "código" que
convierte dígitos alfanuméricos a dibujos basados en codificación de código de
barras.
Automatización de tareas repetitivas- realización de informes automáticos,
conexión con bases de datos y otros programas.
Resolución de cálculos complejos e iterativos
Creación de programas,
planificación.....
2.
como
gestores
documentales,
software
de
Macros Vba con AutoCad.
Mediante macros vba podemos comunicar nuestras hojas Excel con los
planos dibujados en autocad.
Creación de informes automáticos sobre los datos contenidos en los planos,
información de los cajetines, información de los puntos, líneas y figuras contenidos
en los planos...
Parametrización y creación de planos a través de una hoja Excel...
Creación de nuevas funciones para autocad......
B. Configuración de la ficha programador y manejo de librerías
Para configura la ficha programador seguiremos los siguientes pasos
ARCHIVO
OPSIONES
PERSONALIZAR CINTA DE OPSIONES
MARCAMOS DESAROLLADOR
CONFIGURACION DE LIBRERIA
ENTRAMOS A DESAROLLADOR
PICAMOS EN VISUAL BASIC
PICAMOSEN HERRAMIENTAS
PICAMOSEN REFERENCIAS
MARCAMOS LOS TRES CASILLEROS
Autocad 2019 Type Library
Autocad Focus Control for VBA Type Library
Autocad Map Mpolygon Type Library
C. Explicación de Variables
1. Byte
Se utiliza para guardar números positivos enteros desde 0 a 255.
Ocupa 1 byte en la memoria.
2. Boolean
Sólo puede almacenar dos valores: Verdadero (1) o Falso (0). Ocupa
2 bytes en la memoria
3. Integer
Este tipo de variable también ocupa 2 bytes pero puede almacenar
un rango de números enteros muy alto: desde -32.768 hasta 32.767.
4. Long
También almacena números enteros desde -2.147.483.648 hasta
2.147.483.647.
5. Currency
Se utiliza para cálculos donde intervienen monedas. Puede
almacenar
un
rango
desde
-922.334.203.685.477,5808
922.337.203.685.477,5807. Ocupa 8 bytes en memoria.
hasta
6. Single
Se suele utiliza para almacenar números fraccionarios periódicos.
Abarca desde -3,4028235E+38 a -1,401298E-45 para números
negativos y 1,401298E-45 a 3,4028235E+38 para números positivos.
Ocupa 4 bytes en memoria.
7. Double
Similar al anterior pero con mucha más capacidad. Ocupa 8 bytes
en memoria y comprende desde -1,79769313486231570E+308 a 4,94065645841246544E-324 para los valores negativos y desde
4,94065645841246544E-324
a
1,79769313486231570E+308 para
los
valores positivos.
8. Date
Almacena fechas y horas como números de serie. Estos números
funcionan igual que en Excel: la parte positiva del número
corresponde al día y la parte decimal corresponde a la hora, de
forma que 04/04/1986 a las 16:32:15, está representado por el número
31506,6890625.
9. String
Almacena cadenas de caracteres desde uno solo a unos dos mil
millones aproximadamente. El espacio ocupado por este tipo de
variable depende de la longitud de la cadena guardada.
10.
Object
Almacena cualquier referencia a objetos. Ocupa 4 bytes en
memoria.
11.
Variant
Es un tipo de variable especial que puede almacenar cualquier tipo
de dato (numéricos, textos o fechas). Ocupan un espacio variable en
la memoria (un tamaño fijo de 22 bytes + la longitud de los datos). Si
una variable no se declara como un tipo de los anteriores, se supone
que es una Variant
D. Explicación de funciones y subrutinas
Lo primero es explicar en qué consiste una función y en qué se
diferencia de un procedimiento o macro.
Una función es un proceso que ejecuta un código programado y
devuelve un valor. La diferencia fundamental entre una función y una
macro es que la primera requiere una o varias variables de
entrada para realizar una serie de operaciones con ellas y después
devolver un resultado. Una macro sin embargo, no requiere una
variable de entrada, y puede realizar multitud de procesos (ej. Crear
una hoja nueva en el documento) sin necesidad de devolver un
resultado.
E. Ejemplo de Creación de función
a. EJEMPLO 1 – CALCULO DEL ÁREA DE UN RECTÁNGULO
Function AREA (base As Double, altura As Double) As Double
AREA = base * altura
End Function
b. EJEMPLO 2 – Crear una función para evaluar si un número es mayor
a 100, de ser el caso que la función de cómo resultado CANTIDAD
GRANDE y si es menor que dé como resultado CANTIDAD PEQUEÑA
Function nEvaluar(j As Integer) As String
nEvaluar = IIf(j >= 1000, "Cantidad Grande", "Cantidad
Pequeña")
End Function
F. Ejemplo de creación de Subrutina
EJEMPLO 1 – Indicar mediante una subrutina la Hora en la celda A1
Sub writeDataEHora()
Range("A1") = Now
End Sub
EJEMPLO 2 – Crear una subrutina que sume la celda A1 y A2 y que calcule
el resultado en la celda A3
Sub SUMAR()
Dim a As Double
Dim b As Double
a = Range("A1")
b = Range("A2")
Range("A3") = a + b
End Sub
G. Ejercicio de Función
a. Ejercicio Nº 01 – CALCULO DEL AREA DE UN CIRCULO
b. Ejercicio Nº 02 – CALCULO DEL AREA DE ACERO
H. Ejercicio de Subrutina
a. Ejercicio Nº 01 – CALCULO DEL AREA DE UN CIRCULO
b. Ejercicio Nº 02 – CALCULO DEL AREA DE ACERO
CURSO DE PROGRAMACION
SESIÓN N° 02 (Duración 2.5 horas)
 Explicación de propiedades de objetos
Los objetos ActiveX que proporciona AutoCAD 19 para su manejo desde programas
VBA están divididos según una jerarquía que deberemos seguir a la hora de llamarlos
o referirnos a ellos. La plantilla que se muestra a continuación nos será muy útil a la
hora de programar, ya que establece dicha jerarquía.
En Visual Basic es factible añadir al entorno nuevos objetos creados por nosotros para
luego ser utilizados. Lo que se ha hecho en VBA es precisamente eso. Estos objetos
tienen sus propiedades y métodos, al igual que los demás. Existen objetos de
entidades individuales de dibujo (líneas, círculos, arcos...) con sus propiedades (color,
capa, tipo de línea...) y métodos (copiar, mover, escalar).
También se han definido otros objetos no gráficos como son el Espacio Modelo, el
Espacio Papel y los bloques. Estos se consideran una colección de objetos de
entidades individuales de dibujo y tienen también sus propiedades para, por ejemplo,
saber cuántas entidades simples contienen, y sus métodos para, por ejemplo, añadir
nuevas entidades a la colección.
El propio documento actual de AutoCAD está definido como un objeto y tiene sus
propiedades (camino de acceso, límites...) y métodos (guardar, regenerar...). Dentro
de él se encuentran los mencionados anteriormente, además de otras colecciones
como el conjunto de capas, de estilos de texto, etcétera, cada una con propiedades
y métodos.
Y todo ello está incluido en el objeto más exterior, que es la aplicación de AutoCAD

Creación de Objeto tipo línea
Ejemplo Nº 01.- se muestra un ejemplo de código que crea una línea desde el punto
(0, 0, 0) hasta el punto (100, 100, 0).
Sub Linea()
' Declaración de las variables
Dim Punto1 (0 To 2) As Double
Dim Punto2 (0 To 2) As Double
Dim Linea As AcadLine
' Inicialización de los puntos extremos
Punto1(0) = 0: Punto1(1) = 0: Punto1(2) = 0
Punto2(0) = 100: Punto2(1) = 100: Punto2(2) = 0
' Creación de la línea
Set Linea = AutoCAD.Application.ActiveDocument.ModelSpace.AddLine(Punto1,
Punto2)
End Sub
Ejercicio Nº 01.- Crear una triangulo, utilizando líneas, cuyos vértices se encuentran
en las siguientes coordenadas A (0, 0, 0), B(0, 100, 0) y C(200, 0, 0)
Sub EJERCICIO1()
' Declaración de las variables
Dim Punto1(0 To 2) As Double
Dim Punto2(0 To 2) As Double
Dim Punto3(0 To 2) As Double
Dim Lado1 As AcadLine
Dim Lado2 As AcadLine
Dim Lado3 As AcadLine
Punto1(0) = 0: Punto1(1) = 0: Punto1(2) = 0
Punto2(0) = 0: Punto2(1) = 100: Punto2(2) = 0
Punto3(0) = 200: Punto3(1) = 0: Punto3(2) = 0
' Creación de las lados
Set Lado1 = AutoCAD.Application.ActiveDocument.ModelSpace.AddLine(Punto1, Punto2)
Set Lado2 = AutoCAD.Application.ActiveDocument.ModelSpace.AddLine(Punto2, Punto3)
Set Lado3 = AutoCAD.Application.ActiveDocument.ModelSpace.AddLine(Punto1, Punto3)
End Sub
 Creación de Objeto tipo polilínea
En otros casos, como al adicionar polilíneas, todas las coordenadas se
almacenas en la misma variable de arreglo. En el siguiente ejemplo se
muestra el código para crear una polilínea que forme un triángulo rectángulo.
Sub Polilinea()
' Declaración de las variables
Dim Puntos(0 To 11) As Double
Dim Polilinea As AcadPolyline
' Inicialización de los vértices
Puntos(0) = 0: Puntos(1) = 0: Puntos(2) = 0
Puntos(3) = 40: Puntos(4) = 0: Puntos(5) = 0
Puntos(6) = 40: Puntos(7) = 30: Puntos(8) = 0
Puntos(9) = 0: Puntos(10) = 0: Puntos(11) = 0
' Creación de la polilínea
Set Polilinea = AutoCAD.Application.ActiveDocument.ModelSpace.
AddPolyline(Puntos)
End Sub
En esta parte simplificaremos el código con ayuda de la propiedad closed
Sub Polilinea()
' Declaración de las variables
Dim Puntos(0 To 8) As Double
Dim Polilinea As AcadPolyline
' Inicialización de los vértices
Puntos(0) = 0: Puntos(1) = 0: Puntos(2) = 0
Puntos(3) = 40: Puntos(4) = 0: Puntos(5) = 0
Puntos(6) = 40: Puntos(7) = 30: Puntos(8) = 0
Puntos(9) = 0: Puntos(10) = 0: Puntos(11) = 0
' Creación de la polilínea
Set Polilinea = AutoCAD.Application.ActiveDocument.ModelSpace.
AddPolyline(Puntos)
Polilinea.Closed = True
End Sub
 Creación de Objeto tipo círculo
Otro grupo importante de elementos, dentro de los dibujos más comunes en
AutoCAD, lo constituyen las entidades curvas (arcos, circunferencias, elipses...).
Para crear estas entidades, el modelo de objetos de AutoCAD dispone de los
siguientes métodos:
AddCircle: Crea una circunferencia dados el punto central y el radio.
• AddArc: Crea un arco de circunferencia, especificando el punto central, el
radio,el ángulo inicial y el ángulo final.
• AddEllipse: Crea una elipse dados su centro, un punto extremo del eje principal
y la relación entre las longitudes de los ejes.
 Creación de Objeto tipo Circulo
Sub circulo()
' Declaración de variables
Dim Punto1(0 To 2) As Double
Dim Radio As Double
Dim circulo As AcadCircle
' Inicialización de los puntos centrales
Punto1(0) = 50: Punto1(1) = 20: Punto1(2) = 0
Radio = 10
Set circulo = AutoCAD.Application.ActiveDocument.ModelSpace.AddCircle(Punto1,
Radio)
End Sub
 Creación de Objeto tipo arco
Sub Arcos()
' Declaración de variables
Dim Punto1(0 To 2) As Double
Dim Punto2(0 To 2) As Double
Dim Radio As Double
Dim Angulo1 As Double, Angulo2 As Double
Dim Arco1 As AcadArc, Arco2 As AcadArc
' Inicialización de los puntos centrales
Punto1(0) = 50: Punto1(1) = 20: Punto1(2) = 0
Punto2(0) = 50: Punto2(1) = 40: Punto2(2) = 0
' Inicialización del radio y los ángulos
Radio = 10
Angulo1 = 3.1416 * (-90) / 180
Angulo2 = 3.1416 * (90) / 180
' Creación del primer arco
Set Arco1 = AutoCAD.Application.ActiveDocument .ModelSpace.AddArc(Punto1,
Radio, Angulo1, Angulo2)
' Creación del segundo arco
Set Arco2 = AutoCAD.Application.ActiveDocument.ModelSpace. AddArc(Punto2,
Radio, Angulo2, Angulo1)
End Sub
Ejercicio Nº 01.- Crear una circunferencia con la unión de arcos de 90ª, el radio de
los arcos será igual a 20 UND.

Creación de Objeto tipo Layer
Ejemplo Nº 01.- Creación de una capa de nombre “CAPA1”
Sub capa()
Dim layer As AcadLayer
Set layer = AutoCAD.Application.ActiveDocument.Layers.Add("CAPA1")
End Sub
Ejemplo Nº 02.- asignar el color azul a la capa creada.
Sub capa()
Dim layer As AcadLayer
Set layer = AutoCAD.Application.ActiveDocument.Layers.Add("CAPA1")
layer.Color = acBlue
End Sub
 Ejercicio de aplicación
Crear un código para generar e siguiente dibujo
x:+0.000
Y:+17.97
x:-2.940
Y:+1.790
R22.1200
R20.0000
R3.4000
R17.8800
x:+2.940
Y:+1.790
x:-15.485
Y:-8.8500
x:+15.485
Y:-8.8500
x:+0.000
Y:-3.310
CURSO DE PROGRAMACION
SESIÓN N° 02 (Duración 2.5 horas)
 Utilizacion de la herramienta msgbox
Con Msgbox en VBA para Excel podemos mandar de manera muy
sencilla mensajes a los usuarios cuando estamos utilizando VBA bien
en una macro normal o bien en un evento. Este mensaje aparece en
la pantalla del usuario como una ventana y puede tener varios
elementos de configuración.
SINTAXIS DE MSGBOX EN VBA
La función Msgbox tiene una sintaxis bastante sencilla, pero podemos
complicarla mucho, casi tanto como se quiera. Básicamente esta
función lanza un pop-up con un mensaje. Este pop-up tiene los
siguientes argumentos:
Mensjae: una cadena de texto que se mostrará al usuario.
Título: es opcional. También una cadena de texto que deberá ser
breve para mostrar al usuario.
Botones: es opcional, por defecto aparecerá «Aceptar». Los botones
pueden ser algunos de los siguientes: vbOKonly, vbCancelOnly,
vbYesNo, vbCritical,vbExclamation, vbQuestion…
1. EJEMPLO1: SÓLO EL MENSAJE.
Sub Mensaje()
MsgBox "Bienvenidos al curo de porgramacion!"
End Sub
Como puede verse en el código que hemos escrito, el mensaje
tiene que ir escrito entre comillas dobles.
2. EJEMPLO2: MENSAJE CON UNA EXCLAMACIÓN DE TÍTULO
Sub Mensaje_con_botón()
MsgBox "Bienvenidos a esta web!", vbExclamation
End Sub
Este mensaje además de ser muy visual, lanza una alerta sonara
típica de windows. Como ves, el botón es el de aceptar, pero en
esta ocasión hay un símbolo de exclamación que hace más “pro”
el mensaje.
3. EJEMPLO3: MENSAJE CON BOTONES DE YES , NO Y TÍTULO
Como puede verse en el siguiente ejemplo hemos añadido un
ejemplo con los tres componentes principales de un Msgbox. No es
muy complejo hacerlo pero aún podemos complicarlo un poco
más. Fíjate que el título ha cambiado, ya no pone «Microsoft Excel»
sino que pone «Mi título»
Sub Mensaje_con_título()
MsgBox "Bienvenidos a esta web!", vbYesNo, "Mi título"
End Sub
4. EJEMPLO4: COMBINAR DOS TIPOS DE BOTONES
En este ejemplo vamos a combinar el botón de vbYesNo para que
aparezca como en la anterior imagen con el de la exclamación
del ejemplo 2.
Sub Mensaje_con_dos_botones()
MsgBox "Bienvenidos a esta web!", vbYesNo +
"Mi título"
End Sub
vbExclamation,
5. EJEMPLO5: OBTENER LA RESPUESTA SI O NO DEL MSGBOX
En el ejemplo siguiente, VBA preguntará al usuario si está seguro de
querer poner en rojo la celda A1 de este libro.
Sub Obtener_valor_del_mensaje()
'primero pongo la pregunta
resultado = MsgBox("¿Quieres pintar de rojo la celda A1?",
vbYesNo, "Colorear A1")
'ahora manejo el resultado a mi antojo
If resultado = vbYes Then
Range("A1").Interior.Color = vbRed
End If
End Sub
 Utilización de la herramienta Inputbox
Se utiliza para la entrada de datos.
Sub ingresar_dato()
Dim dato As String
dato = InputBox("Ingrese Palabra", "ENTRADA DE DATOS"
Range("A1") = dato
End Sub
 EJEMPLO DE APLICACIÓN
hacer un código que automatice el dibujo de un rectángulo,
utilizando las herramientas de msgbox e inputbox
Sub Dibujar_rectangulo()
MsgBox "Programa creado para el Dibujo" & Chr(13) & "de un rectangulo"
ladoa = InputBox("Ingrese longitud del lado A ", "ENTRADA DE DATOS")
ladob = InputBox("Ingrese longitud del lado B ", "ENTRADA DE DATOS")
MsgBox "Pique la ubicacion del rectangulo"
ptocad = AutoCAD.Application.ActiveDocument.Utility.GetPoint
Dim perimetro As AcadPolyline
Dim pto(0 To 11) As Double
pto(0) = ptocad(0): pto(1) = ptocad(1): pto(2) = 0
pto(3) = ptocad(0): pto(4) = ptocad(1) + ladob: pto(5) = 0
pto(6) = ptocad(0) + ladoa: pto(7) = ptocad(1) + ladob: pto(8) = 0
pto(9) = ptocad(0) + ladoa: pto(10) = ptocad(1): pto(11) = 0
Set perimetro = AutoCAD.Application.ActiveDocument.ModelSpace.AddPolyline(pto)
perimetro.Closed = True
End Sub
 EJERCICIO DE APLICACIÓN
Hacer un código que automatice el dibujo de una viga, crear capas
para el contorno y para el acero, además usar las herramientas de
Msgbox e inputbox para la entrada de datos.
Imagen Referencial.
Sub Dibujar_viga()
MsgBox "Programa creado para el Dibujo" & Chr(13) & "de automatizado de una
viga"
luz = InputBox("Ingrese luz de la viga (m)", "ENTRADA DE DATOS")
peralte = InputBox("Ingrese peralte dela viga (m) ", "ENTRADA DE DATOS")
r = InputBox("Ingrese recubrimiento (m) ", "ENTRADA DE DATOS")
MsgBox "Indique la ubicacion en el plano de la viga"
ptocad = AutoCAD.Application.ActiveDocument.Utility.GetPoint
Dim perimetro As AcadPolyline
Dim acero As AcadPolyline
'vertices de la viga
Dim pto(0 To 11) As Double
'vertices del acero superior
Dim ptoasp(0 To 11) As Double
' creacion de capas
Dim capa_contorno As AcadLayer
Dim capa_acero As AcadLayer
Set capa_contorno = AutoCAD.Application.ActiveDocument.Layers.Add("VIGA")
capa_contorno.Color = acBlue
CURSO DE PROGRAMACION
SESIÓN N° 04 (Duración 2.5 horas)
 BUCLES
Las estructuras tipo bucle permiten ejecutar una o varias líneas de
código repetidamente. Puede repetir las instrucciones en una
estructura de bucle hasta que una condición sea True , hasta que
una condición sea False , un número especificado de veces o una
vez por cada elemento de una colección.
En la ilustración siguiente se muestra una estructura de bucle que
ejecuta un conjunto de instrucciones hasta que una condición se
vuelve verdadera:
 BUCLE TIPO FOR NEXT
El bucle FOR NEXT en VBA nos permite en Excel (o cualquier otro
lenguaje de programación) repetir una acción un número de veces
dado. Su sintaxis es la siguiente:
Ejemplo Nº 01.- En este primer ejemplo tenemos el bucle FOR NEXT en
VBA. El bucle contara del 1 a 20 e ira poniendo en una columna el
valor del contador.
Sub CONTAR()
Dim i As Double
For i = 1 To 20
fila = i
Cells(fila, 1) = i
Next
End Sub
Ejemplo Nº 02.- Para este ejemplo añadimos la propiedad “step 2”
que sirve para incrementar el contador de 2 en 2. Es decir,
inicialmente el contador valdrá 1, luego 3, luego 5 y así
sucesivamente, hasta completar la condición To 20
Sub CONTARESTEP()
Dim i As Double
For i = 1 To 20 Step 2
fila = i
Cells(fila, 2) = i
Next
End Sub
Ejemplo Nº 03.- Partiremos del ejemplo Nª 02, ahora queremos que
se impriman los valores en celdas sucesivas sin dejar celdas en
blanco.
Sub CONTARESTEP2()
Dim i As Double
For i = 1 To 20 Step 2
fila = (i + 1) / 2
Cells(fila, 3) = i
Next
End Sub
 BUCLE TIPO DO WHILE
El funcionamiento del bucle Do While en VBA es muy sencillo,
repetiremos una acción tantas veces que sea necesario siempre y
cuando se evalúe una condición.
Ejemplo Nº 01.- Realizaremos el ejercicio Nº 01 de FOR NEXT pero
ahora usaremos DO WHILE
Sub CONTAR()
Dim i As Double
i = 1
Do While i <= 20
fila = i
Cells(fila, 1) = i
i = i + 1
Loop
End Sub
Ejemplo Nº 02.- Realizaremos el ejercicio Nº 03 de FOR NEXT pero
ahora usaremos DO WHILE
Sub CONTAR()
Dim i As Double
i = 1
Do While i <= 20
fila = (i+1)/2
Cells(fila, 1) = i
i = i + 2
Loop
End Sub
 EJEMPLOS DE APLICACIÓN USANDO EL BUCLE For Nex
Sub CIRCULOS_VARIABLE()
Dim limite As Integer
limite = InputBox("Ingrese ultimo valor")
For i = 1 To limite
Dim texto As AcadText
Dim circulo As AcadCircle
ptocad = AutoCAD.Application.ActiveDocument.Utility.GetPoint
Dim pto(0 To 2) As Double
pto(0) = ptocad(0)
pto(1) = ptocad(1)
pto(2) = ptocad(2)
Dim ptot(0 To 2) As Double
ptot(0) = ptocad(0)
ptot(1) = ptocad(1) + 2
ptot(2) = 0
Set texto = AutoCAD.Application.ActiveDocument.ModelSpace.AddText(i, pto, 4)
texto.Alignment = acAlignmentCenter
texto.TextAlignmentPoint = pto
Set circulo = AutoCAD.Application.ActiveDocument.ModelSpace.AddCircle(ptot, 8)
Next
End Sub
 EJEMPLOS DE APLICACIÓN USANDO EL BUCLE Do While
Sub CIRCULOS_VARIABLE()
n = 1
Dim limite As Integer
limite = InputBox("Ingrese ultimo valor")
Do While n <= limite
Dim texto As AcadText
Dim circulo As AcadCircle
ptocad = AutoCAD.Application.ActiveDocument.Utility.GetPoint
Dim pto(0 To 2) As Double
pto(0) = ptocad(0)
pto(1) = ptocad(1)
pto(2) = ptocad(2)
Dim ptot(0 To 2) As Double
ptot(0) = ptocad(0)
ptot(1) = ptocad(1) + 2
ptot(2) = 0
Set texto = AutoCAD.Application.ActiveDocument.ModelSpace.AddText(n, pto, 4)
texto.Alignment = acAlignmentCenter
texto.TextAlignmentPoint = pto
Set circulo = AutoCAD.Application.ActiveDocument.ModelSpace.AddCircle(ptot, 5)
n = n + 1
Loop
End Sub
Ejercicio Nº 01.- Crear una Rutina para dibujar líneas paralelas
verticales de longitud variable y separadas entre sí un valor de x, usar
la herramienta inputbox. (Resolver usando el BUCLE For Next y el BUCLE
Do While)
Related documents
Download