程序读取报表模板数据,写入指定文本。
后期可以用excel打开文本,分列数据,方便使用。
private void button4_Click(object sender, EventArgs e){TSM.Model model = new TSM.Model();if (model.GetConnectionStatus()){string DOC1 = "ID,PROFILE,MATERIAL,CLASS,ASSEMBLY_POS\n";//按照过滤属性Assembly选择物体,需要事先建立该过滤属性TSM.ModelObjectEnumerator Assems = model.GetModelObjectSelector().GetObjectsByFilterName("Assembly");if (Assems.GetSize() > 0){while (Assems.MoveNext()){TSM.Assembly Assembly1 = Assems.Current as TSM.Assembly;if (Assembly1 != null){TSM.Part mnpart1 = Assembly1.GetMainPart() as TSM.Part;if (mnpart1 != null){string ASS_PO = "";mnpart1.GetReportProperty("ASSEMBLY_POS", ref ASS_PO);DOC1 += string.Format("{0}|{1}|{2}|{3}|{4}\n", mnpart1.Identifier.ID.ToString(),mnpart1.Profile.ProfileString, mnpart1.Material.MaterialString, mnpart1.Class, ASS_PO);}}}MessageBox.Show("Assembly Information has been gathered");System.IO.StreamWriter S1 = new System.IO.StreamWriter(model.GetInfo().ModelPath + @"\Assembly_To_File.txt");S1.Write(DOC1);S1.Close();System.Diagnostics.Process.Start(model.GetInfo().ModelPath + @"\Assembly_To_File.txt");}else{MessageBox.Show("No Assemblies are defined in the model");}}}