Aller au contenu

Commandes spécifiques VBA


Labletech

Messages recommandés

Quand on fait un peu de programmation on s'est toujours un peu frotté au Visual Basic un jour ou l'autre. (plutôt l'autre d'ailleurs) :cool:

En fait je suis revenu au VB depuis peu et par la force des choses parcequ'il m'a été donné de developper quelques macro pour Solid Edge. Du coup je me suis heurté au concept de l'Active X et de l'ouverture sur Windows. :mad:

Partant de cela mon travail quotidien sur Autocad m'a fait m'écarter du Lisp pour m'orienter vers le VB et le VBA.

Au début j'ai fait un petit programme du genre "Hello" et cela a très bien fonctionné.. youpi :D c'est le paradis et du coup je me dévergonde. ;)

Je me lance dans un programme minus de chez minus qui demande simplement une saisie interactive de points sur Autocad avec la belle méthode 'GetPoint(,"message")'.

Or quelle n'a pas été ma surprise de constater que cette fonction n'était apparemment pas présente dans mes biblis de ressources.

Bien-sûr dans VB j'avais ajouté aux références les type de bibliothèques associées à Autocad dont je disposait sur le disque. Mais cela n'a pas marché.

Ma frustration a été encore plus grande lorsqu'en VBA cela n'a pas marché non plus.

 

Je pense que j'ai du oublié d'initialiser quelque chose quelque part. Si quelqu'un de bonne volonté pouvait me dire si il y des manip en plus que la simple installation complète d'Autocad à faire, je lui en serai gré ... :P

 

Help .. :(

 

 

Formateur

ATC Autocad - Mechanical - Inventor - Electrical

Lien vers le commentaire
Partager sur d’autres sites

En fait je suis un benet et j'ai trouvé la réponse en cherchant un petit peu, tout simplement..

Mon manque de connaissance sur VB et VBA ne me permettent pas forcément de trouver une solution immédiate à mes problèmes:

Néanmoins je me suis rendu compte que pour utiliser une méthode il faut l'écrire complètement dans le contexte des objets reconnu par ActiveX.

 

Donc après avoir ouvert une application Autocad en VB avec par exemple:

 

Set gobjApplication = GetObject(,"AutoCAD.Application")

Set gobjDocument = gobjApplication.ActiveDocument

 

Il faut activer la propriété Utility de gobjDocument pour lancer une methode dans Autocad:

 

Pour mon fameux getpoint il fallait donc écrire:

 

Dim insPoint as Variant

 

insPoint = gobjDocument.Utility.Getpoint(, "Saisir Point:")

 

Et la ca marche que l'on soit en VBA (à la syntaxe initiale près) ou en VB.

J'ai même compilé ce programme sur une machine ne possedant pas Autocad du moment que l'on charge les *.tlb fourni par Autocad c'est suffisant ...

 

De manière générale y a t il un document quelconque qui pourrait recenser les propriétés, les objets et les méthodes nécessaires à l'utilisation du VB pour Autocad ???

 

 

 

[Edité le 29/3/2003 par Labletech]

Formateur

ATC Autocad - Mechanical - Inventor - Electrical

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Labletech,

 

Si tu veux un livre sur vba pour autocad

M. Thaleim a ecrit ce livre il résume bien

les propriétés, les méthodes de ce langage vba pour autocad

Je me le suis procuré par le biais d'autocad Magazine à l'epoque

devenu cad magazine.

 

Fabrice

 

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é