Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2.1. SolidWorks
1
Computer-aided Design
44
Una de las grandes ventajas que ofrece SolidWorks, es que permite crear dibujos preparados
para la fabricación de forma automática a partir de modelos 3D; además, elimina el tiempo
necesario para crear y manipular las vistas del dibujo haciendo que cada modificación
realizada se refleje con precisión en todas las vistas, láminas y/o dibujos relacionados, de
forma automática (ver Figura 2.2 y 2.3).
11
15.5
0
17
.5
A
0
DETAIL A
SCALE 1 : 1
CHK'D
APPV'D
MFG
MATERIAL:
Za nge
Q.A DWG NO.
A3
Para crear un complemento o Add-In para este modelador sólido, se emplea una herramienta
informática llamada SDK (Software Development Kit) que SolidWorks pone a disposición
de los desarrolladores. El SDK elabora una plantilla para la creación de un proyecto que
maneje las funciones API (Application Programming Interface) del software. Las funciones
API de este modelador sólido son manejadas a través de un IDE (Integrated Development
Environment) llamado Microsoft Visual Studio2 . Dicho de otro modo el API SDK SolidWorks
es un conjunto de funciones que pueden ser llamadas desde Visual C++, Visual Basic
o Visual C# 3 , permitiendo al usuario emplear toda la funcionalidad y versatilidad de
SolidWorks para crear aplicaciones que automaticen el modelado sólido; obteniéndose una
mayor eficiencia y productividad en el diseño y fabricación de componentes mecánicos.
SolidWorks proporciona ayuda sobre su API SDK, la cual se encuentra en el menú Ayuda
(API Help), pero esa información es carente de ejemplos que muestren lo que se puede
lograr con esta herramienta informática. Esencialmente la ayuda consiste en una descripción
de las funciones que pertenecen a la API SDK sin ejemplificación en la mayorı́a de los casos,
lo que resulta algunas veces difı́cil y tedioso al momento de asignar los parámetros a las
funciones.
En este trabajo se ha optado por emplear el lenguaje de programación Visual C#, un lenguaje
basado en la programación orientada a objetos, que ha sido desarrollado y estandarizado
por Microsoft como parte de su plataforma .NET [8]; aprobado como un estándar por la
ECMA (European Computer Manufacturers Association) e ISO (International Organization
for Standardization). Algunas de las principales caracterı́sticas de este lenguaje de
programación se listan a continuación:
2
Soporta varios lenguajes de programación tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual
Basic .NET, aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. Microsoft
Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, ası́ como servicios web
en cualquier entorno que soporte la plataforma .NET. Ası́ se pueden crear aplicaciones que se intercomuniquen
entre estaciones de trabajo, páginas web y dispositivos móviles.
3
Pronunciado “si sharp” en inglés.
46
2. En la siguiente ventana (ver Figura 2.5) se muestra la ubicación del directorio Archivos
de programa donde debe encontrarse instalado SolidWorks. En este caso la ubicación
no se puede alterar, pero si en versiones anteriores, siendo la ruta donde instalar:
C:\Archivos de programa\SolidWorks\api\.
Figura 2.5: Ubicación donde se realizará la instalación.
47
3. Ahora se debe presionar el botón Install para iniciar la instalación. Luego la instalación
se encontrará en progreso (ver Figura 2.6).
5. Hasta este punto los complementos que se podrı́an crear serı́an aquellos programados
en lenguaje C++/CLI, pero como el objetivo es desarrollar complementos empleando
el lenguaje Visual C#, se necesita modificar la instalación. Para instalar una opción
adicional, como lo es la plantilla para el desarrollo de complementos usando Visual
C#, se requiere volver a ejecutar el archivo instalador (SolidWorks API SDK.msi).
48
Como se cuenta con el API SDK SolidWorks 2010 instalado, la ventana que aparece
es como la que se muestra en la Figura 2.8. Se escoge la opción Modify y luego se
presiona el botón Next para continuar.
6. Finalmente se escoge la plantilla de C#, como se muestra en la Figura 2.9, y con esto
concluye la instalación.
La API SDK SolidWorks también tiene funciones que son comunes a todos los tipos de
documentos. Por ejemplo, funciones que permiten imprimir, guardar o determinar el nombre
asociado al archivo; para exponer un tipo de documento (Pieza, Dibujo y Ensamblaje) a las
funciones comunes, la API SDK SolidWorks utiliza la clase IModelDoc2.
ISldWorks
IModelDoc2
IPartDoc IAssemblyDoc IDrawingDoc
IFeature
IAnnotation
IFeatMgrView
IModelView
IDimension
ISketchSegments
IDesign Table
IAttribute
ISelectionMgr
ILayerMgr
IConfiguration
IModelDocExtension
IConfigurationManager
IModelViewManager
ISketchManager
ISwOLEObject
50
2.4. Principales funciones de la API SDK SolidWorks para archivos tipo Pieza
Esta sección sólo se limitará a describir las principales funciones de la API SDK SolidWorks
para la creación de complementos de tipo Pieza, pues es conocido que SolidWorks trabaja
con 3 tipos de archivos: Pieza, Ensamblaje y Dibujo (ver Figura 2.11). Para una mayor
referencia acerca de las funciones de la API SDK SolidWorks se puede consultar la ayuda
que SolidWorks brinda sobre este tema.
Permite dibujar un lı́nea especificando las coordenadas de su punto inicial y su punto final.
Tabla 2.2: Descripción de la función CreateLine.
Esta función permite dibujar un cı́rculo, para ello se necesita la coordenada de su centro y
la coordenada de un punto que pertenece a dicha entidad geométrica. Los parámetros se
describen en la tabla 2.3.
Tabla 2.3: Descripción de la función CreateCircle.
Tabla 2.14: Tipo de extrusión por revolución definida por la variable RevType.
Las lı́neas 1-2 son un equivalentes al procedimiento gráfico: abrir SolidWorks, dar click
sobre el botón Nuevo Documento y seleccionar el tipo de documento Pieza; lo cual trae
como consecuencia la apertura del entorno de trabajo (ver Figura 2.21). Ambas lı́neas se
repiten en cada ejemplo desarrollado en esta sección por lo que no se vuelven a comentar.
En la lı́nea 4 se usa el objeto modDoc para seleccionar el plano frontal, dentro de los
parámetros de la función miembro SelectByID24 el segundo parámetro indica que tipo de
entidad se desea seleccionar, en ese caso al tratarse de un plano se especifica entre comillas
dobles la cadena PLANE y como primer parámetro se indica el nombre del plano, para este
caso el plano frontal el cual se especifica entre comillas con la cadena Alzado. El resultado
de la compilación se puede ver en la Figura 2.22.
26 swSketchMgr.CreateSpline(point);
27 swSketchMgr.CreateLine2(0.0, 0.0, 0.0, 0.0, 0.1849, 0.0);
28 swSketchMgr.CreateLine2(0.0, 0.1849, 0.0, 0.0117, 0.1849, 0.0);
29
30 modDoc.Extension.SelectByID2("Alzado", "PLANE", 0.0, 0.0, 0.0, false, 0, null, 0);
31 modDoc.Extension.SelectByID2("Vista lateral", "PLANE", 0.0, 0.0, 0.0, true, 4, null, 0);
32 modDoc.InsertAxis2(true);
33
34 modDoc.Extension.SelectByID2("Croquis1", "SKETCH", 0.0, 0.0, 0.0, false, 0, null, 0);
35 modDoc.Extension.SelectByID2("Eje1", "AXIS", 0.0, 0.0, 0.0, true, 4, null, 0);
36 featMan.FeatureRevolve(6.28318530718, false, 0.0, 0, 0, false, false, false);
En las lı́neas 6-20 se establecen los valores de cada punto que pertenece a la curva spline.
Luego se selecciona el plano frontal (lı́nea 22), que contendrá a la curva cerrada empleada
para la extrusión por revolución. El croquis cerrado está conformada por un spline, una lı́nea
horizontal y otra vertical como se aprecia en la Figura 2.27.
Para crear un eje en este caso se ha optado por el lugar geométrico que define la intersección
de 2 planos; la intersección de los planos frontal y lateral definen un segmento que es
convertido en un eje, en las lı́neas 30-31 son seleccionados ambos planos, luego el resultado
67
de la selección es definido como un eje empleando la función miembro InsertAxis2 del objeto
modDoc.
La extrusión por revolución se crea a partir de la selección previa del croquis generador y
del eje de giro, ambos elementos creados anteriormente. A continuación en las lı́neas 34-35,
se seleccionan ambos elementos de la misma forma en que fueron seleccionados los planos
empleados para definir el eje; indicándole a la función miembro SelectByID2 que elemento
se desea seleccionar (SKETCH y AXIS respectivamente). Finalmente, seleccionados los
elementos se emplea la función miembro FeatureRevolve para realizar la extrusión por
revolución con un ángulo de giro de 360◦ , pero especificado en radianes como primer
parámetro de esa función miembro.
En las lı́neas 6-9 se extruye desde el plano frontal un rectángulo definido por dos puntos que
pertenecen a una de sus diagonales, la extrusión se realiza en ambos sentidos, con distancia
de 5 mm para ambos lados, haciendo uso de la función miembro FeatureExtrusion2 del
objeto featMan.
Entre las lı́neas 11-13 se crea un croquis constituido por un cı́rculo dibujado sobre la cara
delantera del sólido generado por la extrusión recta.
En las lı́neas 19-21 se crea un corte por revolución, para esto se seleccionan los 2 elementos
necesarios: el croquis y el eje de giro; la función miembro FeatureRevolveCut2 se encarga
de realizar la operación de corte por revolución, la cual recibe como principal parámetro el
ángulo de giro para el corte, siendo en este caso 360◦ (ver Figura 2.31).
Finalmente entre las lı́neas 23-25 se realiza una simetrı́a de la operación de corte por
revolución, para ello se necesita seleccionar la operación y el plano que servirá como
referencia para la simetrı́a. El resultado final se muestra en la Figura 2.32
Figura 2.31: Eje de revolución.
70
En las lı́neas 26-27 se crea un plano paralelo a 100 mm del plano frontal, usando la función
miembro CreatePlaneAtOffset3.
72
La lı́nea 29 selecciona el plano creado, denominado por defecto con el nombre de Plano1;
sobre el plano se dibuja un croquis que está conformado por dos cı́rculos concéntricos, de
manera tal que el área a extruir en un sólo sentido (lı́nea 33) corresponde al anillo que definen
ambos cı́rculos.
Para realizar la operación vaciado se selecciona la cara del sólido que será eliminada,
mientras que las otras tendrán un espesor uniforme de 3 mm (lı́neas 35-36).
Entre las lı́neas 38-41 se realiza un corte empleando como croquis una ranura recta, esta
operación del menú Croquis fue habilitada desde la versión 2009, para definirla se emplean
3 puntos; dos de ellos para definir su longitud y dirección, y el tercero para indicar el ancho
(lı́nea 39).
Luego en las lı́neas 43-45 se realiza un patrón lineal, reproduciendo el corte 4 veces y
espaciando cada copia 10 mm. Finalmente, en las lı́neas 47-51 se realiza un patrón circular
a través de la función miembro FeatureCircularPattern2; el patrón circular realiza una copia
del corte ası́ como del patrón lineal, reproduciéndolos 3 veces con espaciamientos iguales.
En el siguiente capı́tulo se detallan los procedimientos que se han seguido para implementar
un complemento, en este caso el complemento Engranajes UDEP.