请找管理员授权。/funnyscript/edit_node_item.php
using Common_Robot2; using palletizing; using System.Text; namespace Test1 { /// <summary> /// 读取文件,放置箱子 /// </summary> public class File_Block_Put : C_Node { public string file = ""; public string encode = "utf-8"; public File_Block_Put(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() { try { string file_new = space.read_string(this,file); string str_encode = space.read_string(this,encode); if (str_encode == "" || str_encode == "utf8") { str_encode = "utf-8"; } var pEncode=Encoding.GetEncoding(str_encode); using (StreamReader sr = new StreamReader(file_new, pEncode)) { string line; while ((line = sr.ReadLine()) != null) { if (line.StartsWith("//")) { //注释语句 }else if (line.Trim() == "") { continue; } else { string[] split = line.Split("="); string[] command = split[1].Split(","); switch (split[0]) { case "space": if (command.Length >3) { long x_len = long.Parse(command[1]); long y_len = long.Parse(command[2]); long z_len = long.Parse(command[3]); C_Block_Space block_space = new C_Block_Space(x_len, y_len, z_len, 0, 0, 0); this.save_var(command[0], "", block_space); } break; case "mn": if (command.Length > 7) { long x_len = long.Parse(command[1]); long y_len = long.Parse(command[2]); long z_len = long.Parse(command[3]); long nx = long.Parse(command[4]); long ny = long.Parse(command[5]); long nz = long.Parse(command[6]); int type_index = int.Parse(command[7]); C_Box_Type box_type = new C_Box_Type(0, type_index, x_len, y_len, z_len, 0); C_Block_Simple simple = new C_Block_Simple(box_type, x_len * nx, y_len * ny, z_len * nz, nx, ny, nz); this.save_var(command[0], "C_Block_Simple", simple); } break; case "put": if (command.Length > 8) { C_Block_Space block_space = (C_Block_Space)this.read_var(command[0], ""); C_Block_Simple block = (C_Block_Simple)this.read_var(command[1], ""); string split1 = this.read_string(command[2]); string split2 = this.read_string(command[3]); string split3 = this.read_string(command[4]); (C_Block_Space cut1, C_Block_Space cut2, C_Block_Space cut3) = Main.空间切割(block_space, block, split1, split2, split3); List<C_Block_Space> list_space = (List<C_Block_Space>)this.read_var(command[8], "List<C_Block_Space>"); if (list_space == null) { list_space = new List<C_Block_Space>(); this.save_var(command[8], "List<C_Block_Space>", list_space); } block_space.block_simple = block; list_space.Add(block_space); this.save_var(command[5], "C_Block_Space", cut1); this.save_var(command[6], "C_Block_Space", cut2); this.save_var(command[7], "C_Block_Space", cut3); } break; } } } } } catch (Exception e) { Main.WriteLine(this,"文件读取错误:"); Main.WriteLine(this, e.Message); } } } }
ID=10719 File_Block_Put.cs
保存
using Common_Robot2; using palletizing; using System.Text; namespace Test1 { /// <summary> /// 读取文件,放置箱子 /// </summary> public class File_Block_Put : C_Node { public string file = ""; public string encode = "utf-8"; public File_Block_Put(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() { try { string file_new = space.read_string(this,file); string str_encode = space.read_string(this,encode); if (str_encode == "" || str_encode == "utf8") { str_encode = "utf-8"; } var pEncode=Encoding.GetEncoding(str_encode); using (StreamReader sr = new StreamReader(file_new, pEncode)) { string line; while ((line = sr.ReadLine()) != null) { if (line.StartsWith("//")) { //注释语句 }else if (line.Trim() == "") { continue; } else { string[] split = line.Split("="); string[] command = split[1].Split(","); switch (split[0]) { case "space": if (command.Length >3) { long x_len = long.Parse(command[1]); long y_len = long.Parse(command[2]); long z_len = long.Parse(command[3]); C_Block_Space block_space = new C_Block_Space(x_len, y_len, z_len, 0, 0, 0); this.save_var(command[0], "", block_space); } break; case "mn": if (command.Length > 7) { long x_len = long.Parse(command[1]); long y_len = long.Parse(command[2]); long z_len = long.Parse(command[3]); long nx = long.Parse(command[4]); long ny = long.Parse(command[5]); long nz = long.Parse(command[6]); int type_index = int.Parse(command[7]); C_Box_Type box_type = new C_Box_Type(0, type_index, x_len, y_len, z_len, 0); C_Block_Simple simple = new C_Block_Simple(box_type, x_len * nx, y_len * ny, z_len * nz, nx, ny, nz); this.save_var(command[0], "C_Block_Simple", simple); } break; case "put": if (command.Length > 8) { C_Block_Space block_space = (C_Block_Space)this.read_var(command[0], ""); C_Block_Simple block = (C_Block_Simple)this.read_var(command[1], ""); string split1 = this.read_string(command[2]); string split2 = this.read_string(command[3]); string split3 = this.read_string(command[4]); (C_Block_Space cut1, C_Block_Space cut2, C_Block_Space cut3) = Main.空间切割(block_space, block, split1, split2, split3); List<C_Block_Space> list_space = (List<C_Block_Space>)this.read_var(command[8], "List<C_Block_Space>"); if (list_space == null) { list_space = new List<C_Block_Space>(); this.save_var(command[8], "List<C_Block_Space>", list_space); } block_space.block_simple = block; list_space.Add(block_space); this.save_var(command[5], "C_Block_Space", cut1); this.save_var(command[6], "C_Block_Space", cut2); this.save_var(command[7], "C_Block_Space", cut3); } break; } } } } } catch (Exception e) { Main.WriteLine(this,"文件读取错误:"); Main.WriteLine(this, e.Message); } } } }