public void setMaterial(int Material) { String sFilePath = @"C:\Program Files\Dassault Systemes\B28\win_b64\startup\materials\German\Catalog.CATMaterial"; MaterialDocument oMaterial_document = (MaterialDocument)hsp_catiaApp.Documents.Open(sFilePath); MaterialFamilies cFamilies_list = oMaterial_document.Families; foreach (MaterialFamily mf in cFamilies_list) { Console.WriteLine(mf.get_Name()); } MaterialFamily myMf = cFamilies_list.Item("Metall"); foreach (Material mat in myMf.Materials) { Console.WriteLine(mat.get_Name()); } Material myStahl = myMf.Materials.Item("Stahl"); Material myAlu = myMf.Materials.Item("Aluminium"); MaterialManager partMatManager = hsp_catiaPart.Part.GetItem("CATMatManagerVBExt") as MaterialManager; // brauchen Sie Stahl im Part? short linkMode = 0; if (Material.Equals(2)) { partMatManager.ApplyMaterialOnPart(hsp_catiaPart.Part, myAlu, linkMode); } else { partMatManager.ApplyMaterialOnPart(hsp_catiaPart.Part, myStahl, linkMode); } }
internal override Material ConvertDataArray(string[] data) { string code = data[0].Trim(); if (!int.TryParse(data[2], out int pdc)) { pdc = 0; } MaterialFamily tempFamily; if (data[1].Length != 18) { tempFamily = null; } else { tempFamily = new MaterialFamily() { L1 = new MaterialFamilyLevel() { Level = 1, Code = data[1].Substring(0, 6) }, L2 = new MaterialFamilyLevel() { Level = 2, Code = data[1].Substring(6, 6) }, L3 = new MaterialFamilyLevel() { Level = 3, Code = data[1].Substring(12, 6) } } }; Material output = new Material() { Code = code, MaterialFamily = tempFamily, ControlPlan = pdc, Project = new Project() { Code = data[3].Trim() } }; return(output); } #endregion Methods }