CADEditorX. Wie zu starten

Standardbenutzeroberfläche von CADEditorX:

CADEditorX standard interface

  1. Laden Sie die benötige Version vom CADEditorX: 32 bit oder 64 bit
  2. Installieren Sie das Programm
  3. Um den Control im System per Windows-Kommandozeile zu registrieren, führen Sie das Folgende aus:
    regsvr32 <full path to the CADEditorLib.ocx library>

    Zum Beispiel, um die 64-bit Version vom CADEditorX in 64-bit Version von Windows 7 zu registrieren, führen Sie das folgende aus:

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

    Hinweis: die CADEditorLib.ocx-Komponente wird im System während der Installation registriert. Wenn Sie die verschiedenen Versionen vom CADEditorX testen, kann die manuelle Installation der Komponente im System benötigt werden. Erfahren Sie mehr über das Hilfsprogramm Regsvr32: https://support.microsoft.com/de-de/kb/249873

  4. Im Start-Menü führen Sie die XML IDE-Demoanwendung aus. Diese Anwendung hilft Ihnen, die CADEditorX-Features kennenzulernen, und gibt den Zugang zu der großen Anzahl der XML-Beispiele.
    XML IDE-Fenster
  5. In der Liste der Beispiele auf der linken Seite wählen Sie Add.xml-Beispiel und klicken Sie auf Execute XML.
  6. Wenn XML aus dem Add.xml-Beispiel ausgeführt ist, werden zwei Objekte im Control hinzugefügt: der Text „CADSoftTools“ und die 10-Einheiten-lange horizontale Linie.
    Ergebnis des Add.xml-Beispiels
  7. Sie können auch das Text, die Linie und andere Objekte mit Hilfe der Zeichnungswerkzeuge, die in CADEditorX eingebettet sind, hinzufügen. Zum Beispiel, Sie können das Linie-Werkzeug wählen und sie in den benötigen Zeichnungsteil mit der Maus hinzufügen.
  8. Öffnen Sie die Demo-Projekte, die zeigen, wie man die häufig benötigten Befehle ausführen kann.
    Delphi-Demo von CADEditorX

Wie man XML verarbeiten kann

Die programmatische Interaktion mit dem CADEditorX-Control ist basiert auf der Nutzung der ProcessXML-Funktion und dem OnProcess-Ereignis.

ProcessXML-Funktion

Die ProcessXML–Funktion wird benutzt, um die XML-Instruktionen zu verarbeiten. Sie bekommt die Ausgabe-XML als Parameter, verarbeitet ihn und gibt das Ergebnis als XML zurück. Die XML DIE-Demoanwendung enthält die Beispiele von den XML-Instruktionen.

Syntax:

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 ist ein Eingabe-XML-Dokument; der Rückgabewert ist ein XML-Dokument, das einige Eingabedaten enthält.

C#-Beispiel:

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;
}

OnProcess-Ereignis

Das OnProcess-Ereignis ist in den folgenden Fällen aktiviert:

  • wenn die ProcessXML-Funktion ist ausgeführt
  • wenn ein der internen CADEditorX-Ereignisse aktiviert ist, falls dieses interne Ereignis früher aktiviert wurde (d.h. wenn Sie auf dieses Ereignis abonniert haben).

Dadurch ist das OnProcess-Ereignis zur Verarbeitung der als XML zurückgegebenen Daten bequem.

Syntax:

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 ist der Control, der die Daten stellt; AXML ist ein XML-Dokument, das die Ausgabedaten enthält.

C#-Beispiel:

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

}

Um die komplizierten Aufgaben mit Hilfe der CAD XMLK API, empfiehlt man, einen XML-Parser zu benutzen, der die Ausgabe-XML verarbeitet. Es gibt die große Anzahl der XML-Parsers für alle populären Programmiersprachen. Microsoft Windows bietet die DOM-Technologie zur XML-Verarbeitung an. Diese Technologie ist recht stark aber sie ist ziemlich langsam. Außerdem gibt es viele einfache und schnelle XML-Parsers, die als OpenSource für die verschiedenen Programmiersprachen angeboten werden.