Coder un Atelier en C++

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
Lethalo
Posts: 10
Joined: Wed Sep 08, 2021 1:46 pm

Coder un Atelier en C++

Post by Lethalo »

Bonjour,

J'ai besoin dans le cadre de mon stage de créer un atelier, j'ai déjà pu en réaliser un en python en créant quelques outils basiques.
Je viens de me lancer dans la programmation de cet atelier en C++ et là premier soucis je remarque qu'il manque de documentation sur le développement en C++ d'atelier (sur le wiki), selon vous quel est le meilleur moyen d'apprendre à créer ses commandes ? Il y a t'il de la documentation, des tutos ou des extraits de code en C++ ?
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Coder un Atelier en C++

Post by Shalmeneser »

Regarder les sources d'autres ateliers.
Quel type d'atelier ?
Lethalo
Posts: 10
Joined: Wed Sep 08, 2021 1:46 pm

Re: Coder un Atelier en C++

Post by Lethalo »

Je m'inspire de l'atelier Robot, car il n'est pas trop volumineux mais ne représente pas ce que je souhaite réaliser.
Il y a de l'assemblage (je compte reprendre ce qu'à fait Zolko sur l'assembly 4) et de la réutilisation d'objets paramétrables (variants App::Link sur la branch de realthunder)
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Coder un Atelier en C++

Post by openBrain »

A mon avis ce n'est pas une grande idée de développer un atelier en C++, sauf si on n'a pas le choix. Ça demande notamment à être compilé à chaque update de FreeCAD.
Lethalo
Posts: 10
Joined: Wed Sep 08, 2021 1:46 pm

Re: Coder un Atelier en C++

Post by Lethalo »

J'ai pu réaliser deux trois commandes basiques, après avoir correctement écrit mes CMakeLists, et effectivement je commence à avoir des doutes sur l'utilisation du c++.
J'ai la forte impression que pour communiquer avec FreeCAD et son Gui, il faut impérativement passer par Python (dans les sources des commandes, on retrouve des scripts pythons qui seront lancé comme des macros).

Est-ce qu'il y a un réel avantage à travailler en c++ hormis la rapidité d'exécution du code ? (fonctionnalité indisponible en python, problème d'héritage...?)
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Coder un Atelier en C++

Post by openBrain »

Lethalo wrote: Fri Sep 24, 2021 6:53 am J'ai la forte impression que pour communiquer avec FreeCAD et son Gui, il faut impérativement passer par Python (dans les sources des commandes, on retrouve des scripts pythons qui seront lancé comme des macros).
Non, tout est faisable en C++. Dans FreeCAD, les commandes passent par des commandes Python afin de pouvoir être enregistrable dans des macros par l'utilisateur, et pouvoir être rejouées ensuite.
Est-ce qu'il y a un réel avantage à travailler en c++ hormis la rapidité d'exécution du code ? (fonctionnalité indisponible en python, problème d'héritage...?)
Il y a certaines fonctionnalités qui ne sont pas accessibles en Python mais très peu. Et en général c'est rapidement ajouté dans le code si quelqu'un le demande. Je ne vois aucun avantage à utiliser C++ pour un workbench, à part des besoins extrêmement spécifiques.
Post Reply