请找管理员授权。/funnyscript/edit_node_item.php
using Common_Robot2; using ConverxHull; using System.Numerics; namespace Test1 { /// <summary> /// 大族机械臂S35通过5轴计算xyz /// https://www.geogebra.org/3d/neyfpnk7 /// </summary> public class Cal_Six_To_XYZ_S35 : C_Node { public string key_robot = "";//C_Robot public string six = ""; public string? key_A = ""; public string? key_B = ""; public string? key_P7 = ""; public string AB = "100"; public Cal_Six_To_XYZ_S35(string name, C_Space space_parent, C_Space space) : base(name, space_parent, space) { } public override void init() { } public override Task run_sub() { run_sub_main(); return Task.CompletedTask; } public void run_sub_main() { C_Robot_DaZu_S35 pRobot2 = (C_Robot_DaZu_S35)this.read_var(this.key_robot, ""); if (pRobot2 == null) { Main.speak_async("没有机器人配置"); return; } string line = this.read_string(this.six); string[] strSplit = line.Split(","); float[] angles = new float[6]; for(var i=0;i<Math.Min(angles.Length, strSplit.Length); i++) { angles[i] = float.Parse(strSplit[i]); } string str_AB = this.read_string(this.AB); (C_Point3D A, C_Point3D B, C_Point3D P7) = pRobot2.求正解_角度(angles,float.Parse(str_AB)); this.save_var(this.key_A, "C_Point3D", A); this.save_var(this.key_B, "C_Point3D", B); this.save_var(this.key_P7, "C_Point3D", P7); for (var i=0;i<6;i++) { Vector3 tmp = pRobot2.rotate_center[i]; C_Point3D tmpP = new C_Point3D(tmp); Console.WriteLine((i+1)+"="+tmpP.ToString()); if (i == 5) { Console.WriteLine("=================="); } } } } }
ID=10716 \Cal_Six_To_XYZ_S35.cs
保存
using Common_Robot2; using ConverxHull; using System.Numerics; namespace Test1 { /// <summary> /// 大族机械臂S35通过5轴计算xyz /// https://www.geogebra.org/3d/neyfpnk7 /// </summary> public class Cal_Six_To_XYZ_S35 : C_Node { public string key_robot = "";//C_Robot public string six = ""; public string? key_A = ""; public string? key_B = ""; public string? key_P7 = ""; public string AB = "100"; public Cal_Six_To_XYZ_S35(string name, C_Space space_parent, C_Space space) : base(name, space_parent, space) { } public override void init() { } public override Task run_sub() { run_sub_main(); return Task.CompletedTask; } public void run_sub_main() { C_Robot_DaZu_S35 pRobot2 = (C_Robot_DaZu_S35)this.read_var(this.key_robot, ""); if (pRobot2 == null) { Main.speak_async("没有机器人配置"); return; } string line = this.read_string(this.six); string[] strSplit = line.Split(","); float[] angles = new float[6]; for(var i=0;i<Math.Min(angles.Length, strSplit.Length); i++) { angles[i] = float.Parse(strSplit[i]); } string str_AB = this.read_string(this.AB); (C_Point3D A, C_Point3D B, C_Point3D P7) = pRobot2.求正解_角度(angles,float.Parse(str_AB)); this.save_var(this.key_A, "C_Point3D", A); this.save_var(this.key_B, "C_Point3D", B); this.save_var(this.key_P7, "C_Point3D", P7); for (var i=0;i<6;i++) { Vector3 tmp = pRobot2.rotate_center[i]; C_Point3D tmpP = new C_Point3D(tmp); Console.WriteLine((i+1)+"="+tmpP.ToString()); if (i == 5) { Console.WriteLine("=================="); } } } } }