DESITE Remote

Fernsteuerung

DESITE MD/CUSTOM/SHARE wird über einen TCP Socket angesprochen und ferngesteuert. ​Die Kommunikation wird über XML Botschaften durchgeführt.​

Nachrichten an DESITE senden:​

​Standardmäßig wird der Port 45456 für eingehende Nachrichten verwendet. ​Der Port kann beim Programmstart mit dem Schalter -srvPort [Portnummer] verändert werden. Ist der Port bereits belegt, wird die nächst höhere Portnummer versucht.​

Nachrichten von DESITE empfangen:

Der Client-Port ist 45455 für Botschaften von DESITE an verbundene Programme. Rückgabewerte von Kommandos an DESITE werden von DESITE über diesen Port verschickt. Der Port kann beim Programmstart mit dem Schalter -cltPort [Portnummer] verändert werden.

Beim Start von DESITE SHARE wird in das Userverzeichnis C:\Users\user]\AppData\Local\ceapoint_aec_technologies\desiteSHARE2 ​eine Logdatei geschrieben, in der die verwendeten Ports eingetragen sind.​

1. Kommandos

Dem Befehlsaufruf kann eine ID übergeben werden. Nach Durchführung des Befehls wird eine Statusinformation und eine textuelle Statusinformation mit dem ID zurückgegeben. Wird beim Aufruf keine ID übergeben, wird auch keine Antwort zurückgegeben.​

  • ​cmdID

Beispiel:​

<cmdMessage cmdID="123ABC">​
<![CDATA[​
<font size="+2" color="#ffffff">Hello World!</font>​
]]>
</cmdMessage>

​Rückgabe:

<cmd cmdID="123ABC" status="1" statusMsg="ok" />
  • cmdGetInstance

Gibt die Instanz-ID des Servers (DESITE MD, SHARE) zurück.

Beispiel:

<cmdGetInstance/>

​Rückgabe:

<instance ID="123ABC"/>

 

2. Aufruf eines Skriptes

Dem Programm DESITE MD kann ein Skript zur Ausführung übergeben werden. DESITE MD wird mit JavaScript programmiert.

  • cmdRunScript

Beispiel:​

<cmdRunScript cmdID="123ABC"><![CDATA[​
  // Example Script​
  desiteAPI.zoomToSelected()​
]]></cmdRunScript>​

Rückgabe:

message [<cmd cmdID="123ABC" status="0" statusMsg="" />]

 

3. Fenstergeometrie

  • cmdSetWinPosSize

Attributes: x, y, w, h

Beispiel:​

<cmdSetWinPosSize x="10" y="20" w="900" h="600" />
  • cmdGetWinPosSize

​Beispiel:​

<cmdGetWinPosSize/>

Rückgabe:

<winPosSize x="-4" y="-4" w="1280" h="998"/>

 

4. Nachricht

  • cmdMessage

Die Nachricht kann mit HTML-Elementen formatiert werden. Die Nachricht, die in DESITE angezeigt werden soll wird in eine CDATA-Abschnitt definiert.​

​Beispiel:​

<cmdMessage>​
<![CDATA[​
<font size="+2" color="#ffffff">Hello World!</font>​
]]>​
</cmdMessage>

 

5. Selektion

  • cmdGetSelected

Beispiel:​

<cmdGetSelected/>
  • cmdSelectAll

Selektiert/deselektiert alle Elemente. cmdSelectAll v=„false" -->  alle deselektieren

Beispiel:​

<cmdSelectAll v="true"/>
<cmdSelectAll v="false"/>
  • cmdSelect

Selektiert/deselektiert die Elemente, die in der ID-Liste enthalten sind. Die IDs werden durch ";"  getrennt. Ist v="false" werden die Elemente deselektiert.​

Beispiel:

​<cmdSelect v="true">​
Projektname::249d1d41-732b-42b7-b63c-664713800f26-0003b686;​
Projektname::249d1d41-732b-42b7-b63c-664713800f26-0003b65a​
</cmdSelect>​

 

6. Signal

  • selectionChanged​​

Wenn das Signal <selectionChanged/> aktiviert ist, sendet desite bei jeder Änderung der Selektion dieses Signal.​ Das Signal wir aktiviert/deaktiviert mit dem Befehl cmdEnableSelectionChanged. Standardmäßig ist das Signal deaktiviert.​

​​Beispiel:​​

<cmdEnableSignalSelectionChanged v="1" />

 

7. Sichtbarkeit

  • cmdGetVisible

Beispiel:​​

​<cmdGetVisble cmdID="abc"/>
  • cmdShowAll

Beispiel:​​

<!--​Show all--> <cmdShowAll v="true"/> ​
<!--Hide all--> <cmdShowAll v="false"/> 
  • cmdShowSelectedOnly
  • cmdHideSelected

 

8. Eigenschaften

  • cmdGetPropertyValuesOfVisible
  • cmdGetPropertyValuesOfSelected

Beispiel:​​

<cmdGetPropertyValuesOfSelected pName="cpiComponentType" pType="xs:string" />
  • cmdGetPropertyValue

Beispiel:​​

​<cmGetPropertyValue ID="ab45sx45a" pName="cpiComponentType" pType="xs:string" />

 

​9. Ansichtspunkte/Kamera

  • cmdZoomToSelected
  • cmdZoomToVisible
  • cmdHasElement

Prüft, ob bereits ein Objekt oder ein Container mit diesem ID vorhanden ist.​

Beispiel:​​​​

<cmdHasElement ID="abcXYZ123"/>

 

10. Objekte erzeugen/entfernen 

  • cmdCreateObject

Neues Objekt aus XML-Beschreibung erzeugen. Wenn der ID bereits vorhanden ist, wird ein neuer ID erzeugt. Die Funktion gibt den ID des neuen Objekts zurück. „parentID“ ist der ID des Containers, dem das neue Objekt hinzugefügt werden soll. Das Material „matID“ muss im selben Modell vorhanden sein wie das neue Objekt.​

<cmdCreateObject parentID="{85c92280-3637-493f-99be-509de6876e6c}-1ad" >​
  <object3D ID="ABCxyz123" name="object-2" matID="mat-abcxyz" >​
    <p x="21.0" y="1.0" z="41" />​
    <p x="25.0" y="2.0" z="41" />​
    <p x="24.0" y="3.0" z="41" />​
    <p x="22.0" y="2.5" z="41" />​
    <t p1="0" p2="1" p3="2" />​
    <t p1="2" p2="3" p3="0" />​
  </object3D>​
</cmdCreateObject>

Im Falle eines Fehler wird der Fehlercode zurückgegeben.​

  • cmdDeleteObjects

Ein oder mehrere Objekte löschen. Die IDs der Objekte werden durch ein ";" getrennt.​

<cmdDeleteObjects>​
{85c92280-3637-493f-99be-509de6876e6c}-1ad;Projektname::249d1d41-732b-42b7-b63c-664713800f26-0003b65a​
</cmdDeleteObjects>

 

11. Objekte verschieben

  • cmdTransformObject

Objekte verschieben, skalieren und rotieren.​

Beispiel:

<cmdTransformObject ID="abcXYZ">​
<t>​
  <scale sx="1.0" sy="1.0" sz="1.0" />​
  <translate dx="10.0" dy="20.0" dz="30.0" />​
  <rotate x="2.0" y="1.0" z="2.0" m="0.5 0.5 0.0   0.5 0.0 0.5   0.0 0.0 1.0" /> ​
</t>​
</cmdTransformObject>

 

12. Material erzeugen/setzen

  • cmdCreateMaterial

Erzeugen eines neuen Materials. sendet den ID des neuen Materials zurück. Das Material wird im Model  "modelID" erzeugt. Wenn das Modell nicht vorhanden ist, wird das Standardmodel im Projekt  verwendet.​

Beispiel:

<cmdCreateMaterial modelID="abcXYZZ6r">​
<material ID="default-mat-11" name="default-mat-11">​
<diff r="140" b="40" g="150" a="1"/>​
<amb r="140" b="40" g="150" a="1"/>​
<spec r="255" b="255" g="255" a="1"/>​
<trans v="0"/>​
<shin v="0.5"/>​
</material>​
</cmdCreateMaterial>
  • cmdSetMaterial

Setzen eines vorhandenen Materials für eine Liste von Objekten. Die 3D-Ansicht wird nach Setzen des Materials nicht automatisch aktualisiert.

<cmdSetMaterial cmdID="2" matID="2345xsea">​
Projektname:249d1d41-732b-42b7-b63c-664713800f26-0003b686;​
Projektname:249d1d41-732b-42b7-b63c-664713800f26-0003b65a​
</cmdSetMaterial>

​Rückgabe im status:

-1 : wenn Material nicht gefunden wurde​

>= 0 : Anzahl der Objekte, für die das Material geändert wurde.

<cmd cmdID="2" status="2" statusMsg="2 objects affected" />
  • cmdHasMaterial

Prüft, ob ein Material mit einem bestimmten Namen bereits vorhanden ist.​

Gibt den ID des Materials zurück, wenn es vorhanden ist.

<cmdHasMaterial name="abc" />

Rückgabe:

<hasMaterial ="1" ID="abcxyz12321" />

​Wenn nicht vorhanden:

<hasMaterial ="0" />

 

13. Projekt

  • cmdGetProject

Holt Projektdaten wie ID des Projekts (Projektvariante) und Dateiname.​

Beispiel:

​<cmdGetProject/>

Rückgabe:

<project ID="zh7&hsbg%4e3" file="A:/TMP/xyz.pfs"/>
  • cmdSaveProject

Speichern des aktuellen Projekts. Wenn noch kein Name vergeben wurde, muss  der Benutzer im Dateidialog einen Namen festlegen.

  • cmdSaveProjectAs

Projekt unter neuem namen oder zum ersten Mal speichern.

Beispiel:

​<cmdSaveProjectAs cmdID="1">​
D:\02-desiteMD-SupportProjects/abc2/abc.pfs​
</cmdSaveProjectAs>
  • cmdAddDocument

Dokument hinzufügen.​

Attribute:

swap: Vertauschen von Coordinaten

scale: Skalierungsfaktor, mm = 0.001, m = 1.0​

Beispiel:

<cmdAddDocument scale="0.001" swap="0 1 2">​
C:/tmp/bsp.obj​
</cmdAddDocument>
  • cmdRemoveDocument

 

14. Modelle erzeugen

  • cmdCreateModel

Neues Modell erzeugen​

<cmdCreateModel name="Model-Name" />​
Rückgabe: ID des neuen Modells und ID des RootContainers​
<newModel ID="mid123" rcID="rfgs213" />

15. Datenbank

  • cmdOpenDB

Standarddatenbank öffnen. Das Projekt muss vorhanden sein. Wenn das Projekt nicht vorhanden ist, muss zuerst gespeichert werden.​

  • cmdCloseDB

Standarddatenbank schliessen.​​

  • cmdSetPropertyValue

Wert einer Eigenschaft schreiben.​

Beispiel:

<cmdSetPropertyValue pName="Prop-A" pType="xs:string" pDomain="geometry" pValue="abc" >​
Projektname::249d1d41-732b-42b7-b63c-664713800f26-0003b686;​
Projektname::249d1d41-732b-42b7-b63c-664713800f26-0003b65a​
</cmdSetPropertyValue>

 

Benötigen Sie weitere Unterstützung? Kontaktieren Sie unser Support Team