Model of Cyclon

author:

Hernando Gasca Garzón - Geometría Ivan sanchez

Version

Date

Description

0

2019-01-29

3D Geometry INVENTOR - Mesh Salome - CFd openFoam

PY-A919 Cyclon Prodisys

In this documentation you can obtain basis for: - 3D Geometry VBA INVENTOR - Mesh 3D for Flow analisys Salome - Turbulence and multiphase fluid modeling.

Geometría Correr VBA Inventor

Private Sub CommandButton1_Click() 'Es el comando de boton

'se definen las Variables de los cuadros de dialogo donde se pondran los datos de entrada
Dim dbl1 As Double
Dim dbl2 As Double

'se define que se van a usar estos datos en alguna operacion
dbl1 = CDbl(tb1.Text)
dbl2 = CDbl(tb2.Text)

'se definen las variables que se usaran para el calculo de las formulas del hidrociclon
Dim PI As Double

'Formulas para el calculo del hidrociclon
PI = 3.1416

'se define la variable DC que es el diamtero interno del ciclon de donde se desglozan las demas
'variables que daran forma al hidrociclon
Dim DC As Double   ' diametro interno parte cilindrica superior
Dim H As Double    ' altura superior
Dim DI As Double   ' diametro a la entrada del hidrociclon
Dim Dvor As Double ' diametro del vortex la salida de material liviano
Dim LV As Double   ' longuitud que entra el tubo del vortex dentro del hidrociclon
Dim Dap As Double  ' diametro del apex la salida de material pesado
Dim HI As Double   ' altura inferior
Dim Lc As Double   ' longuitud total del hidrociclon
Dim Dp As Double   ' punto en el cual se completa el cono
Dim Ll As Double   ' lado largo rectangulo del diametro equivalente
Dim Lp As Double   ' lado peque�o rectangulo del diametro equivalente
Dim ADI As Double  ' area del diametro a la entrada del hidrociclon
Dim Lin As Double  ' longuitud de la boquilla de entrada al hidrociclon desde el centro del mismo

'Formulas para el calculo de las dimensiones del hidrociclon
DC = (dbl1 / (0.01476 * (dbl2 ^ 0.5))) ^ (1 / 1.87)
H = DC * 0.7
DI = DC / 4
Dvor = DC / 3
LV = DC * 0.4
Dap = DC * 0.15
HI = ((Dap) / 2) / (Tan(10 * (PI / 180)))
Lc = DC * 3.5
Dp = Lc - HI

'diametro equivalente a un rectangulo para la entrada al hidrociclon
ADI = (PI * ((DI / 2) ^ 2))
Lp = (ADI / 2) ^ 0.5
Ll = 2 * Lp

'longuitud de la boquilla de entrada tomada desde el eje central del hidrociclon
Lin = DC * 0.363

'mostar en los textos al lado de la imagen del ciclon los resultados de cada medida

tb6.Text = DC
tb7.Text = H
tb8.Text = DI
tb9.Text = Dvor
tb10.Text = LV
tb11.Text = Dap
tb12.Text = HI
tb13.Text = Lc

'CREAR EL HIDROCICLON COMO UNA PIEZA DE INVENTOR

  ' crear un nuevo PartDocument, usando la plantilla de pieza por defecto.
    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.Documents.Add(kPartDocumentObject, _
                ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject))

    ' Establecer una referencia a la definici�n del componente.
    Dim oCompDef As PartComponentDefinition
    Set oCompDef = oPartDoc.ComponentDefinition

    ' crear un nuevo boceto en el plano de trabajo X-Y (3).
    ' el sketch1 se refiere a que es el primer boceto y las operaciones que se realizan hasta que aparezca
    ' un nuevo boceto perteneceran a este primer boceto
    Dim oSketch1 As PlanarSketch
    Set oSketch1 = oCompDef.Sketches.Add(oCompDef.WorkPlanes(3))

    ' Establecer una referencia al objeto de geometr�a transitoria.
    Dim oTG As TransientGeometry
    Set oTG = ThisApplication.TransientGeometry

' Crear puntos cuando se quiera hacer un boceto que contenga mas de una forma geometrica, los puntos se cuentan de sucesivamente.
Dim oSkPnts As SketchPoints
Set oSkPnts = oSketch1.SketchPoints
Call oSkPnts.Add(oTG.CreatePoint2d(0, 0), False)
Call oSkPnts.Add(oTG.CreatePoint2d(DC / 2, 0), False)
Call oSkPnts.Add(oTG.CreatePoint2d(DC / 2, -H), False)
Call oSkPnts.Add(oTG.CreatePoint2d(Dap / 2, -Dp), False)
Call oSkPnts.Add(oTG.CreatePoint2d(Dap / 2, -Lc), False)
Call oSkPnts.Add(oTG.CreatePoint2d(0, -Lc), False)

' Por medio de lineas unimos los puntos anteriormente definidos, las lineas se cuentan de sucesivamente.
Dim oLines As SketchLines
Set oLines = oSketch1.SketchLines
Dim oLine(1 To 6) As SketchLine
Set oLine(1) = oLines.AddByTwoPoints(oSkPnts(1), oSkPnts(2))
Set oLine(2) = oLines.AddByTwoPoints(oSkPnts(2), oSkPnts(3))
Set oLine(3) = oLines.AddByTwoPoints(oSkPnts(3), oSkPnts(4))
Set oLine(4) = oLines.AddByTwoPoints(oSkPnts(4), oSkPnts(5))
Set oLine(5) = oLines.AddByTwoPoints(oSkPnts(5), oSkPnts(6))
Set oLine(6) = oLines.AddByTwoPoints(oSkPnts(6), oSkPnts(1))

'Se debe crear un perfil para cada boceto antes de realizar cualquier operacion.
Dim oProfile As Profile
Set oProfile = oSketch1.Profiles.AddForSolid

'se crea una revolucion  con la operacion RevolveFeature to the RevolveFeatures collection.
'Aqu� se usa el m�todo AddFull, que indica que la revoluci�n debe girar 360 grados por completo.
'La alternativa es el m�todo AddByAngle donde se define los grados de la rotacion.
'La l�nea oLine(6) se utiliza como eje de rotaci�n.
Dim oRevFeature As RevolveFeature
Set oRevFeature = oPartDoc.ComponentDefinition.Features.RevolveFeatures.AddFull _
    (oProfile, oLine(6), kJoinOperation)

'Crear un nuevo boceto2 para hacer la boquilla del vortex en el plano X-Z (2)
Dim oSketch2 As PlanarSketch
    Set oSketch2 = oCompDef.Sketches.Add(oCompDef.WorkPlanes(2))

'Crear la operacion de circulo en el boceto2
Dim oCircs As SketchCircles
Set oCircs = oSketch2.SketchCircles

'crear un circulo con las dimensiones del Dvort
Dim oCirc1 As SketchCircle
Set oCirc1 = oCircs.AddByCenterRadius( _
                                oTG.CreatePoint2d(0, 0), Dvor / 2) ' el dato inicial es el centro del circulo
                                                                  ' el dato final es el radio del circulo

'crear un circulo con las dimensiones del espesor del Dvort que es de 2mm
Dim oCirc2 As SketchCircle
Set oCirc2 = oCircs.AddByCenterRadius( _
                                oTG.CreatePoint2d(0, 0), (Dvor / 2) + 0.2)

'Se debe crear un perfil para cada boceto antes de hacer la operacion.
Set oProfile = oSketch2.Profiles.AddForSolid

' se crea la peracion oExtFeature, con la condicion AddByDistanceExtent es decir nostros definimos
'la longuitud de la operacion, puede ser Negative o PositiveExtentDirection dependiendo de la direccion
' que queramos tomar segun el origen de nuestro boceto, y puede ser Cut o JoinOperation segun sea que queramos
'cortar o crear (a�adir)
Dim oExtFeature As ExtrudeFeature
Set oExtFeature = oPartDoc.ComponentDefinition.Features.ExtrudeFeatures.AddByDistanceExtent _
    (oProfile, LV, kNegativeExtentDirection, kCutOperation)

'Crear un nuevo boceto3 para hacer la boquilla del vortex en el plano X-Y (3)
Dim oSketch3 As PlanarSketch
    Set oSketch3 = oCompDef.Sketches.Add(oCompDef.WorkPlanes(3))

'crear un rectangulo con las diemnsiones del diametro equivalente calculado
'con el comando Call es mas rapido crear las operaciones, en TwoPointRectangle se piden dos puntos
'el primero es la esquina inicial del rectangulo y el segundo es la esquina diagonal a la primera creada
Call oSketch3.SketchLines.AddAsTwoPointRectangle( _
                            ThisApplication.TransientGeometry.CreatePoint2d(DC / 2, -Ll), _
                            ThisApplication.TransientGeometry.CreatePoint2d((DC / 2) - Lp, 0))

'Se debe crear un perfil para cada boceto antes de hacer la operacion.
Set oProfile = oSketch3.Profiles.AddForSolid

' se crea la peracion oExtFeature, con la condicion AddByDistanceExtent es decir nostros definimos
'la longuitud de la operacion, puede ser Negative o PositiveExtentDirection dependiendo de la direccion
' que queramos tomar segun el origen de nuestro boceto, y puede ser Cut o JoinOperation segun sea que queramos
'cortar o crear (a�adir)
Set oExtFeature = oPartDoc.ComponentDefinition.Features.ExtrudeFeatures.AddByDistanceExtent _
    (oProfile, Lin, kPositiveExtentDirection, kJoinOperation)


End Sub