ZWCAD .NET API

Je dois (essayer de) migrer pour un client un complément AutoCAD utilisant l'API .NET vers ZWCAD. ZWCAD est un de ces clones d'AutoCAD qui tentent de reproduire au mieux les fonctionnalités d'AutoCAD pour un prix bien plus modique. ZWCAD dispose d'une API .NET, censée être très largement compatible avec l'API AutoCAD. Voici rapidement le détail des différentes étapes nécessaire au développement d'un complément ZWCAD (le fameux Hello world!).

Après avoir téléchargé et installé une version d'évaluation de ZWCAD, je démarre donc Visual Studio 2015 et je crée un nouveau projet de type Bibliothèque de classes en utilisant la version 4 du .NET framework.

J'ajoute ensuite deux références à mon projet VS : ZwManaged.dll et ZwDatabaseMgd.dll (ZWCAD est un programme 32 bits, il s'installe dans C:\Program Files (x86)\ZWCAD+ 2015 ; je trouve ces deux DLL dans ce répertoire). Pour les deux, je bascule Copie locale à False puisque ma DLL va être chargée dans ZWCAD et que donc les deux assemblages seront déjà chargé dans l'espace mémoire du processus.

Je renomme la classe créée par défaut en Cmds et je lui ajoute une méthode qui va être interprétée comme une commande par ZWCAD. J'ajoute les deux attributs CommandClass et CommandMethod qui permettent respectivement de marquer la classe Cmds comme une classe qui fournit des implémentations de commandes et la méthode HelloWorld comme une commande :

using Test;
using ZwSoft.ZwCAD.ApplicationServices;
using ZwSoft.ZwCAD.Runtime;

[assembly: CommandClass(typeof (Cmds))]

namespace Test
{
  public class Cmds
  {
    [CommandMethod("HELLOWORLD")]
    public void HelloWorld()
    {
      Application.ShowAlertDialog("Hello world!");
    }
  }
}

Dans les propriétés du projet VS, onglet Debug, je définit le chemin vers ZWCAD.exe (C:\Program Files (x86)\ZWCAD+ 2015\ZWCAD.exe) comme action de démarrage. Je clique ensuite sur Start (F5), ZWCAD démarre.

Je tape NETLOAD sur la ligne de commande, je sélectionne la DLL qui vient d'être généré, je lance la commande HELLOWORLD. Ça marche :

Message affiché dans ZWCAD

Je viens de créer mon premier complément ZWCAD. Pour l'instant tout marche comme sur des roulettes. Reste à voir comment va se passer la migration d'un programme bien plus complexe...

Etiquettes:

Comments

Bonjour, Avez-vous déjà essayé de créer un Ribbon dans ZwCAD ? L'écriture à la Autocad n'a pas l'air compatible (je ne trouve pas l'équivalent de RibbonServices) Cordialement.

Bonjour Jacques,

Non je n'ai jamais essayé de créer un ruban.

Add new comment