Comme il est facile pour un artisan de rêver avec un noyau 3D

Comment le noyau géométrique 3D est utilisé dans le développement d'applications pour la CAO, explique Valery Golovanev, ingénieur analyste et programmeur, développeur d'applications pour KOMPAS-3D. Avec une introduction lyrique et une immersion profonde dans le monde des engrenages mécaniques.

image

Mon arrière-arrière-grand-père Efim Stepanovich (un laboureur, un tonnelier et un charpentier), mon arrière-grand-père Trifon Efimovich (un laboureur et un charpentier) et mon grand-père Mikhail Trifonovich (un forgeron, un charpentier, un charpentier, un tonnelier) étaient des artisans. Et je suis une personne qualifiée. Ingénieur et menuisier amateur.

C'est difficile pour tout maître ... C'est difficile sans tâches intéressantes, c'est difficile quand il n'y a pas assez d'opportunités pour leur mise en œuvre. Dans le caractère d'un véritable artisan, se mettre en avant, semblant parfois peu réalisable, les tâches et les mettre en œuvre.

Il y a six ans, à l'été 2012, je suis retourné à mon idée originale - la bibliothèque de conception de corps de révolution KOMPAS-Shaft (maintenant l'application «Shafts and 3D mechanical pears» pour KOMPAS-3D), puis sur l'impression de mon IP, j'ai représenté une paire de tours avec une dent circulaire . À ce moment-là, je rêvais seulement qu'un jour je pourrais les faire en 3D - c'était plutôt une sorte de symbole. Avec l'âge, les signes et symboles du destin sont pris avec plus de soin ... Le but s'est matérialisé!

De la roue à vis sans fin à la transmission hypoïde dans KOMPAS-3D


Comment tout a commencé? Avec envie! Je voulais vraiment donner au concepteur de vrais modèles 3D d'engrenages mécaniques, et non pas quelques «similitudes», afin que vous puissiez:

  1. Pour réaliser un engrenage ou une roue à vis sans fin, ou un astérisque selon le modèle 3D. Ou une petite conique avec une dent circulaire, ou (à propos des rêves ...) une paire hypoïde.
  2. A voir dans l'assemblage 3D non pas des «crocodiles» conditionnels, mais de vrais modèles.
  3. Et plus loin ... Et pourquoi, en fait, il est nécessaire de se concentrer sur les transmissions mécaniques sur les possibilités (limites) de la technologie conventionnelle? Il est faux d'enfreindre le design avec la technologie. Il est nécessaire de fabriquer les bons engrenages avec la géométrie 3D optimale des surfaces de travail actives du point de vue du fonctionnement, et la technologie devrait garantir leur fabrication. Et une telle technologie, appelée additif, existe déjà! Les imprimantes 3D industrielles modernes permettent d'imprimer des produits entièrement chargés avec du métal, et les expériences vont loin: les pièces créées par la méthode additive seront bientôt monnaie courante dans un produit de construction mécanique, sinon en masse, puis à petite échelle - c'est sûr.

Cela a pris environ trois ans et au printemps 2015, j'ai décidé de fabriquer une véritable roue à vis sans fin en utilisant l'API COMPASS. Le principe de mise en œuvre dans cette tâche était clair pour moi depuis longtemps: il est nécessaire de balayer le corps de la pièce avec un outil, c'est-à-dire simuler l'usinage dans KOMPAS-3D. Pour ne pas dire que c'était facile. Faire une découpe avec un ensemble de nombreuses positions d'outils est incorrect et long. Il est nécessaire de former un ensemble de surfaces des positions d'outil et de créer une surface enveloppe de la coupe le long de celles-ci. Ce qui s'est essentiellement produit, mais cela a fonctionné très lentement.

De plus, il était nécessaire d'ajouter du réalisme au processus, c'est-à-dire de prendre en compte les tolérances dans la formation de la géométrie 3D. En général, après avoir résolu un problème, je voulais plus - plus de précision, des mesures de la dent de la roue à vis sans fin et la formation de leaders dans les dessins avec le profil de cette dent (et si les technologues en outils voulaient faire des gabarits de mesure?). Soit dit en passant, la même année, deux paires de roues à vis sans fin ont été fabriquées selon mes modèles à l'usine de Kazzinkmash, qui ont été placées avec succès dans des unités de travail et ont reçu des commentaires positifs.

image

image

Allez-y! À l'automne 2015, avec le dépôt (ou coup de pied) de Vladimir Panchenko, chef de la division Application KOMPAS-3D, et sous la tutelle d'Alexei Sultanov, j'ai commencé à étudier la programmation sur le noyau C3D, sur les mathématiques desquelles KOMPAS-3D est construit. Le but est d'obtenir la liberté! Et je l'ai compris. Je n'étais plus limité par le nombre d'opérations et de procédures effectuées. Tout s'est passé assez vite. À la sortie, j'avais un corps - une série de découpes de la pièce de la roue à vis sans fin. Eh bien, alors tout est simple: l'opération booléenne et la roue à vis sont prêtes.


Nikolay Golovanov, responsable du développement, C3D Labs
Certaines applications du système KOMPAS-3D, dont l'application «Arbres et transmissions mécaniques 3D», fonctionnent directement avec le noyau géométrique C3D. Cela permet aux développeurs d'applications une approche plus flexible pour résoudre leurs problèmes en étendant les fonctionnalités (en travaillant avec des fonctions de bas niveau) et les techniques de construction d'objets géométriques.

Si vous écrivez une application pour KOMPAS-3D et que vous souhaitez utiliser directement les capacités de C3D, il est logique de se référer au noyau intégré à KOMPAS-3D lui-même. Cette méthode a une limitation: vous devez utiliser uniquement C ++, car c'est dans ce langage que COMPASS lui-même est écrit. Si vous décidez de travailler avec une copie distincte du noyau dans votre propre application, alors C # et, dans certains cas, JavaScript seront à votre disposition.

Cela a été suivi par des cylindres d'engrenages externes. Cela semblerait simple, mais en attendant, dans le cas d'un engrenage hélicoïdal et d'une opération de coupe de vis dans KOMPAS-3D, l'API a également pris beaucoup de temps à construire. Maintenant, ces engrenages peuvent être formés avec un véritable support.

Eh bien, fin 2015, le processus de travail sur les dents coniques à dent circulaire a commencé.
À ce moment-là, l'algorithme a été élaboré sur l'API COMPASS. Les premiers modèles à géométrie pas très bonne se sont formés avant une journée de temps pur. Ici, une note des surfaces n'était pas suffisante. Des engrenages coniques de rodage ont été créés et il a fallu former une roue en la traitant avec un prototype de tête de coupe d'engrenage. Ensuite, selon la géométrie 3D obtenue, formez et enregistrez le prototype de l'outil pour l'engrenage, supprimez les dimensions contrôlées de tout cela et transférez-le dans le dessin. De plus, déjà sur l'engrenage, étant donné qu'il s'est avéré être parfaitement rodé, il était nécessaire de localiser le contact, c'est-à-dire d'assurer la position et la taille correctes du point de contact dans l'engrenage.

Une tâche difficile et très intéressante. Parfois, Nikolai Golovanov et son équipe ont jugé, selon mes remarques, la fonctionnalité du C3D. Ainsi, mes petits cônes étaient également un bon test pour le noyau.


Nikolay Golovanov, responsable du développement, C3D Labs
Récemment, dans le noyau géométrique de C3D, les surfaces Loft construites sur des sections ont subi un traitement important. Ils ont été utilisés pour simuler les points de contact des engrenages.

Konichki selon mes modèles ont été réalisés à plusieurs reprises dans différentes entreprises et travaillent dans de vrais nœuds. L'algorithme de localisation a été élaboré.

image

Mais il était difficile de s'y attarder. Une telle localisation ne me convenait pas. C'était trop difficile à fournir. Et au printemps 2018, l'idée est venue d'un mode de localisation plus «simple». En fait, l'idée n'est pas la mienne, je l'ai espionnée dans les matériaux de la société Klingelnberg - ils l'ont appelée profil et couronnement longitudinal .

image

Je l'ai appelé "faire une dent avec une butte", ce qui s'est produit. Dans chaque section du profil de la découpe, son recomptage a été effectué et le monticule a été un succès. Les coefficients de localisation sont devenus plus simples et compréhensibles.

image

En bref sur le résultat: un point de contact, et ceci est un ensemble de zones de contact instantanées sur la dent d'engrenage par un cycle de sa rotation = 360 / nombre de dents d'engrenage, MAINTENANT TOUJOURS est situé au milieu de la surface active de la dent (en haut du «knoll»), sa taille est supérieure à 60% toute la surface.

Qu'est-ce que ça donne:

  • les engrenages seront plus durables et fiables
  • le bruit dans la transmission diminuera
  • la transmission sera moins sensible aux erreurs de montage.

Certes, il sera possible de les fabriquer uniquement sur CNC jusqu'à présent, mais les technologies additives seront également développées à l'avenir.

Eh bien, à la fin ... Cette année, la transmission du rêve a été réalisée, mon rêve le plus difficile aujourd'hui est la transmission hypoïde. Il restait beaucoup à faire pour cela ... Six ans après le retour au développement CAO. Bien qu'en réalité, le chemin a commencé en 1991 avec un projet personnalisé pour créer un logiciel pour calculer les engrenages coniques avec une dent circulaire.

image

Naturellement, le "monticule" de dent y est implémenté.

image


Vladimir Panchenko, chef de la division des applications KOMPAS-3D, ASCON
L'utilisation du noyau dans l'application «Arbres et transmissions mécaniques» a été motivée par la révision de «Kazzinkmash». Il était évident pour moi que vous pouvez construire plus vite, il ne restait plus qu'à en convaincre Valéry. Une circonstance aggravante était que Valery n'aimait pas C ++, et vous ne pouvez utiliser les fonctions C3D dans le contexte de KOMPAS-3D que dans ce langage de programmation. J'ai dû faire une mise en page, grâce à Alexei Sultanov.

Une simple traduction du code dans le front a immédiatement donné un gain tangible de vitesse: le modèle exact de la dent de la roue à vis sans fin a été construit en 10 secondes. La roue à vis sans fin a été construite sur l'API pendant environ une heure.

Eh bien, la maîtrise de Valery a permis de créer une conique avec une dent circulaire.
C'est ainsi que nous avons élevé le projet Arbres et transmissions mécaniques à un tout autre niveau.

Fonctionnement du noyau 3D dans la simulation des engrenages mécaniques


Les opérations les plus courantes sont utilisées à partir de la fonctionnalité du noyau: créer un plan, construire une esquisse / surface / intersection de surfaces, etc.

À titre d'exemple, considérons la séquence d'opérations nécessaires pour former un modèle 3D d'une découpe d'une roue conique à dents circulaires (à savoir des roues, pas des engrenages):

  1. Nous formons la surface des cônes - le cône de division, le cône des pics et le cône des auges. Pour ce faire, des plans sont créés aux distances calculées correspondantes et des esquisses de cercles des diamètres calculés sont construits sur eux, et les cônes sont déjà basés sur eux.
  2. Nous dessinons les points des centres du cône diviseur et du cône d'auges.
  3. Ensuite, un plan tangent au cône des dépressions (1) et un plan le long du milieu de la roue dans la dépression (2) sont formés. À l'intersection du plan (1) et du plan XOY, l'axe d'intersection (3) est formé, et à l'intersection du plan (2) et du plan (1), l'axe d'intersection (4) est formé.
  4. À l'intersection de ces axes, il y aura un point par lequel passe le sommet de la tête de coupe de l'engrenage.

    image
  5. À partir de ce point, connaissant l'angle d'inclinaison moyen des dents (juste à ce point), nous calculons le centre de la tête de coupe de l'engrenage.
  6. Les projections du demi-arc de la tête de coupe des engrenages sur les cônes des goulottes (5) et du cône diviseur seront nos guides. Sur ce guide (5), la surface de base de la découpe sera construite (un loft en trois sections avec le profil calculé de la tête de coupe de l'engrenage).

    image
  7. De plus, ayant une procédure pour effectuer une opération similaire à différents angles de rotation de la tête de coupe d'engrenage lors de l'usinage de la roue, nous obtenons un ensemble de surfaces découpées (6).

    image
  8. Après cela, dans un nombre suffisant de sections (au moins 20) dans des plans normaux au guide (la projection du demi-arc de la tête de coupe de l'engrenage sur le cône de division), des ensembles de lignes d'intersection du réseau de surfaces seront obtenus.

    image
  9. Le traitement mathématique de l'ensemble de lignes d'intersection résultant vous permettra d'obtenir leur enveloppe, qui sera l'une des sections de la découpe réelle de la dent de la roue.

    image
  10. Sur la base de la totalité de ces sections des découpes, le grenier final sera construit - la découpe de la dent de la roue.

    image

    image

    image
  11. Les dimensions de contrôle, le profil de dent lui-même, et tout cela sera transféré au dessin seront automatiquement pris à partir de la géométrie obtenue (une dent est construite, une section est faite et une section est faite et calculée en fonction de celle-ci).

    image

    image
  12. Tout est assez simple, bien que dans ce cas particulier, et sans tenir compte des «petites» nuances des calculs mathématiques cachées aux yeux des lecteurs.


Quoi d'autre est nécessaire pour le maître dans ce cas? Imagination spatiale, fantaisie et capacité de rêver à la fin!


Vladimir Panchenko, chef de la division des applications KOMPAS-3D, ASCON
Qu'est-ce que l'API KOMPAS-3D ou C3D plus rapide? La question semble paradoxale. C3D est le noyau géométrique KOMPAS-3D! Comment fonctionne le noyau, COMPASS-3D aussi. Mais en y regardant de plus près, en particulier dans le contexte du développeur d'application, tout se met en place.

Le schéma standard pour le développeur ressemble à ceci. L'appel de la fonction API KOMPAS-3D conduit à l'ajout d'un objet au modèle de document, puis pour créer la géométrie, on passe au C3D. Puis le long de la chaîne, dans l'ordre inverse, les données sont renvoyées à l'API, et maintenant entre les mains du développeur l'interface de l'objet créé.

Dans le même temps, quelque chose se passe avec les données à chaque étape: dans l'API, elles sont empaquetées dans COM, dans le modèle de document, leur exactitude est vérifiée dans le contexte actuel, des attributs et des données de dessin sont ajoutés. Bien entendu, toutes ces actions sont optimisées et prennent très peu de temps. Si un développeur doit obtenir une étape d'arbre cylindrique, il crée une esquisse et une opération d'extrusion dans KOMPAS-3D - seulement deux objets et deux appels le long de la chaîne. Mais la situation est en train de changer fondamentalement dans le cas de la géométrie pour un engrenage conique à dent circulaire. Pour ce faire, vous devez créer de nombreuses courbes auxiliaires, surfaces (et tout cela ne sont pas des cylindres et des cônes analytiques, mais des NURBS), leurs intersections. Le pompage des données commence à prendre beaucoup de temps. Le noyau sera principalement inactif. Pour éviter les pertes de temps, l'interaction avec l'API et le modèle de document est minimisée - ajoutez une opération avec le corps et prenez le corps, qui est modélisé en C3D. Nous obtenons une entrée dans C3D et de manière optimale sur la pile, nous créons toute la géométrie auxiliaire, coupons ce qui est nécessaire et obtenons le résultat. Seul le noyau fonctionne et fonctionne très rapidement.


Valery Golovanev , analyste et programmeur, Kurgan, pos. Warm Stan.

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


All Articles