Aller au contenu

VBA ou lisp?


Invité samuelM

Messages recommandés

Invité samuelM

Bonsoir,

 

Je vais commencer de la programmation et pour cela je voudrai savoir s'il vaut mieux programmer en VBA ou en Lisp?

 

merci de votre aide

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Pour moi la question ne se pose même pas.

Autodesk va abandonner le VBA pour AutoCAD.

 

Le module VBA n'était plus intégré dans la version 2010 et devait être téléchargé séparément.

Il devait être complètement supprimé de la version 2011 et Autodesk a finalement décidé de donner un sursis aux développeurs et utilisateurs pour faire la migration de leurs programmes vers LISP ou .NET.

Même si ce sursis était prolongé pour la version 2012, je pense que cet abandon est inéluctable.

Il ne dépend pas directement de la décision d'Autodesk, c'est Microsoft (propriétaire de VBA) qui préfère abandonner VBA plutôt que de l'adapter à l'architecture 64 bits et pousser à la migration vers la plateforme .NET qui fonctionne indépendamment de l'architecture du processeur et du langage utilisé.

 

AutoLISP est entièrement contrôlé par Autodesk, c'est un langage "embarqué" donc complètement intégré à AutoCAD ce qui facilite l'apprentissage du fait de la possibilité de faire interpréter directement des expressions ou programmes directement en phase de développement.

 

S'il fallait ajouter quelque chose à tout ça, j'ajouterais que la documentation, les codes et l'aide disponible sur internet est beaucoup plus fournie pour AutoLISP que pour le VBA AutoCAD (il suffit de comparer le nombres de messages des forums LISP et VBA sur CADxp).

 

Malgré ça, il faut tout de même dire qu'AutoLISP ne fonctionne que sur AutoCAD (ou ses clones) et que les boites de dialogues ne sont pas très très commodes à construire en langages DCL ou nécessitent l'utilisation d'une application externe (ObjectDCL ou OpenDCL).

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

Lien vers le commentaire
Partager sur d’autres sites

Malgré ça, il faut tout de même dire qu'AutoLISP ne fonctionne que sur AutoCAD (ou ses clones)

 

Ceci dit AutoLISP, en temps que dialecte du LISP, est l'un des derniers représentant du langage le plus populaire des années... hum '70. Lisp est né en '60. Bill Gates avait 5 ans. Il jouait aux petites voitures pendant que le MIT développait les bases de l'intelligence artificielle en... LISP (notamment).

 

J'imagine que son succès vient du fait qu'il a une structure unitaire: tout est liste. Une donnée est une valeur ou une liste, une fonction est une liste, on l'appelle via une liste. Au même titre, une base de donnée est une liste, disons structurée. La valeur nil (rien) peut être considéré comme une liste vide.

 

Sous AutoCAD, chaque objet (lignes, polylignes, blocs) est une liste et se manipule comme telle. Or LISP est conçu pour manipuler des listes. Les quelques fonctions de base de LISP et quelques une propres à AutoCAD suffisent a manipuler la base de donnée très diversifié d'un dessin AutoCAD.

 

Et puis bon, la fonction command permet de tout faire puisqu'elle se substitue à l'utilisateur (voir le help). Si les parenthèses te rebutent vraiment il y a toujours la fonction cal qui permet une syntaxe plus habituelle. (voir help aussi)

 

En définitive, AutoLISP permet de faire une petite macro à la volée, sur le pouce très facilement pour une action récurrente. Il permet aussi de réaliser des applications complexes, avec accès à tous les objets du dessin, une petite base de donnée interne, des actions dans d'autres fichiers AutoCAD et même des actions dans des fichiers externe, tel que Excell (Access ? (à confirmer))

 

 

et que les boites de dialogues ne sont pas très très commodes à construire en langages DCL ou nécessitent l'utilisation d'une application externe (ObjectDCL ou OpenDCL).

 

Les boites de dialogues ne sont en général pas nécessaire.

 

 

[Edité le 19/3/2011 par Carboleum]

Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Quand j'ai commencé a apprendre Autolisp, j'avais pris le fait que le Lisp avait été créer pour la recherche en Intelligence Artificielle pour une anecdote.

 

En fait, c'est toujours le cas, mais cette fois dans le domaine de la DAO-CAO.

 

Nous pouvons faire réagir Autocad "circonstanciellement" selon nos habitudes ou les différent projets que nous réalisons.

 

Car, si le Lisp permet de faire la liste et manipuler a souhait les objets, il peut aussi en faire autant avec les réglages "intimes" d'Autocad ainsi que ceux de Windows.

 

Du coup, nous sommes vraiment assisté pendant que nous dessinons et cela nous permet de mieux nous consacré l'aspect technique de notre travail.

 

C'est pour moi une véritable aventure que je suis heureux de partager sur ce Forum, qui j’espère vivra encore longtemps.

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é