.. Hidrociclon documentation master file, created by sphinx-quickstart on Tue Dec 4 11:40:19 2018. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. ################################################ Model of Cyclon ################################################ :author: Hernando Gasca Garzón - Geometría Ivan sanchez .. tabularcolumns:: | p{32pt} | p{54pt} | p{326pt} | +-----------+------------+-------------------------------------------------------------------------------------+ | 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 ------------------------------ .. code-block:: bash 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