Qué fácil es para un artesano soñar con un núcleo 3D

¿Cómo se usa el núcleo geométrico 3D en el desarrollo de aplicaciones para CAD?, Dice Valery Golovanev, ingeniero analista y programador, desarrollador de aplicaciones para KOMPAS-3D. Con una introducción lírica y una profunda inmersión en el mundo de los engranajes mecánicos.

imagen

Mi tatarabuelo Efim Stepanovich (labrador, tonelero y carpintero), mi bisabuelo Trifon Efimovich (labrador y carpintero) y mi abuelo Mikhail Trifonovich (herrero, carpintero, carpintero, carpintero) fueron artesanos. Y yo soy una persona experta. Ingeniero y carpintero aficionado.

Es difícil para cualquier persona maestra ... Es difícil sin tareas interesantes, es difícil cuando no hay suficientes oportunidades para su implementación. En el carácter de una verdadera persona artesana, establecer ante sí mismo, a veces parece poco factible, realizar tareas e implementarlas.

Cuando hace seis años, en el verano de 2012, volví a mi creación: la biblioteca de diseño de cuerpos de revolución KOMPAS-Shaft (ahora la aplicación "Ejes y engranajes mecánicos 3D" para KOMPAS-3D), luego, en la impresión de mi IP, describí un par de trucos con un diente circular . En ese momento, solo soñé que algún día podría hacerlos en 3D: era más bien una especie de símbolo. Con la edad, los signos y símbolos del destino se toman con más cuidado ... ¡El objetivo se materializó!

De la rueda helicoidal a la transmisión hipoide en KOMPAS-3D


¿Cómo empezó todo? Con ganas! Realmente quería darle al diseñador modelos 3D reales de engranajes mecánicos, y no algunas "similitudes", para que pudiera:

  1. Para hacer un engranaje o una rueda helicoidal, o un asterisco de acuerdo con el modelo 3D. O una pequeña cónica con un diente circular, o (sobre sueños ...) un par hipoide.
  2. Para ver en el ensamblaje 3D no "cocodrilos" condicionales, sino modelos reales.
  3. Y además ... ¿Y por qué, de hecho, es necesario centrarse en las transmisiones mecánicas en las posibilidades (limitaciones) de la tecnología convencional? Es incorrecto infringir el diseño con tecnología. Es necesario hacer los engranajes correctos con la geometría 3D óptima de las superficies de trabajo activas desde el punto de vista de la operación, y la tecnología debe garantizar su fabricación. ¡Y tal tecnología, llamada aditivo, ya existe! Las modernas impresoras 3D industriales hacen posible imprimir productos completamente cargados con metal, y los experimentos llegan lejos: las piezas creadas por el método aditivo pronto serán comunes en un producto de construcción de máquinas, si no en masa, a pequeña escala, sin duda.

Tomó alrededor de tres años y en la primavera de 2015 decidí hacer una rueda de gusano real usando la API COMPASS. El principio de implementación en esta tarea me quedó claro durante mucho tiempo: es necesario barrer el cuerpo de la pieza de trabajo con una herramienta, es decir, simular el mecanizado en KOMPAS-3D. No quiere decir que fue fácil. Hacer un recorte con un conjunto de numerosas posiciones de herramientas es incorrecto y largo. Es necesario formar un conjunto de superficies de las posiciones de la herramienta y crear una superficie envolvente del corte a lo largo de ellas. Lo que básicamente sucedió, pero funcionó muy lentamente.

Además, era necesario agregar realismo al proceso, es decir, tener en cuenta las tolerancias en la formación de la geometría 3D. En general, habiendo resuelto un problema, quería más: más precisión, mediciones del diente de la rueda helicoidal y la formación de líderes en los dibujos con el perfil de este diente (¿y si los tecnólogos de la herramienta quieren hacer plantillas de medición?). Por cierto, en el mismo año, se fabricaron dos pares de ruedas helicoidales de acuerdo con mis modelos en la planta de Kazzinkmash, que se colocaron con éxito en unidades de trabajo y recibieron comentarios positivos.

imagen

imagen

¡Adelante! En el otoño de 2015, con la presentación (o patada) de Vladimir Panchenko, jefe de la división de aplicaciones KOMPAS-3D, y bajo la tutela de Alexei Sultanov, comencé a estudiar programación en el núcleo C3D, sobre las matemáticas en las que se basa KOMPAS-3D. ¡El objetivo es conseguir la libertad! Y lo tengo. Ya no estaba limitado por la cantidad de operaciones y procedimientos realizados. Todo sucedió lo suficientemente rápido. A la salida, tenía un cuerpo: una serie de recortes de la pieza de trabajo de la rueda helicoidal. Bueno, entonces todo es simple: la operación booleana y la rueda helicoidal están listas.


Nikolay Golovanov, Jefe de Desarrollo, C3D Labs
Algunas aplicaciones del sistema KOMPAS-3D, incluida la aplicación "Ejes y transmisiones mecánicas 3D", funcionan directamente con el núcleo geométrico C3D. Esto permite a los desarrolladores de aplicaciones un enfoque más flexible para resolver sus problemas al expandir la funcionalidad (trabajar con funciones de bajo nivel) y las técnicas para construir objetos geométricos.

Si está escribiendo una aplicación para KOMPAS-3D y desea utilizar las capacidades de C3D directamente, tiene sentido referirse al núcleo integrado en KOMPAS-3D. Este método tiene una limitación: necesita usar solo C ++, ya que es en este lenguaje donde se escribe COMPASS. Si decide trabajar con una copia separada del núcleo dentro de su propia aplicación, entonces C # y, en algunos casos, JavaScript estarán disponibles para usted.

Esto fue seguido por cilindros de engranajes externos. Parecería simple, pero mientras tanto, en el caso de un engranaje helicoidal y una operación de corte de tornillo en KOMPAS-3D, la API también tardó mucho tiempo en construirse. Ahora estos engranajes se pueden formar con un respaldo real.

Bueno, a finales de 2015, comenzó el proceso de trabajar en dientes cónicos con un diente circular.
Para ese momento, el algoritmo se había resuelto en la API COMPASS. Los primeros modelos con una geometría no muy buena se formaron antes de un día de tiempo puro. Aquí, una nota de las superficies no fue suficiente. Se crearon engranajes cónicos y fue necesario formar una rueda tratándola con un prototipo de cabezal de corte de engranajes. Luego, de acuerdo con la geometría 3D obtenida, forme y guarde el prototipo de la herramienta para el engranaje, elimine las dimensiones controladas de todo esto y transfiéralo al dibujo. Además, ya en el engranaje, dado que resultó estar perfectamente en marcha, fue necesario localizar el contacto, es decir, para garantizar la posición y el tamaño correctos del punto de contacto en el engranaje.

Una tarea difícil y muy interesante. De vez en cuando, Nikolai Golovanov y su equipo dictaminaron, según mis comentarios, la funcionalidad de C3D. Por lo tanto, mis pequeños conos también fueron una buena prueba para el núcleo.


Nikolay Golovanov, Jefe de Desarrollo, C3D Labs
Recientemente, en el núcleo geométrico de C3D, las superficies Loft construidas sobre secciones han sufrido un procesamiento significativo. Se utilizaron para simular los puntos de contacto de los engranajes.

Konichki según mis modelos se hicieron repetidamente en diferentes empresas y trabajan en nodos reales. El algoritmo de localización ha sido resuelto.

imagen

Pero era difícil detenerse en esto. Tal localización no me convenía. Fue demasiado difícil de proporcionar. Y en la primavera de 2018, surgió la idea de una forma de localización más "simple". En realidad, la idea no es mía, la observé en los materiales de la compañía Klingelnberg: la llaman perfil y coronación longitudinal .

imagen

Lo llamé "hacer un diente con una loma", que sucedió. En cada sección del perfil del recorte, se hizo un recuento y el montículo fue un éxito. Los coeficientes de localización se han vuelto más simples y entendibles.

imagen

Brevemente sobre el resultado: el punto de contacto, y este es un conjunto de áreas de contacto instantáneo en el diente del engranaje por un ciclo de su rotación = 360 / número de dientes del engranaje, AHORA SIEMPRE se encuentra en el medio de la superficie activa del diente (en la parte superior de la "loma"), su tamaño es más del 60% Toda la superficie.

¿Qué da?

  • los engranajes serán más duraderos y confiables
  • el ruido en la transmisión disminuirá
  • La transmisión será menos sensible a los errores de montaje.

Es cierto que hasta ahora será posible fabricarlos solo en CNC, pero las tecnologías aditivas también se incorporarán en el futuro.

Bueno, al final ... Este año se realizó la transmisión del sueño, mi sueño más difícil hoy es la transmisión hipoide. Mucho por hacer para esto ... Seis años después de regresar al desarrollo CAD. Aunque en realidad el camino comenzó en 1991 con un proyecto personalizado para crear software para calcular engranajes cónicos con un diente circular.

imagen

Naturalmente, el "montículo" del diente se implementa en ellos.

imagen


Vladimir Panchenko, Jefe de la División de Aplicaciones KOMPAS-3D, ASCON
El uso del núcleo en la aplicación "Ejes y transmisiones mecánicas" fue impulsado por la revisión de "Kazzinkmash". Para mí era obvio que puedes construir más rápido, todo lo que quedaba era convencer a Valery de esto. Una circunstancia agravante fue que a Valery no le gustaba C ++, y puede usar las funciones C3D en el contexto de KOMPAS-3D solo en este lenguaje de programación. Tuve que hacer un diseño, gracias a Alexei Sultanov.

Una simple traducción del código en la frente de inmediato dio una ganancia tangible de velocidad: el modelo exacto del diente de la rueda helicoidal se construyó en 10 segundos. La rueda de gusano se construyó en la API durante aproximadamente una hora.

Bueno, entonces el dominio de Valery permitió crear cónicas con un diente circular.
Así es como elevamos el proyecto de Ejes y Transmisiones Mecánicas a un nivel completamente nuevo.

Cómo funciona el núcleo 3D en la simulación de engranajes mecánicos


Las operaciones más comunes se utilizan desde la funcionalidad del núcleo: crear un plano, construir un boceto / superficie / intersección de superficies, etc.

Como ejemplo, considere la secuencia de operaciones necesarias para formar un modelo 3D de un corte de una rueda cónica con dientes circulares (es decir, ruedas, no engranajes):

  1. Formamos la superficie de los conos: el cono divisorio, el cono de los picos y el cono de los canales. Para hacer esto, se crean planos a las distancias calculadas correspondientes y se crean bocetos de círculos de los diámetros calculados, y los conos ya se basan en ellos.
  2. Dibujamos los puntos de los centros del cono divisorio y el cono de los canales.
  3. A continuación, se forma un plano tangente al cono de las depresiones (1) y un plano a lo largo del punto medio de la rueda en la depresión (2). En la intersección del plano (1) y el plano XOY, se forma el eje de intersección (3), y en la intersección del plano (2) y el plano (1), se forma el eje de intersección (4).
  4. En la intersección de estos ejes habrá un punto a través del cual pasa la parte superior del cabezal de corte del engranaje.

    imagen
  5. A partir de este punto, conociendo el ángulo de inclinación promedio de los dientes (justo en este punto), calculamos el centro del cabezal de corte del engranaje.
  6. Las proyecciones del medio arco del cabezal de corte de engranajes en los conos de los canales (5) y el cono divisor serán nuestras guías. En esta guía (5) se construirá la superficie base del corte (un loft en tres secciones con el perfil calculado del cabezal de corte de engranajes).

    imagen
  7. Además, al tener un procedimiento para realizar una operación similar en diferentes ángulos de rotación del cabezal de corte de engranajes cuando se mecaniza la rueda, obtenemos una serie de superficies de corte (6).

    imagen
  8. Después de eso, en un número suficiente de secciones (al menos 20) en planos normales a la guía (la proyección del medio arco del cabezal de corte del engranaje en el cono divisor), se obtendrán conjuntos de líneas de intersección de la matriz de superficie.

    imagen
  9. El procesamiento matemático del conjunto resultante de líneas de intersección le permitirá obtener su envolvente, que será una de las secciones del corte real del diente de la rueda.

    imagen
  10. En función de la totalidad de estas secciones de los recortes, se construirá el loft final: el corte del diente de la rueda.

    imagen

    imagen

    imagen
  11. Las dimensiones de control, el perfil del diente en sí mismo y todo esto se transferirá al dibujo se tomarán automáticamente de la geometría obtenida (se construye un diente, se crea una sección y se crea una sección y se calcula de acuerdo con ella).

    imagen

    imagen
  12. Todo es bastante simple, aunque en este caso particular, y sin tener en cuenta los "pequeños" matices de los cálculos matemáticos ocultos a los ojos de los lectores.


¿Qué más se necesita para el maestro en este caso? ¡Imaginación espacial, fantasía y la capacidad de soñar al final!


Vladimir Panchenko, Jefe de la División de Aplicaciones KOMPAS-3D, ASCON
¿Qué es más rápido API KOMPAS-3D o C3D? La pregunta suena paradójica. ¡C3D es el núcleo geométrico KOMPAS-3D! Cómo funciona el núcleo, también lo hace COMPASS-3D. Pero tras una inspección más cercana, especialmente en el contexto del desarrollador de la aplicación, todo encaja.

El esquema estándar para el desarrollador se ve así. La llamada de la función API KOMPAS-3D lleva a la adición de un objeto al modelo de documento, y luego para crear la geometría, vamos a C3D. Luego, a lo largo de la cadena, en el orden inverso, los datos se devuelven a la API, y ahora en manos del desarrollador la interfaz del objeto creado.

Al mismo tiempo, sucede algo con los datos en cada paso: en la API se empaquetan en COM, en el modelo de documento se verifica que sean correctos en el contexto actual, se agregan atributos y datos de dibujo. Por supuesto, todas estas acciones están optimizadas y toman muy poco tiempo. Si un desarrollador necesita obtener un paso de eje cilíndrico, crea un boceto y una operación de extrusión en KOMPAS-3D: solo dos objetos y dos llamadas a lo largo de la cadena. Pero la situación está cambiando fundamentalmente en el caso de la geometría de un engranaje cónico con un diente circular. Para hacer esto, necesita crear muchas curvas auxiliares, superficies (y todos estos no son cilindros analíticos y conos, sino NURBS), sus intersecciones. El bombeo de datos comienza a tomar una cantidad significativa de tiempo. El núcleo estará mayormente inactivo. Para evitar pérdidas de tiempo, se minimiza la interacción con la API y el modelo de documento: agregue una operación con el cuerpo y tome el cuerpo, que está modelado en C3D. Obtenemos una entrada en C3D y de manera óptima en la pila creamos toda la geometría auxiliar, intersectamos lo que se necesita y obtenemos el resultado. Solo el núcleo funciona y funciona muy rápido.


Valery Golovanev , analista y programador, Kurgan, pos. Cálido Stan.

Source: https://habr.com/ru/post/es421191/


All Articles