程序读取报表模板数据,写入指定文本。
后期可以用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");
}
}
}