Hey,
ich stehe vor einem Verständnissproblem zur Programmierung einer Assembly.
Uns liegt im Unternehmen eine Software zur Offline-Programmierung von Industrierobotern vor.
Dieses Programm verfügt über ein API. Ziel meiner Bemühungen soll nun sein, die Positionen, zu denen sich der Roboter bewegt von außen (per txt-File) beeinflussen zu können. Einer Position (genannt Pose) liegen dabei immer eine Anzahl von Gelenkwinkel zu Grunde. Also Beispielsweise: ein 6-Achs-Roboter hat 6 Freiheitsgrade und damit 6 Gelenke, deren Winkel zueinander bestimmt werden müssen.
Laut Software Development Kit gibt es folgende Relevante Klassen für mich:
Zitat: |
TxPose > PoseData Property - Gets or sets the pose data of the pose. - Und der dazu angegebene C#-Code: public TxPoseData PoseData {get; set;}
TxPoseData > JointValues Property - Describes the pose of a device. - Gets or sets the joint values of the pose data. - public ArrayList JointValues {get; set;}
|
Den Button an sich habe ich bereits programmiert und in die Software integriert. Nur die Befehlslogik bekomme ich nicht gebacken.. Mangels Verständnis.
Mein Ziel wäre es, erst mal die bestehenden Posen auszulesen. Das würde mich schon etwas weiterbringen. Bei //The command logic seht ihr, was ich schon probiert habe.. nur ich bekomme es überhaupt nicht auf die Reihe, die bestehenden Posen auszulesen. Ich checke auch ehrlich gesagt nicht, was dieses {get; set;} sein soll. Den einfachen String in die txt zu schreiben war kein Ding.. aber diese Posen.l..
Ich bin mir bewusst, dass die Fragestellung ziemlich schwammig ist. Aber leider bin ich auch nicht in der Lage präziser zu formulieren mangels C#-Wissen.
Aber vielleicht kann mir hier ja einer weiterhelfen.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50:
| using Tecnomatix.Engineering; using Tecnomatix.Engineering.Ui; using System.Resources; using System.Collections;
namespace EngineeringCommands { public class MyCommand: TxButtonCommand { public MyCommand() { } public override void Execute(System.Object cmdParams) { public TxPoseData PoseData {get; set;}
string lines = "First line.\r\nSecond line.\r\nThird line."; System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\users\\***\\Desktop\\Posen.txt"); file.WriteLine(lines); file.Close(); } public override string Name { get { ResourceManager resourceMgr = new ResourceManager("Test_DLL.StringTable", this.GetType().Assembly); return resourceMgr.GetString("CMD_NAME"); } } public override string Category { get { ResourceManager resourceMgr = new ResourceManager("Test_DLL.StringTable", this.GetType().Assembly); return resourceMgr.GetString("CMD_CATEGORY"); } } } } |
ich muss leider auch zugeben, dass ich C#-technisch ein ziemlicher DAU bin.
Ich war der Meinung, dasss ich mit meinen C & VB-Kenntnissen einigermaßen gut mit C# zurecht komme. Leider ist dem nicht so und ich stelle mich teilweise recht dumm an.
Ich bin über jede Hilfe dankbar
