CADEditorX. Présentation

CADEditorX. Présentation

L’interface standard de CADEditorX :

l'interface standard de CADEditorX

  1. Télécharger la version de CADEditorX requise : 32-bits ou 64-bits
  2. Installer le programme
  3. Pour enregistrer l’élément de contrôle dans le système via la ligne de commande Windows, il faut lancer la commande suivante :
    regsvr32 <full path to the CADEditorLib.ocx library>

    Par exemple, pour enregistrer la version 64-bits de CADEditorX sous Windows 7 64-bits il faut exécuter :

    regsvr32 "c:\Program Files\CADSoftTools\CADEditorX 11\CADEditorLib.ocx"

    Notez bien : le composant CADEditorLib.ocx est enregistré dans le système lors l’installation. Si on teste les versions de CADEditorX différentes, on peut avoir besoin d’enregistrer manuellement le composant dans le système. Vous trouverez plus d’informations sur l’utilitaire Regsvr32 sous https://support.microsoft.com/fr-fr/kb/249873

  4. Exécuter l’application de démonstration XML IDE dans le menu Démarrer. Cette application vous aide à mieux comprendre la fonctionnalité de CADEditorX et à vous présenter l’usage de multiples exemples XML.
    la fenêtre XML IDE
  5. Sélectionner l’exemple Add.xml dans la liste d’exemples et cliquer sur le bouton Execute XML.
  6. Lorsque XML de l’exemple Add.xml est exécuté , deux objets sont ajoutés au contrôle : le texte CADSoftTools et une longue ligne horizontale de 10 unités.
    Le résultat de l'exécution de l'exemple Add.xml dans XML IDE
  7. En plus, il est possible d'ajouter des textes, des lignes et d’autres objets par utiliser les outils de dessin incorporés dans le contrôle CADEditorX. Par exemple, sélectionner l’outil Ligne et l’ajouter en cliquant avec le souris sur le composant requis du dessin.
  8. Ouvrir les projets de démonstration qui montrent comment exécuter des commandes les plus fréquemment utilisées.
    Projet de démonstration Delphi Demo de CADEditorX

Comment utiliser XML.

L’interaction de programmation avec l’élément de contrôle CADEditorX est basée sur l’utilisation de la fonction ProcessXML et l’évenement OnProcess.

Fonction ProcessXML

La fonction ProcessXML est utilisée pour procéder les instructions XML. Elle reçoit XML entré comme un paramètre, puis elle le procède et retourne XML comme résultat. L’application de démonstration XML IDE inclut des exemples d’instructions XML.

Syntaxe:

Delphi
function ProcessXML(const AInput: WideString): WideString

C#
public string ProcessXML(string AInput)

VB.NET
Public Function ProcessXML(aInput As String) As String

C++
BSTR ProcessXML(BSTR AInput)

JScript
public function ProcessXML(AInput : String) : String

AInput est un document XML entré; la valeur renvoyée est un document XML qui contient des données d’entrée.

Exemple C# :

private void button1_Click(object sender, EventArgs e)
{
  string command ="<?xml version =\"1.0\" encoding=\"utf-8\"?><cadsofttools version =\"2\">" +
                  "<command text =\"HideAllInterface\"/>" +
                  "</cadsofttools>";
  Process(command);
}    
 
private void Process(string arg)
{
  string result = axSgCADEditor1.ProcessXML(arg);
  label1.Text = result;
}

Evénement OnProcess

L’événement OnProcess est activé en cas suivants :

  • lorsque la fonction ProcessXML est exécutée
  • lorsque l’un d’événements internes de CADEditorX est activé, si cet événement interne était activé auparavant (notamment si vous vous abonnez à cet événement).

Cela fait l’événement OnProcess pratique pour procéder des données renvoyées comme XML.

Syntaxe:

Delphi
property OnProcess = procedure(ASender: TObject; const AXML: WideString) of object

C#
public event AxCADEditorLib.ISgCADEditorEvents_OnProcessEventHandler OnProcess
public delegate void ISgCADEditorEvents_OnProcessEventHandler(object ASender,AxCADEditorLib.ISgCADEditorEvents_OnProcessEvent e)

VB.NET
Public Event OnProcess(ByVal aSender As Object, ByVal e As AxCADEditorLib.ISgCADEditorEvents_OnProcessEvent)

C++
public IDispEventSimpleImpl<1, CCADEditorXEvents, &__uuidof(CADEditorLib::ISgCADEditorEvents)>

JScript
public event OnProcess(ASender : Object, AXML: String)

ASender est un contrôle qui fournit des données; AXML est un document XML qui contient des données de sortie.

Exemple C# :

public Form1()
{
    InitializeComponent();
    axSgCADEditor1.OnProcess += new AxCADEditorLib.ISgCADEditorEvents_OnProcessEventHandler(axSgCADEditor1_OnProcess);
}

private void axSgCADEditor1_OnProcess(object sender, AxCADEditorLib.ISgCADEditorEvents_OnProcessEvent e)
{
    label2.Text = e.aXML;
}

private void button2_Click(object sender, EventArgs e)
{
    string sMouseDown = "<?xml version =\"1.0\" encoding=\"UTF-8\"?><cadsofttools version =\"2\">" +
                        "<signtoevent Event =\"OnMouseDown\" Enabled =\"True\"/>" +
                        "</cadsofttools>";            
    Process(sMouseDown);

// The OnMouseDown event is an internal CADEditorX event

}

Pour réaliser des tâches compliquées avec API XML de CAO on peut recommander d’utiliser un analyseur XML pour traiter le XML de sortie. Il y a beaucoup d’analyseurs XML compatibles avec des langages de programmation populaires. Microsoft Windows offre la technologie DOM pour traiter XML ; cette technologie est assez puissante, mais un peu lente. En plus, il y a beaucoup d’analyseurs XML simples et vites, qui sont disponibles en OpenSource pour des langages de programmation différentes.