Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 12 October 2011 14:10

Guigui5
Participant actif
Date d'inscription: 24 Aug 2011
Messages: 64
Site web

VBA sous AutoCAD 2013

Bonjour à tous,

Comme il est précisé dans l'excellent historique de Patrice (http://georezo.net/forum/viewtopic.php?id=44042), VBA ne sera plus disponible pour AutoCAD 2013. Depuis le temps qu'on en parle, il fallait bien que ça arrive.

J'ai malgré tout une question, est-ce que nos fonctions existantes qui avaient été codées grâce à VBA vont continuer de fonctionner ?

Je suis prêt à tout recoder en VB.NET mais bon...si on peut éviter.

J'attends vos réponses avec impatience, très bonne journée à tous !


Ingénieur-Géomètre-Geek
www.techniques-topo.com

Hors ligne

 

#2 Thu 13 October 2011 19:21

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4793

Re: VBA sous AutoCAD 2013

Hello

J'adore repondre dans un domaine ou je suis une "tanche" !

Vu de loin, cela me semble completement impossible !

Tu dois envisager de TOUT reprogrammer en DOTNET ...

Geobye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#3 Mon 17 October 2011 12:58

Guigui5
Participant actif
Date d'inscription: 24 Aug 2011
Messages: 64
Site web

Re: VBA sous AutoCAD 2013

En voilà une excellente nouvelle...merci de ta réponse en tous cas smile


Ingénieur-Géomètre-Geek
www.techniques-topo.com

Hors ligne

 

#4 Sun 23 October 2011 22:08

ExMateria
Juste Inscrit !
Lieu: Lyon, France
Date d'inscription: 18 Nov 2009
Messages: 5
Site web

Re: VBA sous AutoCAD 2013

Tes programmes VBA ne pourront pas fonctionner sans adaptation dans l'environnement .NET
La chose est un peu technique à expliquer mais en gros tu pourrais garder la plupart de ton code VBA si tu utilises l'interface COM d'AutoCAD, tu n'auras alors pas la puissance du .NET, mais tu n'auras pas en principe à tout reprogrammer.
Si tu parles un minimum d'anglais informatique, consulte le site http://www.acadnetwork.com


webmaster ExMateria

Hors ligne

 

#5 Tue 25 October 2011 08:50

Guigui5
Participant actif
Date d'inscription: 24 Aug 2011
Messages: 64
Site web

Re: VBA sous AutoCAD 2013

J'ai déjà du utiliser l'interop pour des fonctions Map qui n'étaient pas implémentées en .NET. Je suppose que ça doit être a peu près la même marche à suivre.


Ingénieur-Géomètre-Geek
www.techniques-topo.com

Hors ligne

 

#6 Tue 25 October 2011 09:07

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: VBA sous AutoCAD 2013

Bonjour,

tu n'auras alors pas la puissance du .NET


Si effectivement l'interface COM est utilisable (je ne suis pas un acadien !) les codes VBA fonctionneront avec elle. On ne peut pas parler de puissance en matière de .NET, car particulièrement en matière graphique le .NET n'est pas rapide. (la GDI+ est une m***).

VB (A° et VB.Net sont radicalement différents. Dans l'un (VB) la mémoire est gérée par le programmeur et il ne s'agit pas à proprement parler d'un langage orienté objet, alors qu'en .NET il y a une gestion de la mémoire intégrée vie le ramasse miettes (garbage collector).

J'ai déjà du utiliser l'interop pour des fonctions Map qui n'étaient pas implémentées en .NET.


Attention l'Interop service est un espace de nom du framework .NET, qui sert entre autre à ce connecter avec des logiciels tiers(Excel, Word etc ...) donc il doit ici s'agir uniquement de l'Interop avec MAP.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#7 Tue 25 October 2011 09:16

Guigui5
Participant actif
Date d'inscription: 24 Aug 2011
Messages: 64
Site web

Re: VBA sous AutoCAD 2013

Je viens de trouver ça :

Microsoft Visual Studio can utilize both native .NET and COM interfaces in the same project. By utilizing COM interop, you can migrate existing code that might have been written in Visual Basic 6 or VBA without having to completely rewrite it.


Le lien complet : http://docs.autodesk.com/ACD/2010/ENU/A … ber=d0e351

Donc effectivement, on peut s'en sortir sans tout reprogrammer. La question qui se pose est donc : Que peut on gagner à tout reprogrammer ? Est-ce valable ou non ?

Dernière modification par Guigui5 (Tue 25 October 2011 09:18)


Ingénieur-Géomètre-Geek
www.techniques-topo.com

Hors ligne

 

#8 Tue 25 October 2011 16:01

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: VBA sous AutoCAD 2013

Bonjour,

Le lien que vous fournissez donne une "page not found" !

By utilizing COM interop, you can migrate existing code that might have been written in Visual Basic 6 or VBA without having to completely rewrite it.


C'est beau comme si c'était un commercial qui l'écrivait ! Dans la réalité c'est pas si évident. Tout est dans le "having to completely", car le plus souvent il faut en réécrire une partie. MS nous fait la même avec son convertisseur de code VB6 vers .NET ! L'expérience prouve qu'il vaut mieux repartir de zéro avec .NET plutôt que d'essayer d'adapter un existant en VB6.

Que peut on gagner à tout reprogrammer ?


Rien. Si vous avez un code VBA qui fonctionne gardez le. En revanche si vous devez écrire du code nouveau, passez à .NET. Ceci tout simplement pour vous y habituer car bientôt il n'y aura plus que cela. Et il faut avouer que si le framework est un peu ch*** à intégrer car il est vaste, ses fonctionnalités sont tout de même plaisantes et efficaces.

Ceci étant dit je reste tout de même septique sur l'utilisation de .NET avec les images telles que nous les utilisons en géomatique. Leur poids et leur définition en matière de profondeur (particulièrement N&B et 256 couleurs) de couleur font que l'on atteint plus que rapidement les limites du .NET.

Pour coder tous les jours en .NET je peux affirmer que ce n'est pas le bon langage pour faire du graphisme. De plus l'utilisation de ce langage via des logiciels tiers pose des problèmes, car on ne sait jamais quand ni comment un objet est géré en mémoire par le garbage collector. Pour vous en convaincre allez voir du coté d'ESRI qui eux aussi ce sont mis à .NET non sans déboires !


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#9 Fri 28 October 2011 09:43

Guigui5
Participant actif
Date d'inscription: 24 Aug 2011
Messages: 64
Site web

Re: VBA sous AutoCAD 2013

J'ai déjà codé pas mal en .NET et ça ne me pose pas de souci. Le problème est que nous avons beaucoup de fonctions codées en VBA pour AutoCAD (réalisées par des personnes qui ne travaillent plus ici). D'après ce qu'on a pu voir, l'an prochain ces fonctions seront inutilisables. Il s'agit donc de trouver la meilleure solution, car tout recoder c'est beaucoup de temps et d'argent, et j'analyse toutes les possibilités avant de me lancer dans cette vaste entreprise smile


Ingénieur-Géomètre-Geek
www.techniques-topo.com

Hors ligne

 

#10 Fri 28 October 2011 15:19

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: VBA sous AutoCAD 2013

Bonjour,

Donc la suppression de vba n'induit pas la suppression de l'interface COM ou cette dernière est-elle vouée à disparaitre elle aussi?

J'ai quelques script écrit en Python qui utilise cette interface, je me demande s'ils auront le même destin que mes script vba.

Hors ligne

 

#11 Fri 28 October 2011 19:45

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: VBA sous AutoCAD 2013

Bonjour,

Donc la suppression de vba n'induit pas la suppression de l'interface COM


L'interface COM est en faite une interface de Windows. Je ne pense pas qu'elle soit vouée à disparaître rapidement.

Et d'après ce que je lis là:
http://usa.autodesk.com/adsk/servlet/in … ;id=770215

Il vous suffit d'avoir le pack VBA pour 2012 "non officiel" installé sur la machine pour qu'un 2013 enquille les scripts VBA écrits précédemment.
C'est juste un pb de dll présente sur la machine pour que les scripts s’exécutent.
Après il est vrai que si le modèle objet d'Autocad change fondamentalement forcement certaines instructions ne seront plus valable. Mais comme généralement la compatibilité ascendante est assurée ...


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

Pied de page des forums

Powered by FluxBB