famaice Posté(e) le 29 octobre 2014 Posté(e) le 29 octobre 2014 :) Bonjour à tous, Débutant en programmation d'autoCAD, j'observe nombre de routines que l'on trouve sur le net. Certaines sont en AutoLISP, mais nombreuses sont celle qui inclus du VLISP (commande vla, vlax, ...).Il est dur d'assimiler dans un premier temps autoLISP, mais l'intégration de VLISP crée une confusion qui me laisse perplexe quand à l'orientation à prendre. Par ailleurs la "littérature" sur le VLISP est faible et disparate (trouvé une liste exaustive des commandes vla ou vlax par exemple n'est pas chose aisée). :huh: Bref pour débuter, faut il attaquer directement en VLISP... ou pas ?Cordialement, PS : J'ai trouvé un site US de formation au LISP pas mal foutu. Pour les curieux... Word Class CAD ""Nous avons un avenir et il sera fait de nos rêves si nous avons le courage de bousculer les idées reçues" - S. HONDA
Tramber Posté(e) le 29 octobre 2014 Posté(e) le 29 octobre 2014 Se passer de l'autolisp est possible. Je dirais que c'est dommage car, en s'y contraignant, on se cultive pas mal sur le coeur du système : le code DXF. Mais, d'un autre côté, on peut tout faire en Vlisp....Je dirais d'apprendre tranquillement les deux.Lire et comprendre des petits programmes suffit à se lancer. Le reste est de la culture issue de la lecture d'exemples, encore une fois. Bref, on abandonne vite la littérature. http://www.caddsoftsolutions.com/VisualLISP-Developers-Bible-Download-PDF.htmLe document à regarder. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
(gile) Posté(e) le 30 octobre 2014 Posté(e) le 30 octobre 2014 Salut, Je pense qu'il faut commencer par définir ce qu'on appelle 'AutoLISP' et 'Visual LISP'. Par exemple, pour Autodesk, 'Visual LISP' remplace, et donc contient, 'AutoLISP', alors que le commun des utilisateurs fait la distinction entre les fonctions dites 'Visual LISP' (fonctions préfixées avec vla-, vlax- ou vlr- qui nécessitent d'être chargées avec vl-load-com) et les autres. Si on s'en tient à cette dernière description, on ne peut pas opposer/comparer 'AutoLISP' et 'Visual LISP' que pour ce qu'ils feraient l'un comme l'autre. or ceci ne concerne qu'une partie des deux, en gros l'accès aux objets AutoCAD. Pour 'Visual LISP', il s'agit donc essentiellement de l'accès en LISP à l'API (Interface de Programmation pour Application) COM d'AutoCAD, API accessible pour tous les environnements de programmation supportés par AutoCAD Windows (Visual LISP, VBA, .NET, ObjectARX). Autrement dit, toutes les fonctions vla-. Tout le reste dans 'Visual LISP', à savoir les fonctions vlr- (reacteurs) et vlax- (converions entre objets COM et 'AutoLISP', accès à ActiveX ou fonctions spécifiques vlax-curve* ou vlax-ldata*) est absolument spécifique à 'Visual LISP' et n'a pas d'équivalent en 'AutoLISP'. Avec AutoLISP, l'accès aux objets AutoCAD se fait principalement grace aux commandes AutoCAD et aux listes DXF, mais AutoLISP fournit aussi toutes les fonctions fondamentales des langages LISP (entre autre les fonctions de traitement des liste et de définition de fonction) qui sont incontournables et n'ont pas d'équivalent en 'Visual LISP'. Pour répondre à famaice (et contredire/préciser ce que dit Tramber), l'apprentissage du LISP pour AutoCAD commence immanquablement par l'apprentissage d''AutoLISP' notamment des fonctions fondamentales (defun, car, cdr, cons, setq, etc.) qui seront utilisées aussi bien en 'pur AutoLISP' qu'en 'Visual LISP'. La question du choix entre 'AutoLISP' et 'Visual LISP', n'intervient, à mon avis, que dans un deuxième temps de l'apprentissage du LISP : quand l'accès aux objets par les commandes natives (avec la fonction command) n'est plus suffisant. Et l'expérience me fait dire qu'il ne s'agit de toute façon pas d'un choix absolu puisque selon les cas, l'un ou l'autre est plus pratique à mettre en oeuvre. Et parfois, le choix entre l'un ou l'autre est impératif: si certaines choses sont impossibles à faire avec 'AutoLISP' mais peuvent se faire avec 'Visual LISP', l'inverse est aussi vrai. Ceci s'est encore accentué en ce qui concerne les propriétés des objets avec l'arrivée des nouvelles fonctions 'AutoLISP' pour AutoCAD Mac (qui fonctionnent aussi sur Windows). En conclusion, je conseillerais d'apprendre dans un premier temps 'AutoLISP' : les fondamentaux bien sûr (avec la fonction command pour piloter AutoCAD), puis l'accès aux objets par les liste DXF (entsel, entget, entmod, entmake, etc.). À ce moment là, quand le besoin s'en fera sentir, l'apprentissage de l'interface COM (fonctions vla-) ne devrait pas présenter beaucoup de difficultés : la 'grammaire' du LISP étant plus ou moins acquise, l'utilisation des fonctions vla- relève plus du 'vocabulaire'. 1 Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Tramber Posté(e) le 30 octobre 2014 Posté(e) le 30 octobre 2014 Bien sur, dans cette acception, on ne peut pas se passer d'Autolisp et des fonctions fondamentales.Fonctions fondamentales qu'on appellerait lisp et non plus Autolisp si j'avais voulu être mieux compris. Merci pour ces précisions. Je suis toujours dans la simplification. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
famaice Posté(e) le 3 novembre 2014 Auteur Posté(e) le 3 novembre 2014 Merci pour ces réponses ! Ca aide à y voir un peu plus clair ;) Je continue à me former au LISP pour Autocad car je suis plus que convaincu des gains de productivité énorme que l'on obtient via la création de routines. Fabrice ("jeune" padawan du LISP)... :) ""Nous avons un avenir et il sera fait de nos rêves si nous avons le courage de bousculer les idées reçues" - S. HONDA
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant