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



Documents pareils
INSTALLATION DE PEGASUS MAIL 3.12 c FR Avec l interface Harp

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

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

Introduction à Eclipse

Google Drive, le cloud de Google

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

Validation de la création des groupes ABM et ajout de l utilisateur SASDEMO

ECLIPSE ET PDT (Php development tools)

Guide de l'agent de notification

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

AFTEC SIO 2. Christophe BOUTHIER Page 1

Sauvegarder automatiquement sa clé USB

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

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

SQL Server Installation Center et SQL Server Management Studio

Module.NET 3 Les Assemblys.NET

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

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

Cahier Technique Envoi par à partir des logiciels V7.00

Gestion des documents avec ALFRESCO

Gestion des utilisateurs : Active Directory

TrueCrypt : installation et paramétrage

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

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Utilisez Toucan portable pour vos sauvegardes

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

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

Si vous décidez d utiliser un autre chemin, c est ce nouveau chemin qu il faudra prendre en compte pour la sauvegarde. Cf. : Chapitre 9 Sauvegarde

SAUVEGARDER SES DONNEES PERSONNELLES

Initiation à Mendeley AUT2012

OneDrive, le cloud de Microsoft

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

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

Installation et prise en main

Procédure d installation de mexi backup

GUIDE D'INSTALLATION DU PGI EBP EN ETABLISSEMENT

Présentation du logiciel Cobian Backup

Installation et compilation de gnurbs sous Windows

Printer Administration Utility 4.2

Sql Server 2005 Reporting Services

BIRT (Business Intelligence and Reporting Tools)

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

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

Réseau local entre Windows Xp et 7

AxCrypt pour Windows

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

1. Utilisation du logiciel Keepass

Restauration d AdmiCash sur un nouveau PC ou système d exploitation

Mettre Linux sur une clé USB bootable et virtualisable

Introduction à Windows Script Host DescoDev

Déploiement d application Silverlight

DIASER Pôle Assistance Rectorat

Septembre 2012 Document rédigé avec epsilonwriter

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

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

CA Desktop Migration Manager

MANUEL. de l application «CdC Online» pour Windows. Table des matières

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

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

GUIDE DE DÉMARRAGE RAPIDE

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

KWISATZ MODULE PRESTASHOP

Déploiement de SAS Foundation

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

Documentation Cobian

NAS 206 Utiliser le NAS avec Windows Active Directory

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Bibliothèque numérique

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

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

Créer un rapport pour Reporting Services

Tutorial pour l installation et l utilisation de CREO et de Windchill

Pré-requis de création de bureaux AppliDis VDI

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

TeamViewer 7 Manuel Manager

Novell. NetWare 6. GUIDE D'ADMINISTRATION DE NETDRIVE

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

Guide d utilisation de «Partages Privés»

Installation en réseau de ClicMenu et des logiciels de Kitinstit

Créer et partager des fichiers

Installation des outils OCS et GLPI

Guide d'installation sous Windows

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

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Installation d'un Active Directory et DNS sous Windows Server 2008

Pour le désactiver, décochez "Site web du logiciel au démarrage" dans le menu "Fichier"

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

GUIDE D UTILISATION LE PRESENT DOCUMENT VISE A FACILITER LA PRISE EN MAIN DE L@GOON CLOUD. * Synchroniser votre entreprise

Bases pour sécuriser son Windows XP

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

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

Installation 1K-Serveur

Auguria_PCM Product & Combination Manager

KeePass - Mise en œuvre et utilisation

OESD Utilitaire de décryptage

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

Transcription:

Créer un modèle F# 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 F# 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 2013 pour Windows Desktop qui est la première version Express à supporter F#. Toutefois, F# n est pas installé d origine, il faut ajouter le module Visual F# Tools 3.1.1 téléchargeable à cette adresse : http://fsharp.org/use/windows/ Il y sera créé un modèle pour AutoCAD 2015 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 F# et le type de projet : Library (Bibliothèque de classe). Renommer le projet : AcadFs2015 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 AcadFs2015, puis clic droit et Propriétés ou cliquer sur l'icône en forme de clé plate. 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 laquelle le modèle est créé : AutoCAD 2010 et 2011 :.NET Framework 3.5 AutoCAD 2012 à 2014 :.NET Framework 4.0 AutoCAD 2015 :.NET Framework 4.5 Ajouter les bibliothèques AutoCAD Dans l'explorateur de solutions, sélectionner Références puis clic droit et Ajouter une référence... Dans la boite de dialogue Reference Manager, 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 versions 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 2010 à 2012 : AcDbMgd.dll et AcMgd.dll AutoCAD 2013 à 2015 : AcCoreMgd.dll, AcDbMgd.dll et AcMgd.dll Mettre la propriété Copy Local de ces DLLs sur False :

Ajouter une ébauche de code Renommer la classe créée par Visual Studio : Library1 avec un nom plus explicite, Commands par exemple, depuis l'explorateur de solution. Ouvrir la classe Commands dans l'éditeur de code par double clic sur Commands dans l'explorateur de solution. Supprimer l ébauche de code créée par Visual Studio. Ajouter un nom de module, optionnellement précédé d un espace de nom. Ajouter les instructions open 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 :

open System open Autodesk.AutoCAD.ApplicationServices open Autodesk.AutoCAD.DatabaseServices open Autodesk.AutoCAD.EditorInput open Autodesk.AutoCAD.Geometry open Autodesk.AutoCAD.Runtime type AcAp = Autodesk.AutoCAD.ApplicationServices.Application let getobject<'t when 'T :> DBObject> (oid : ObjectId) = oid.getobject(openmode.forread) :?> 'T let getobjects<'t when 'T :> DBObject> source = let rxc = RXClass.GetClass typeof<'t> source > Seq.cast<ObjectId> > Seq.filter (fun id -> id.objectclass.isderivedfrom rxc) > Seq.map getobject<'t> [<CommandMethod("Test")>] let test() = let doc = AcAp.DocumentManager.MdiActiveDocument let db = doc.database let ed = doc.editor use tr = db.transactionmanager.starttransaction() tr.commit() Générer la solution pour contrôler l'absence d'erreur (F6 ou F7). Ajouter un script pour charger l'application au démarrage d'autocad Depuis l'explorateur de solutions, faire un clic droit sur le projet AcadCs2013 puis Ajouter et Nouvel élément... (Ctrl+Maj+A). Dans la boite dialogue Ajouter un nouvel élément, choisir : Text File. 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\acadfs2015.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é Copy to Output Directory sur Copy always.

Modifier le fichier de projet MSBuild pour lancer AutoCAD au débogage Les fichiers de projet MSBuild (.fsproj) 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 AcadFs2015.fsproj. Ouvrir le fichier.\acadfs2015\acadfs2015\acadfs2015.fsproj 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 2015\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> <Optimize>false</Optimize> <Tailcalls>false</Tailcalls> <OutputPath>bin\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <WarningLevel>3</WarningLevel> <StartAction>Program</StartAction> <StartProgram>C:\Program Files\Autodesk\AutoCAD 2013\acad.exe</StartProgram> <StartArguments>/nologo /b "..\..\bin\debug\start.scr"</startarguments> <DocumentationFile>bin\Debug\AcadFs2015.XML</DocumentationFile> </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 lequel 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 2015\inc\AcCoreMgd.dll</HintPath> <ReferenceInclude="AcDbMgd"> <HintPath>..\..\..\..\..\..\..\ObjectARX 2015\inc\AcDbMgd.dll</HintPath> <ReferenceInclude="AcMgd"> <HintPath>..\..\..\..\..\..\..\ObjectARX 2015\inc\AcMgd.dll</HintPath> Par ceux-ci : <ReferenceInclude="AcCoreMgd"> <HintPath>C:\ObjectARX 2015\inc\AcCoreMgd.dll</HintPath> <ReferenceInclude="AcDbMgd"> <HintPath>C:\ObjectARX 2015\inc\AcDbMgd.dll</HintPath> <ReferenceInclude="AcMgd"> <HintPath>C:\ObjectARX 2015\inc\AcMgd.dll</HintPath>

Enregister le fichier AcadFs2015.fsproj. Exporter le modèle Ré-ouvrir la solution AcadFs2015.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\acadfs2015.dll" 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\acadfs2015.dll" 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é, Acad2015FsCommand, par exemple et ajouter éventuellement une description Modèle pour commande AutoCAD 2015. Terminer. Avec les options par défaut, le modèle est exporté sous forme de fichier ZIP dans les dossiers : Visual Studio 2013\Templates\ProjectTemplates et Visual Studio 2013\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 la balise StartProgram du fichier.fsproj avec un chemin complet ou relatif (la racine étant le répertoire de sortie). Exemple avec un dessin Test.dwg dans le répertoire de la solution : <StartProgram> C:\Program Files\Autodesk\AutoCAD 2015\acad.exe "..\..\..\Test.dwg" </StartProgram>