Publicado el 29 de Octubre del 2020
776 visualizaciones desde el 29 de Octubre del 2020
2,5 MB
26 paginas
Creado hace 9a (08/04/2015)
¿Qué ofrece la programación en AutoCAD?
¿Qué necesito para empezar a programar?
¿Qué es C# y .NET?
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
1
1.1. INTRODUCCIÓN
1.2. SOFTWARE NECESARIO
1.3. CONFIGURACIÓN DEL PROYECTO EN VS2010
1.4. INTRODUCCIÓN A C#
◦ 1.4.1. INSTRUCCIONES Y LÉXICO ELEMENTAL
◦ 1.4.2. TIPOS DE VARIABLES: ALFANUMÉRICAS, ARRAYS Y
LISTAS
◦ 1.4.3. MANEJO BÁSICO DE FICHEROS
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
2
AutoCAD: Software CAD utilizado ampliamente por
Arquitectos, Ingenieros, Diseñadores…
A diferencia de otros software CAD, permite una amplia
personalización del entorno de trabajo gracias a la
posibilidad de programar sobre él.
Lenguajes de programación: Script, AutoLISP, C++,
VisualBasic, C#.
Desde programas sencillos para tareas puntuales y/o
repetitivas (Ej: Dibujar catenarias), hasta programas
complejos que amplíen sus funcionalidades (Ej: Corrector en
desarrollo por el Laboratorio de CAD UMH).
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
3
AutoCAD
.NET Framework 4.0
Entorno de desarrollo (IDE):
◦ MS Visual Studio (Express)
API de AutoCAD
◦ ObjectARX
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
4
AutoCAD:
◦ Para estudiantes UMH, versión de estudiantes en:
http://students.autodesk.com/
◦ Versión de prueba 30 días:
http://www.autodesk.com/products/autodesk-
autocad/free-trial
.NET Framework:
◦ CLR, bibliotecas, lenguajes de programación (C#,
VB.NET…)
◦ Descarga: http://www.microsoft.com/es-
es/download/details.aspx?id=17851
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
5
ENTORNO DE DESARROLLO:
◦ Microsoft Visual C# Express 2010:
http://www.microsoft.com/visualstudio/eng/downl
oads#d-2010-express
◦ Microsoft Visual Studio Express 2012:
http://www.microsoft.com/visualstudio/eng/produ
cts/visual-studio-express-products (No funciona
en Windows XP o anterior)
◦ Estudiantes UMH, MS Visual Studio en MSDN.
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
6
API de AutoCAD: ObjectARX 2012
◦ Conjunto de librerías
◦ Escritas en C++
◦ Incluye librerías que adaptan las funciones en C++ a
◦ Implementan funciones de:
lenguajes .NET (VB.NET y C#)
Gestión de base de datos .dwg
Interacción con usuario
Álgebra lineal y operaciones geométricas
Personalización de interfaz gráfica
Representación gráfica
Publicación e impresión
(Integrable en MS Visual Studio).
◦ Documentación que explica las funciones y parámetros
◦ Descarga: Autodesk Developer Network
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
7
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
8
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
9
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
10
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
11
Las bibliotecas de clases para .NET se encuentran en los directorios
“inc” “inc-win32” e “inc-x64” de la carpeta ObjectARX
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
12
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
13
Iniciar AutoCAD durante la depuración en Visual C#
Express 2010:
◦ Añadir a la carpeta del proyecto un archivo llamado
“NombreDelProyecto.csproj.user”
◦ Escribir en él:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroupCondition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartAction>Program</StartAction> <StartProgram>"RUTA /acad.exe"</StartProgram>
</PropertyGroup> </Project>
◦ Añadir el directorio de trabajo: C:\RutaAutoCAD\UserDataCache\
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
14
¿Qué es C#?
C#: Lenguaje de programación orientado a objetos,
desarrollado por Microsoft
Parte de la plataforma .NET
Basado en C/C++, similar a Java incluyendo
mejoras de otros lenguajes
Código fuente se compila a lenguaje intermedio
común (CIL) interpretado. Permite integrar varios
lenguajes en la misma aplicación (VB.NET, C#, J#...)
Simple, moderno y de propósito general. Desde
aplicaciones sencillas hasta sistemas operativos y
programas distribuidos.
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
15
Léxico basado en C/C++
Declaración de variables: tipo nombre;
Operadores básicos:
Categoría
Operadores
+ - * / %
^ ! ~ && ||
+
++ --
<< >>
== != < > <= >=
= ^= <<= >>=
.
[ ]
( )
? :
new
as is sizeof typeof
Aritmético
Lógico y a nivel de bits
Concatenación
Incremento, decremento
Desplazamiento
Relacional
Asignación
Acceso a miembro
Indexación
Conversión
Condicional
Creación de objeto
Información de tipo
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
16
Instrucciones de control de flujo de programa: permiten
tomar decisiones y/o ejecutar repetidas veces el mismo
código.
◦ Condicionales: Se ejecuta cierto código si se cumple una
condición
If(condición) {código}: Se ejecuta el código si se cumple la
condición.
If(condición) {código} else{código’} :Si se cumple condición se
ejecuta código, si no se ejecuta código’
If(condición1) {código 1} elseif(condición 2) {código 2} … else
if(condición n) {código n} :Si se cumple condición 1 se ejecuta
código 1, si se cumple condición 2 se ejecuta código 2,etc.
(¡Ojo! Sólo se ejecuta el código de la primera condición que se
cumple).
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
17
Instrucciones de control de flujo de programa: permiten
tomar decisiones y/o ejecutar repetidas veces el mismo
código.
◦ Selección de casos: Útil para crear menús de selección.
Switch(variable) {case “caso1”: …break}; Los casos pueden
estar definidos tanto por enteros (1,2,3..) como por caracteres
(‘a’,’b’, ‘c’…) como por cadenas de texto (“Caso1”,”Caso2”…)
Ejemplo:
switch(Opcion)
{ case“Opcion1”:
...
break;
case“Opcion2”:
...
break;
default:
...
break;
}
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
18
Instrucciones de control de flujo de programa: permiten tomar
decisiones y/o ejecutar repetidas veces el mismo código.
◦ Bucles: Ejecución repetida de un determinado fragmento de código mientras
se cumpla cierta condición. Útil para aplicar el mismo algoritmo a distintos
datos.
while(condición){código}: Se ejecuta código mientras se cumpla la condición
do{código} while(condición); : Ídem que el anterior pero la condición se
comprueba al final, por lo que siempre se ejecuta al menos una vez.
For(intcontador=inicial ; condición; variación de valor de contador) {código}:
Similar al bucle while, pero este bucle permite actualizar el valor de la
variable contador al final de éste. Muy utilizado para recorrer listas de
elementos (Array, List…) cuyo tamaño vaya cambiando.
Ejemplo: for(inti=0; i<=array.Count; i++){ código }
Foreach( tipo nombre in listaobjetos) {código}: Recorre cada uno de los
objetos de la lista “listaobjetos” y los asigna a la variable “nombre”. Permite
trabajar rápidamente con todos y cada uno los elementos de una lista cuyo
tamaño y orden no va a ser alterado.
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
19
Literal: Valor fijo expresado explícitamente en código, una
vez compilado el programa su valor es fijo. Para cambiarlo es
necesario modificar el código y recompilarlo.
◦ Ejemplo: 5, ‘a’, “Hola mundo”
Constante: Valor fijo al que nos referimos a través de un
nombre alfanumérico.
◦ consttipo nombre = Valor; :Cuando en nuestro programa escribamos el
nombre de la constante, en compilación se sustituirá por su valor.
◦ readonlytipo nombre; :Puede asignársele el valor después de declararse,
pero sólo una vez.
Variable: Espacio de memoria con el tamaño adecuado al tipo,
al cual nos referimos por un nombre alfanumérico. El valor
que toma puede variar durante la ejecución del programa.
◦ tipo nombre;
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
20
Tipos principales de de Variables:
◦ bool: Representa un único bit que puede tomar el valor 1 ó 0.
◦ byte: Representa un conjunto de 8 bits, desde 00000000 a 11111111.
◦ int: Representa un número entero de 32 bits.
◦ long: Número entero de 64 bits (mayor rango de valores que int pero ocupa más
memoria).
◦ short: Número entero de 16 bits.
◦ float: Número en coma flotante (real) de 32 bits.
◦ double: Número en coma flotante de 64 bits (mayor precisión decimal).
◦ char: Carácter Unicode de 16 bits (A diferencia de la mayoría de lenguajes, puede
representar la ñ).
◦ string: Cadena de caracteres Unicode de 16 bits, permite representar textos.
◦ Las variables que representan números enteros pueden representar únicamente
enteros positivos si en el tipo se añade el prefijo “u”: uint, ushort, ulong.
Autor: Jorge A. Díez Pomares
Laboratorio de C.A.D. UMH
21
Conversión entre tipos de variables (casting):
◦
Implícita: Ciertas variables pueden convertirse implícitamente simplemente
realizando la asignación que se desea. No hay pérdida de información.
a=b donde a es de tipo entero y b es de tipo short.
◦ Explícita: Se especifica el tipo al que se quiere convertir escribiendo este entre
paréntesis. Puede haber pérdida de información.
tipo1 a= (tipo1)b; donde b es una variable de tipo2.
Conversiones de tipo de datos (Fuente Wikipedia): A (impícita), E (explícita), I (incompatible)
by
Comentarios de: Qué ofrece la programación en AutoCAD (0)
No hay comentarios