Ce développeur travaille sur un logiciel de conception ou autour de lui. Il écrit des opérations de modélisation (booléens, congés, extrusions), des imports et exports STEP ou IGES, des algorithmes de maillage, la visualisation 3D en OpenGL ou Vulkan, ou des modules ajoutés à un logiciel du marché par son API : CAA pour CATIA et 3DEXPERIENCE, API SOLIDWORKS, NX Open, API Inventor. Les noyaux géométriques qui reviennent dans les offres sont Open CASCADE Technology (OCCT), Parasolid et ACIS.
Les candidats se partagent entre deux profils. Le premier vient des mathématiques appliquées ou de la géométrie algorithmique et connaît les NURBS, les B-rep et la robustesse numérique. Le second vient du C++ applicatif ou du jeu vidéo et maîtrise le rendu et la performance. Peu de candidats ont les deux. Décidez avant l'entretien lequel compte le plus pour le poste, puis vérifiez l'autre au niveau attendu.
Partez des problèmes que rencontrent ces équipes : un booléen qui échoue sur deux faces presque coplanaires, un fichier STEP importé avec des trous, un assemblage qui rame à un million de triangles. Le PDF ajoute un cas de 20 minutes sur une chaîne d'import et de contrôle de pièces STEP.
Noyaux, formats et API d'un développeur CAO / 3D
C++ moderne
Le langage commun des noyaux et des logiciels de CAO. On attend la gestion fine de la mémoire et de la durée de vie des objets (pointeurs intelligents, handles à comptage de références comme dans OCCT), les templates, le multithreading et l'aisance dans un code ancien de plusieurs millions de lignes.
B-rep (représentation par les bords)
La représentation des solides dans les noyaux de CAO : un solide est décrit par ses faces, arêtes et sommets, reliés par une topologie, et chaque face s'appuie sur une surface géométrique. Les bugs les plus coûteux viennent d'une topologie incohérente ou de tolérances mal gérées entre faces voisines.
NURBS et surfaces paramétriques
Les courbes et surfaces B-spline rationnelles qui décrivent les formes libres. Évaluation, insertion de nœuds, projection d'un point, intersection de deux surfaces : ces calculs reviennent partout dans un modeleur. Le candidat doit en connaître le principe, même s'il s'appuie sur un noyau existant.
Open CASCADE Technology (OCCT)
Le noyau géométrique open source, sous licence LGPL 2.1 avec exception, en version 8.0. Il couvre la modélisation, les booléens, le maillage, la visualisation, la réparation de formes (Shape Healing), l'échange de données et un cadre applicatif (OCAF). FreeCAD et de nombreux outils industriels reposent dessus.
Parasolid et ACIS
Les noyaux commerciaux, Parasolid chez Siemens et ACIS chez Spatial, filiale de Dassault Systèmes. Ils équipent beaucoup de logiciels du marché sous licence. L'expérience d'un noyau se transpose en partie à un autre : topologie, tolérances et booléens reposent sur les mêmes idées, seules les API diffèrent.
STEP, IGES et formats de maillage
STEP (ISO 10303, protocoles AP203, AP214 et AP242) est le format d'échange de référence entre logiciels de CAO, IGES un format plus ancien qu'on reçoit encore. Les imports posent des problèmes connus : unités, tolérances différentes d'un logiciel à l'autre, faces mal cousues. Les maillages circulent en STL, OBJ, 3MF ou glTF.
OpenGL, Vulkan et rendu
OpenGL reste répandu dans les logiciels de CAO existants ; Vulkan, ou Direct3D sous Windows, apparaît dans les développements récents. Le développeur gère la tessellation des surfaces pour l'affichage, la sélection à la souris, le tracé des arêtes et silhouettes, et la fluidité sur des assemblages lourds.
API des logiciels de CAO
CAA V5 et CAA pour 3DEXPERIENCE chez Dassault Systèmes, API SOLIDWORKS (COM, souvent en C# ou en C++), NX Open chez Siemens, API Inventor chez Autodesk. Ces postes demandent de connaître le modèle objet du logiciel hôte autant que la géométrie.
Qt pour l'interface
Le framework d'interface de beaucoup de logiciels techniques, avec une vue 3D intégrée dans des fenêtres Qt. La boucle d'événements, le threading et l'intégration d'un contexte OpenGL ou Vulkan dans un widget reviennent en entretien.
Les postes se répartissent selon la couche du logiciel. Tout en bas, le noyau lui-même : intersections, booléens, réparation de formes, avec une forte part de mathématiques. Au-dessus, les fonctions d'un modeleur, d'un outil de préparation de maillage pour la simulation ou d'un module d'import. Plus haut encore, la visualisation et l'interface, ou des modules ajoutés à un logiciel du marché par son API. Un développeur de plugins SOLIDWORKS et un développeur de noyau n'ont pas le même métier, même si les deux annonces parlent de CAO. La robustesse est le sujet commun : un modèle réel contient des faces minuscules, des tolérances incohérentes et des géométries presque dégénérées, et le code doit les traiter sans planter ni corrompre le modèle.
Ce que l'entretien d'un développeur CAO doit couvrir
- C++ moderne et architecture d'un modeleur
- Géométrie algorithmique et surfaces NURBS
- Topologie B-rep et noyaux géométriques
- Robustesse numérique et tolérances
- Échange de données et maillage
- Rendu 3D et interaction
Cinq questions sur les tolérances, les surfaces et le rendu
Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.
Question 1 · confirmé
Un modèle de 20 000 faces met 30 secondes à se reconstruire après le changement d'un paramètre. Comment trouvez-vous où passe le temps ?
Une bonne réponseUn profilage avant toute modification (perf, VTune, profileur de Visual Studio), puis la recherche des recalculs inutiles : tout l'historique reconstruit alors qu'une seule fonction dépend du paramètre, des intersections recalculées faute de cache, des copies de formes, des allocations dans les boucles. Pistes : un graphe de dépendances qui ne recalcule que l'aval, un cache des résultats intermédiaires, la parallélisation des opérations indépendantes sans données partagées.
Signal d'alerteParalléliser toute la reconstruction d'emblée, sans mesure ni réflexion sur les données partagées.
Question 2 · confirmé
Comment calculez-vous le point d'une surface NURBS le plus proche d'un point donné ?
Une bonne réponseUne estimation de départ par échantillonnage de la surface ou de sa tessellation, puis une méthode de Newton sur les paramètres (u, v) qui annule le produit scalaire entre le vecteur d'écart et les dérivées partielles, en restant dans le domaine paramétrique. La personne cite les pièges : plusieurs minima locaux, convergence vers un bord, surfaces dégénérées aux pôles. Dans OCCT, GeomAPI_ProjectPointOnSurf fait ce calcul.
Signal d'alerteÉchantillonner très finement et prendre le point le plus proche, sans raffinement ni idée de la précision obtenue.
Question 3 · confirmé
Un booléen entre deux solides échoue alors que les deux pièces paraissent correctes. Que vérifiez-vous ?
Une bonne réponseLa validité de chaque solide (BRepCheck_Analyzer dans OCCT, ou l'équivalent du noyau), les tolérances des arêtes et des sommets, des faces presque coplanaires ou tangentes entre les deux pièces, des arêtes très courtes. Pistes : réparer les formes (Shape Healing), utiliser l'option de booléen avec tolérance supplémentaire (valeur fuzzy dans OCCT), ou décaler légèrement une pièce si la conception le permet. Le cas rejoint ensuite la base de tests.
Signal d'alerteRéessayer avec une autre opération jusqu'à ce que ça passe, sans comprendre la cause.
Question 4 · confirmé
Deux arêtes qui devraient se rejoindre laissent un écart de 10⁻⁶ mm après un import. Comment le code doit-il traiter ce cas ?
Une bonne réponseAvec des tolérances explicites plutôt que des égalités de flottants : chaque sommet et chaque arête porte une tolérance, et deux entités sont confondues si leur écart est sous cette tolérance. La personne connaît le piège des tolérances qui grossissent au fil des opérations jusqu'à fusionner des éléments distincts. À l'import, une couture des faces (sewing) avec une tolérance adaptée aux unités du fichier.
Signal d'alerteComparer des coordonnées avec ==, ou une tolérance unique très large « pour être tranquille ».
Question 5 · confirmé
Un fichier STEP s'importe avec des faces manquantes et des trous. Comment traitez-vous le problème ?
Une bonne réponseD'abord lire le fichier : logiciel d'origine, protocole (AP203, AP214, AP242), unités, tolérance déclarée. Ensuite contrôler le résultat de l'import avec l'analyseur de formes, appliquer une réparation (Shape Healing dans OCCT : correction des boucles, couture des faces, ajustement des tolérances) et comparer au modèle d'origine (volume, nombre de faces). La personne distingue ce qui vient du fichier et ce qui vient de l'import.
Signal d'alerteDemander chaque fois au client de renvoyer le fichier dans un autre format.
Recevez la fiche d'entretien complète en PDF
La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.
- 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
- Le niveau visé pour chaque question
- Une mise en situation de 20 minutes et ce qu'on attend du candidat
- La grille d'évaluation de 1 à 4, axe par axe
Développeur CAO / 3D : les doutes avant l'embauche
Faut-il exiger une expérience d'OCCT, de Parasolid ou de CAA ?
Pour un poste de développement sur l'API d'un logiciel du marché, comme CAA ou l'API SOLIDWORKS, l'expérience de cette API fait gagner plusieurs mois, car le modèle objet est vaste. Pour un poste sur un noyau, un candidat qui connaît bien un noyau apprend l'autre assez vite : B-rep, tolérances et booléens fonctionnent sur les mêmes principes. Demandez quelles opérations la personne a écrites ou corrigées, pas seulement quel noyau figure sur son CV.
Quel niveau de mathématiques demander à un développeur CAO / 3D ?
Pour un poste de noyau ou de modélisation : algèbre linéaire, géométrie différentielle des courbes et surfaces, méthodes de Newton, notions d'arithmétique flottante. Pour un poste de visualisation : transformations, projections, quaternions et géométrie de base. Pour un poste de plugins, les besoins sont plus légers. Vérifiez par un calcul concret, comme projeter un point sur une surface, plutôt que par une liste de notions.
Un développeur de jeu vidéo peut-il passer à la CAO ?
Pour la visualisation, souvent oui : rendu, performance et C++ se transposent bien. L'écart porte sur l'exactitude. Un moteur de jeu travaille sur des maillages et tolère l'approximation, un logiciel de CAO manipule des surfaces exactes et des tolérances de l'ordre du micromètre. Testez la sensibilité du candidat à la robustesse numérique et sa compréhension du B-rep avant de lui confier autre chose que l'affichage.
Quel test technique pour un développeur CAO / 3D ?
Un exercice d'une heure en C++ sur un sujet géométrique borné : intersection d'un segment et d'un triangle, test d'appartenance d'un point à un polygone, ou calcul du volume d'un maillage fermé. Demandez à la personne de traiter les cas limites et d'expliquer ses tolérances. Pour un poste sur un noyau existant, une lecture de code avec un bug de tolérance à trouver fonctionne aussi.
Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.




