Aller au contenu

programmer AutoCAD (delphi, c++, vb)


amine.btp

Messages recommandés

Bonjour

 

je veux me lancer dans la programmation des logiciels travaillant dans l’environnement d'AutoCAD, j'ai bien trouvé VBA mais ce dernier va disparaitre des prochaines versions d'AutoCAD, il y a aussi Lisp mais je connais rien en de langage et en plus toutes la documentation trouvées est en anglais. Par contre je maitrise Pascal (Delphi) et c++, et donc je cherche si je peux accéder aux commandes d'acad à partir de cs langages, je veux prendre des flaches dans ce sujet là pour trouver de quoi commencer.

 

merci pour votre aide.

 

cordialement.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Si on écarte le VBA, AutoCAD supporte 3 environnements de programmation. Du plus puissant (ou plus complet) au plus facile d'accés :

  • ObjectARX, langage : C++ ;
  • ObjectARX "managé" (API AutoCAD.NET), langages : C#, VB.net, F# (ainsi que tous les autres langages supportés par l'environnement .NET) ;
  • Visual LISP, langage AutoLISP avec possibilité d'accéder à l'interface COM/ActiveX.

Dans tous les cas, la documentation "officielle" est en anglais, les ressources sur internet, éventuellement en français, sont très nombreuses pour AutoLISP, plus rares pour .NET et quasi confidentielles pour ObjectARX/C++.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je souhaite également apprendre à programmer. Je pensais commencer par le Lisp avant de d'apprendre le C#.

 

Est-ce une bonne démarche ou est-ce que le C# suffi ?

 

Les deux langages ont'ils un point commun ou sont-ils totalement différents ?

 

Je précise qu'actuellement je connais assez bien autocad mais je n'ai aucune conaissance en programmation.

Lien vers le commentaire
Partager sur d’autres sites

waakabayashi,

 

AutoLISP et C# sont vraiment très différents.

 

AutoLISP est un langage dédié à AutoCAD (et inutilisable en dehors d'AutoCAD (ou de ses clones)), C# est un langage de l'environnement .NET qui permet de programmer AutoCAD (via l'API AutoCAD .NET) mais aussi Windows, voire d'autres systèmes (Mac OS, UNIX via le projet Mono), de faire de la programmation Web, etc.

 

Si les deux sont multi-paradigme, AutoLISP est une langage à typage dynamique issu du LISP et privilégie la programmation fonctionnelle, C#, langage à typage statique fort, privilégie la programmation orientée objet.

 

L'apprentissage d'AutoLISP est incomparablement plus facile et moins exigeant, voire ingrat, (on arrive très rapidement à écrire des routines simples), mais C# est beaucoup plus puissant.

 

Donc, si ton but est de programmer AutoCAD, je te conseille vivement AutoLISP, quitte à passer plus tard à C# même si les connaissances acquises en LISP ne t'aideront pas beaucoup excepté pour la connaissance des dessous d'AutoCAD et la rigueur logique nécessaire à toute programmation.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse. ;)

 

Pour le moment, je découvre le lisp. J'arrive à lire un fichier, à le comprendre et des fois à le modifier.

Ce que tu me dis me conforte dans le choix d'apprendre en priorité Autolisp.

 

Par contre la création de boite de dialogue (les .dcl ou Osnap Palette que tu a créé) passent par l'utilisation d'un langage plus puissant ?

Lien vers le commentaire
Partager sur d’autres sites

Les DCL peuvent être inclusent dans le lisp.

Le langage est diférent, mais très "simple" .

L'avantage, comme pour le lisp, c'est qu'Autocad interpréte directement ces languages, ça facilite le dévellopement.

 

Pour moi si tu reste à 100% sur du Autocad le LISP est ce qu'il faut apprendre, le C# est à choisir si tu souhaite un language plus largement utilisable sous Windows, mais il faut en avoir l'utilité, et le temps de l'apprendre.

C'est en forgeant que l'on devient forgerons.

Et c'est en sciant que Léonard DeVinci!

Lien vers le commentaire
Partager sur d’autres sites

waakabayashi,

Par contre la création de boite de dialogue (les .dcl ou Osnap Palette que tu a créé) passent par l'utilisation d'un langage plus puissant ?

DCL est un langage assez simple qui permet de créer des boites dialogues modales basiques. Ces boites sont gérées par du code LISP.

OsnapPalette est écrit entièrement en C#. Une palette est une boite de dialogue non-modale ancrable, le langage DCL ne permet pas de créer de telles boites de dialogue. Les applicatifs ObjectDCL ou OpenDCL permettent de créer des boites dialogue non-modales gérables en LISP, mais je pense qu'il est préférable de maitriser AutoLISP avant de se lancer dans la programmation de boites de dialogue avec ces applicatifs.

 

alala,

le C# est à choisir si tu souhaite un language plus largement utilisable sous Windows, mais il faut en avoir l'utilité, et le temps de l'apprendre.

C# (et plus généralement .NET) est aussi plus puissant qu'AutoLISP en ce qui concerne directement AutoCAD et permet de faire beaucoup de choses impossibles avec AutoLISP / Visual LISP.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité