VBA

Téléchargement du module VBA pour les anciennes versions d'AutoCAD

Français

Logo VBA

Depuis la version 2010 d'AutoCAD, Autodesk ne fournit plus le module VBA. Vous devez le télécharger séparément à partir de cette adresse : https://knowledge.autodesk.com/support/autocad/downloads/caas/downloads/content/download-the-microsoft-visual-basic-for-applications-module-vba.html

Etiquettes:

VBA AutoCAD : annuler la commande en cours

Français

Si vous pilotez AutoCAD depuis un autre processus via l'API COM, votre code ne peut s'exécuter que si AutoCAD est disponible, c'est à dire qu'il n'y a pas une commande en cours d'exécution. C'est pour cela que l'API COM fournit une méthode GetAcadState sur l'objet Application qui permet de vérifier si AutoCAD est disponible de cette façon :

Etiquettes:

VBA 7.1 dans AutoCAD & Inventor 2014

Français

Logo VBA

Dans la version 2014 d'AutoCAD et d'Inventor, Autodesk a mis à jour VBA. On est passé de la version 6.3 à la 7.1. C'est à priori une bonne nouvelle pour les utilisateurs qui ont des programmes VBA, car la version 7.1 de VBA existe en version 64 bits.

Etiquettes:

Sauvegarder toutes les images d'un document Word

Français

Quand vous écrivez un livre, votre éditeur vous demande de livrer un fichier Word avec les images dans des fichiers séparés. Comme je me voyais mal sauvegarder chaque image et que je suis un peu faignant comme tout bon programmeur, j'ai écrit une petite macro VBA.

Etiquettes:

VBA AutoCAD : erreur "Fenêtre principale d'AutoCAD invisible"

Français

Le message d'erreur

Ce message d'erreur se produit lorsque vous demandez une sélection utilisateur alors qu'il y a un formulaire affiché.

Etiquettes:

VBA AutoCAD : intersection d'une entité avec une référence de bloc

Français

En VBA, pour calculer le ou les points d'intersection entre 2 entités, on peut utiliser la méthode ÌntersectWith. Mais elle ne fonctionne pas correctement si un des deux opérandes est une référence de bloc.

Etiquettes:

Amener une entité au premier plan avec VBA

Français

VBA ne propose pas de fonctions pour modifier l'ordre de tracé d'une entité. On peut cependant utiliser SendCommand pour lancer la commande ORDRETRACE (_DRAWORDER) :

Etiquettes:

Un virus ciblant AutoCAD

Français

Le virus Flame fait beaucoup parler de lui en ce moment. Une de ses caractéristiques est qu'il cible particulièrement les fichiers DWG d'AutoCAD. Ce qui laisse à penser que ce malware complexe a été conçu par un état désireux de s'emparer de certains secrets industriels documentés via des dessins techniques.

VBA AutoCAD & Inventor : exporter l'ensemble des fichiers d'un projet

Français

Un des inconvénients majeurs de VBA (qui en comporte beaucoup), c'est que le code est encapsulé dans un format binaire (fichiers .dvb pour AutoCAD, .ivb pour Inventor) qui au contraire d'un fichier texte, ne peut pas être correctement géré par un gestionnaire de source comme Mercurial ou Subversion.

VBA AutoCAD : passer le maintien d'une entité à SendCommand

Français

Parfois, on a besoin d'utiliser SendCommand pour pouvoir réaliser certaines opérations que VBA ne supporte pas (la fonction LISSAGE par exemple). Et dans certaines situations, on veut pouvoir passer une référence à un objet précédemment créé. Dans ce cas on peut utiliser la fonction handent d'AutoLISP. handent prend en argument le maintien d'une entité et renvoie un nom d'entité qui est interprété par la ligne de commande d'AutoCAD :

Set circle1 = ThisDrawing.ModelSpace.AddCircle(p1, r1)
Set circle2 = ThisDrawing.ModelSpace.AddCircle(p2, r2)
ThisDrawing.SendCommand "_Loft" & vbCr _
        & "(handent """ & circle1.Handle & """)" & vbCr _
        & "(handent """ & circle2.Handle & """)" & vbCr _
        & vbCr _
        & vbCr

Notez bien que le maintien doit être spécifié entre deux guillemets doubles (qu'on doit doubler pour les spécifier dans une chaîne littérale en VBA).

Subscribe to RSS - VBA