Aller au contenu

LISP et Visual LISP


Sous-forums

  1. Débuter en LISP

    Vous voudriez savoir ce qu'est le LISP? Vous êtes débutant, vous n'êtes pas programmeur mais vous souhaitez vous y mettre? Ce forum est fait pour vous!

    14,6 k
    messages
  2. Pour aller plus loin en LISP

    Vous avez déjà écrit des programmes LISP? Vous souhaitez vous perfectionner? Vous butez sur un problème de programmation? Les termes de DCL, ActiveX, réacteur, compilation ne vous sont pas inconnus? Ce forum est pour vous.

    9,8 k
    messages
  3. Visual LISP

    Vous voulez en savoir plus sur le Visual LISP, son éditeur/débugeur/compilateur? Vous voulez partager vos expériences dans cet environnement? Ce forum est pour vous...

    2,2 k
    messages
  4. Routines LISP

    Postez ici vos routines LISP. Une routine est du code court destiné à être réutilisé. Par exemple, un programme mettant à jour la valeur d'un attribut de bloc est une routine. Ne postez pas d'applications ici!

    13,3 k
    messages
  5. ObjectDCL

    ObjectDCL est un projet open source qui permet l'ajout de boites de dialogues interfacées avec le LISP.

    427
    messages

411 sujets dans ce forum

  1. Aide aux développeurs

    • 0 réponse
    • 1,8 k vues
  2. Adieu Patrick_35 1 2 3

    • 52 réponses
    • 13 k vues
  3. mur en lisp

    • 1 réponse
    • 1,5 k vues
  4. Lisp de dévoiement

    • 1 réponse
    • 240 vues
    • 12 réponses
    • 370 vues
    • 3 réponses
    • 309 vues
  5. Aperçu DCL sans réponse.

    • 3 réponses
    • 152 vues
    • 5 réponses
    • 628 vues
  6. SOMMAIRE AUTOMATIQUE

    • 22 réponses
    • 3,5 k vues
    • 5 réponses
    • 8,8 k vues
    • 9 réponses
    • 538 vues
  7. LISP - Sélection

    • 4 réponses
    • 869 vues
    • 17 réponses
    • 1,4 k vues
    • 13 réponses
    • 638 vues
  8. Distribuer une application LISP (ou autre)

    • 9 réponses
    • 773 vues
    • 22 réponses
    • 758 vues
    • 2 réponses
    • 480 vues
    • 4 réponses
    • 510 vues
    • 13 réponses
    • 560 vues
  9. Double tri sur liste

    • 5 réponses
    • 444 vues
    • 3 réponses
    • 501 vues
    • 27 réponses
    • 1,4 k vues
    • 9 réponses
    • 632 vues
    • 2 réponses
    • 593 vues
    • 0 réponse
    • 353 vues


  • Statistiques des forums

    • Total des sujets
      48,5 k
    • Total des messages
      294,5 k
  • Sujets

  • Messages

    • Tout a fait, c'était juste pour montrer les possibilités hors ActiveX, je vais y venir.
    • Quel intérêt puisque PyAutoCAD utilise la même interface COM/ActiveX. Ne peut on pas faire directement : accad = Autocad() doc = accad.ActiveDocument doc.PurgeAll() doc.Save()  
    • Pyautocad Module qui existe depuis une dizaine d'année, qui permet d'agir dans Autocad, en utilisant l'interface ActiveX. Vous avez donc toute la documentation disponible dans l'aide du développeur. La base : # Du module on importe l'objet Autocad et APoint from pyautocad import Autocad, APoint # Instanciation de l'objet Autocad accad = Autocad() # ou accad = Autocad(create_if_not_exists=True) si on veut ouvrir Autocad le cas écheant. # le document actif doc = accad.ActiveDocument # l'application app = accad.Application # l'espace objet ms = doc.model Je rappelle qu'il n'y a rien à faire dans Autocad, il se laisse faire, aucune sécurité mise en place pour Python. A partir de là, tout le panel ActiveX est disponible, mais pas que. grace à la méthode SendCommand, tout Autolisp / Visual Lisp et toutes les commandes Autocad. Pour exécuter le code Python hors de l'EDI, il faudra double cliquer dessus. Et pour éviter que la console Python s'ouvre, enregistrer votre fichier avec l'extension pyw. Pour faire des tests, restez dans l'EDI. Exemple SendCommand comme en script : doc.SendCommand('-purger\ntout\n*\nn\n_qsave\n') ou pour lancer un script doc.SendCommand('_script\n"c:/mon_fichier.scr"\n') ou en autolisp doc.SendCommand('(command "-purger" "tout" "*" "n")\n(command "_qsave")\n') ou en Visual Lisp doc.SendCommand('(vl-load-com)\n(setq doc (vla-get-activedocument (vlax-get-acad-object)))(vla-purgeall doc)(vla-save doc)(setq doc nil)\n') Je pense que vous commencez à comprendre que c'est no limite. A bientôt, je revient en vous montrant la traduction ActiveX -> Python.  
    • Bonjour, Non, pas du tout. On peut aussi les transmettre avec un .bat écrit par Autolisp comme ceci. python mon_fichier.py arg1 arg2 ... Ecrire un csv qui seras lu au démarrage du py. Le presse papier est le plus rapide (pas le plus sur, car peut refuser de fonctionner pour des raison obscure).   Pour le retour, Python peut écrire du lisp qui seras lu par un (load) par exemple. Comme on est dans le cas ou c'est un lisp qui lance le py, Python ne peut pas accéder à Autocad tant que le lisp tourne. Par contre, si nous utilisons Pyautocad, nous pouvons interpoler avec les variables sans soucis et effectivement créer tout les objets Autocad que l'on veut..  
    • Salut, si j'ai bien compris, la seule manière de passer des argument entre lisp et python c'est le presse papier ? du moins celle que tu utilise dans tes codes, car si Python sait faire un "hello world", il doit bien être capable de lire ou d'écrire dans un dictionnaire ou une astuce comme ça ? (peut être pas finalement, car com est nul en dictionnaires ....) a+ Gégé    
  • Sujets

×
×
  • 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é