Créer un modèle VB pour AutoCAD avec Visual Studio Express



Documents pareils
Module.NET 3 Les Assemblys.NET

Google Drive, le cloud de Google

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

FORMATION Offre de Formation - Packaging. Les bonnes pratiques du packaging avec Installshield et AdminStudio. Contact et inscriptions

Corrigé de l'atelier pratique du module 6 : Transfert de données

INSTALLATION DE CEGID BUSINESS VERSION 2008 Edition 4 (CD-Rom du 16/07/2009) SUR UN POSTE AUTONOME SOMMAIRE

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT. Compression - Décompression avec 7-Zip. Georges Silva

Cahier Technique Envoi par à partir des logiciels V7.00

Utilisation de l espace personnel (Serveur DATA)

Printer Administration Utility 4.2

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Réseau local entre Windows Xp et 7

Utilisation de la clé USB et autres supports de stockages amovibles

OnDemand Version 1.7. Manuel d installation et d utilisation. AST Technology. Sophienstrasse Herford Allemagne

Créer un rapport pour Reporting Services

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Table des matières. 1 À propos de ce manuel Icônes utilisées dans ce manuel Public visé Commentaires...

Ref : Résolution problème d'accès aux supports de cours

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

TABLEAU CROISE DYNAMIQUE

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web

Effectuer des changements par lots avec BCDI abonnement

Sql Server 2005 Reporting Services

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Guide de configuration de SQL Server pour BusinessObjects Planning

Procédure d'installation du serveur Apache HTTPD pour Windows

WebParts. Version 1.0

AxCrypt pour Windows

AssetCenter Installation

DIASER Pôle Assistance Rectorat

Documentation Cobian

CA Desktop Migration Manager

AFTEC SIO 2. Christophe BOUTHIER Page 1

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Utilisez Toucan portable pour vos sauvegardes

TUTORIEL : Formulaire sur Google : Saisie des réponses questionnaires comptoir Mise en place de questionnaires à distance

Installation et compilation de gnurbs sous Windows

TrueCrypt : installation et paramétrage

Vous venez d acquérir un fichier de données issues de la Base de données SIRENE. Comment utiliser votre fichier?

Les messages d erreur d'applidis Client

Gestion des licences et activation des logiciels : déploiement d'un logiciel à l'aide de Symantec Ghost

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

ANNEXE 8 : Le Mailing

- Université Paris V - UFR de Psychologie ASDP4 Info Introduction à Windows

L'explorateur de fichier de Windows 8.1

Procédure pour passer une commande de travaux d impression depuis le site Ce document est la propriété de Diazo Service Poitiers.

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

Reporting Services - Administration

Comment installer un certificat de signature pour Mozilla Firefox

Fichiers, dossiers, enregistrer et arborescence

Bibliothèque Numérique de l INSA de Toulouse Mode d emploi des livres électroniques NUMILOG

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Introduction à Eclipse

Tutoriaux : Faites vos premiers pas avec Microsoft Visio 2010

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité.

Edutab. gestion centralisée de tablettes Android

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

J'ai changé d'ordinateur, comment sauvegarder mon certificat?

OneDrive, le cloud de Microsoft

Tutorial Cobian Backup

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Introduction aux outils BI de SQL Server Tutoriel sur SQL Server Integration Services (SSIS)

Gestion des utilisateurs : Active Directory

Septembre 2012 Document rédigé avec epsilonwriter

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

CA ARCserve D2D pour Linux

Procédure de Migration de G.U.N.T.3 KoXo Administrator

1. Utilisation du logiciel Keepass

Guide de la documentation des produits BusinessObjects XI

NAS 206 Utiliser le NAS avec Windows Active Directory

La technologie au collège

SafeGuard Enterprise Web Helpdesk. Version du produit : 6.1

Seagate Technology LLC S. De Anza Boulevard Cupertino, CA 95014, États-Unis

BIRT (Business Intelligence and Reporting Tools)

Bases pour sécuriser son Windows XP

Maarch V1.4

FileMaker Server 13. Guide de configuration de l'installation réseau

Créer un diaporama avec Open Office. Sommaire

Lenovo Online Data Backup Guide d'utilisation Version

Guide d installation

Suite Messerli Gest (gestion de chantier) Prestations (imputations des heures) Procédure d'installation du programme ou d'une mise à jour

PROJET AZURE (par Florent Picard, A2011)

Sharpdesk V3.3. Guide d installation Push pour les administrateurs système Version

INSTALLATION DE PEGASUS MAIL 3.12 c FR Avec l interface Harp

KeePass - Mise en œuvre et utilisation

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Tutoriel code::blocks

Evolutions. GRAITEC Advance PowerPack

Introduction à Windows Script Host DescoDev

Installation et prise en main

Les dossiers, sous-dossiers, fichiers

Sauvegarder automatiquement sa clé USB

Gestion des applications, TI. Tout droits réservés, Marcel Aubin

Comment créer et utiliser une fonction

Transcription:

Créer un modèle VB pour AutoCAD avec Visual Studio Express L'objectif de ce tutoriel est de montrer comment créer un modèle de démarrage d'un nouveau projet VB pour AutoCAD dans Visual Studio Express, modèle permettant de lancer automatiquement AutoCAD en chargeant la DLL depuis Visual Studio en mode Debug. L'exemple montré utilise Visual Studio Express 2012 pour Windows Desktop mais il est facilement transposable pour d'autres versions. Il y sera créé un modèle pour AutoCAD 2013 mais là encore il est possible de transposer pour cibler d'autres versions d'autocad. Le chemin du répertoire de sortie pour le mode Debug utilisé dans l'exemple est celui par défaut (.\bin\debug). Démarrer un nouveau projet Dans Visual Studio, choisir le langage Visual Basic (inutile avec les versions 2010 ou 2008) et le type de projet : Bibliothèque de classes. Renommer le projet : AcadVb2013 par exemple, et changer le chemin de l'emplacement comme désiré.

Spécifier le Framework ciblé Ouvrir la fenêtre propriété du projet : dans l'explorateur de solutions, sélectionner le projet AcadVb2013, puis clic droit et Propriétés ou cliquer sur l'icône en forme de clé plate (VS 2012 uniquement). Dans la fenêtre de Propriétés, onglet Application, choisir le Framework cible dans la liste déroulante. Il est préférable de cibler la version du Framework correspondant à celle installée par la version d'autocad pour la quelle le modèle est créé : AutoCAD 2007 à 2009 :.NET Framework 2.0 AutoCAD 2010 à 2011 :.NET Framework 3.5 AutoCAD 2012 à 2014 :.NET Framework 4.0 AutoCAD 2015 :.NET Framework 4.5 Avec les versions précédentes de Visual Studio, pour spécifier le Framework : depuis l'onglet Compiler, cliquer sur Options avancées de compilation et dans la boite de dialogue Paramètres avancés du compilateur choisir le Framework dans la liste déroulante Framework cible (toutes les configurations). Ajouter les bibliothèques AutoCAD Dans la fenêtre Propriétés du projet, choisir l'onglet Références et cliquer sur Parcourir...

Les références à ajouter se trouvent dans le répertoire d'installation de la version ciblée d'autocad ou, mieux, dans le dossier ObjectARX20##\inc correspondant à la version d'autocad ciblée (inc-win32 ou inc-x64 suivant les versions d'autocad et la plateforme du poste utilisé). On peut télécharger les dernières version d'objectarx sur cette page : http://usa.autodesk.com/adsk/servlet/index?siteid=123112&id=773204 Choisir les bibliothèques les plus couramment utilisées (il sera facile d'en ajouter d'autres de la même manière si la création du nouveau projet le requiert). AutoCAD 2007 à 2012 : AcDbMgd.dll et AcMgd.dll AutoCAD 2013/2015 : AcCoreMgd.dll, AcDbMgd.dll et AcMgd.dll Mettre la propriété Copie locale de ces DLLs sur False : Avec Visual Studio 2012, à moins d'avoir ciblé le Framework 4.5, dans les Espaces de nom importés, décocher l'espace de nom : System.Threading.Tasks.

Ajouter une ébauche de code Renommer la classe créée par Visual Studio : Class1 avec un nom plus explicite, Commands par exemple, depuis l'explorateur de solution. Une boite de dialogue propose de renommer toutes les références à Class1 dans le projet, répondre Oui. Ouvrir la classe Commands dans l'éditeur de code par double clic sur Commands dans l'explorateur de solution. Ajouter les instructions Imports pour importer les espaces de nom AutoCAD les plus couramment utilisés et, éventuellement, un alias pour la classe Autodesk.AutoCAD.ApplicationServices.Application. Ajouter quelques lignes de codes usuelles pour définir une commande AutoCAD : Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.EditorInput Imports Autodesk.AutoCAD.Geometry Imports Autodesk.AutoCAD.Runtime Imports AcApp = Autodesk.AutoCAD.ApplicationServices.Application Namespace AcadVb2013 Public Class Commands <CommandMethod("Test")> _ Public Sub Test() Dim doc As Document = AcApp.DocumentManager.MdiActiveDocument Dim db As Database = doc.database Dim ed As Editor = doc.editor End Sub End Class End Namespace Using tr As Transaction = db.transactionmanager.starttransaction() tr.commit() End Using Générer la solution pour contrôler l'absence d'erreur (F6, également F7 avec Visual Studio 2012). Ajouter un script pour charger l'application au démarrage d'autocad Depuis l'explorateur de solutions, faire un clic droit sur le projet AcadVb2013 puis Ajouter et Nouvel élément... (Ctrl+Maj+A). Dans la boite dialogue Ajouter un nouvel élément, choisir : Fichier texte. Renommer le fichier : start.scr et cliquer sur Ajouter. Le fichier s'ouvre dans la fenêtre d'édition, ajouter l'instruction suivante sans oublier une espace à la fin. netload "..\..\bin\debug\acadvb2013.dll" Si le répertoire de sortie pour le mode Debug a été modifié, changer le chemin de la DLL en conséquence. Enregistrer le fichier start.scr. Dans les propriétés de start.scr (sélectionner start.scr dans l'explorateur de solutions), mettre la propriété Copier

dans le répertoire sur Toujours copier. Modifier le fichier de projet MSBuild pour lancer AutoCAD au débogage Les fichiers de projet MSBuild (.vbproj) sont des fichiers xml qui décrivent et contrôlent le processus de génération des applications. C'est dans ce fichier que doivent être ajoutées les instructions qui permettront de lancer AutoCAD depuis Visual Studio en mode débogage et de charger la DLL au démarrage d'autocad. Générer la solution et fermer Visual Studio pour pouvoir modifier le fichier AcadVb2013.vbproj. Ouvrir le fichier.\acadvb2013\acadvb2013\acadvb2013.vbproj avec un éditeur de texte (bloc-note, notepad+ +, etc.).

Ajouter les nœuds suivants à la fin du nœud PropertyGroup correspondant à la génération en mode Debug (le deuxième nœud PropertyGroup du fichier), après avoir modifié, si nécessaire, le chemin du fichier acad.exe correspondant à la version d'autocad ciblée et celui du fichier start.scr (le répertoire de sortie pour le mode Debug). <StartAction>Program</StartAction> <StartProgram>C:\Program Files\Autodesk\AutoCAD 2013\acad.exe</StartProgram> <StartArguments>/nologo /b "..\..\bin\debug\start.scr"</startarguments> StartAction indique que la génération du projet doit lancer un programme (ce qui n'est généralement pas le cas avec une DLL). StartProgram spécifie le programme à démarrer, ici AutoCAD. StartArguments contient les arguments qui vont lancer le script qui chargera la DLL. Le nœud PropertyGroup devrait ressembler à ça : <PropertyGroup Condition=" '$(Configuration) $(Platform)' == 'Debug AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <DefineDebug>true</DefineDebug> <DefineTrace>true</DefineTrace> <OutputPath>bin\Debug\</OutputPath> <DocumentationFile>AcadVb2013.xml</DocumentationFile> <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn> <StartAction>Program</StartAction> <StartProgram>C:\Program Files\Autodesk\AutoCAD 2013\acad.exe</StartProgram> <StartArguments>/nologo /b "..\..\bin\debug\start.scr"</startarguments> </PropertyGroup> Dans le nœud ItemGroup se trouvent les références ajoutées au projet. Si le répertoire de la solution est sur le même lecteur que celui dans le quel se trouvent les DLLs référencées (le répertoire d'installation d'autocad ou celui d'objectarx 20##), les chemins enregistrés sont relatifs. Comme le modèle sera exporté dans un répertoire différent de celui de la solution, il faut remplacer ces chemins relatifs par les chemins absolus. Par exemple, remplacer les chemins relatifs suivant : <ReferenceInclude="AcCoreMgd"> <HintPath>..\..\..\..\..\..\..\ObjectARX 2013\inc\AcCoreMgd.dll</HintPath> <ReferenceInclude="AcDbMgd"> <HintPath>..\..\..\..\..\..\..\ObjectARX 2013\inc\AcDbMgd.dll</HintPath> <ReferenceInclude="AcMgd"> <HintPath>..\..\..\..\..\..\..\ObjectARX 2013\inc\AcMgd.dll</HintPath> Par ceux-ci : <ReferenceInclude="AcCoreMgd"> <HintPath>C:\ObjectARX 2013\inc\AcCoreMgd.dll</HintPath>

<ReferenceInclude="AcDbMgd"> <HintPath>C:\ObjectARX 2013\inc\AcDbMgd.dll</HintPath> <ReferenceInclude="AcMgd"> <HintPath>C:\ObjectARX 2013\inc\AcMgd.dll</HintPath> Enregister le fichier AcadVb2013.vbproj. Exporter le modèle Ré-ouvrir la solution AcadVb2013.sln dans Visual Studio. Lancer un débogage (F5) pour contrôler le bon fonctionnement. AutocAD devrait s'ouvrir et afficher en ligne de commande : Commande: netload Nom du fichier d'assemblage: "..\..\bin\debug\acadvb2013.dll" La boite de dialogue ci-dessous indique une erreur dans le fichier AcadVb2013.vbproj Le message d'erreur ci-dessous indique soit un nom de DLL erroné dans le fichier start.scr ; soit que le fichier start.scr n'a pas été copié dans le répertoire de sortie (CF propriété Copier dans le répertoire de sortie). Commande: netload Nom du fichier d'assemblage: "..\..\bin\debug\acadvb2013.dll" Impossible de charger l'assemblage.impossible de charger l'assemblage. Détails de l'erreur: System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly... Si tout fonctionne correctement, il est temps de générer le modèle. Dans le menu FICHIER, choisir Exporter le modèle... Dans la boite de dialogue Assistant Exportation de modèle, laisser coché Modèle de projet et faire Suivant. Changer le nom du modèle comme désiré, Acad2013CsCommand, par exemple et ajouter éventuellement une description Modèle pour commande AutoCAD 2013. Terminer. Avec les options par défaut, le modèle est exporté sous forme de fichier ZIP dans les dossiers : Visual Studio 2012\Templates\ProjectTemplates

et Visual Studio 2012\My Exported Templates du répertoire Documents ou Mes documents. Ce modèle sera désormais proposé par Visual Studio au démarrage d'un nouveau projet. Penser à renommer le projet et la solution ainsi que le nom de la DLL dans le fichier start.scr du nouveau projet. Conclusion La même procédure peut être utilisée pour créer d'autres modèles, ciblant d'autres versions d'autocad et/ou du Framework, ou encore pour d'autres types de projets (fonctions LISP, bibliothèques de classe, extensions d'application,...). Il est possible de rajouter des instructions dans le fichier start.scr comme le lancement d'une commande. Il est aussi possible de spécifier un fichier DWG à ouvrir dans le noeud StartProgram du fichier.csproj avec un chemin complet ou relatif (la racine étant le répertoire debug). Exemple avec un dessin Test.dwg dans le répertoire de la solution : <StartProgram> C:\Program Files\Autodesk\AutoCAD 2013\acad.exe "..\..\..\Test.dwg" </StartProgram>