Aller au contenu

AutoCAD 2019


252 sujets dans ce forum

    • 6 réponses
    • 210 vues
  1. Hachures (catalogue)

    • 2 réponses
    • 556 vues
    • 5 réponses
    • 267 vues
    • 18 réponses
    • 3,1 k vues
  2. Lisp RB sur Autocad 2019

    • 9 réponses
    • 2,5 k vues
    • 2 réponses
    • 370 vues
  3. Perte de données

    • 12 réponses
    • 696 vues
  4. Plus de PAN avec le bouton du milieu

    • 5 réponses
    • 666 vues
    • 2 réponses
    • 441 vues
    • 7 réponses
    • 696 vues
    • 18 réponses
    • 3 k vues
    • 6 réponses
    • 769 vues
    • 4 réponses
    • 701 vues
    • 5 réponses
    • 562 vues
    • 0 réponse
    • 474 vues
  5. commande Lisp

    • 0 réponse
    • 541 vues
  6. Recherche bloc

    • 10 réponses
    • 1,2 k vues
  7. Création d'hyperlien

    • 7 réponses
    • 594 vues
  8. Fenêtre qui disparaît

    • 7 réponses
    • 568 vues
    • 4 réponses
    • 639 vues
    • 3 réponses
    • 841 vues
    • 23 réponses
    • 4,9 k vues
  9. Bloc Dynamique gaine 45° (étirement, mise à l'échelle)

    • 0 réponse
    • 291 vues
    • 12 réponses
    • 1 k vues
    • 8 réponses
    • 746 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é