public void Open(DataMedium SourceData, TranslationContext Context, NameValueMap Options, ref object TargetObject) { InvAddIn.InventorSol S = new InvAddIn.InventorSol(); using (var reader = new Pdf3DReaderService()) { List <Element3D> allElements = null; List <string> Olist = new List <string>(); reader.ReadPdf3D(SourceData.FileName, out allElements); S.Draw3D((Part)allElements[0], "test"); } //// InvAddIn.InventorSol.Start(Pdf_File); //InvAddIn.InventorSol S = new InvAddIn.InventorSol(); //S.Start(SourceData.FileName); ////InvAddIn.InventorSol.StandartTest(); }
public void DrawAssembly(string PdfFile) { AssemblyDocument oDoc = (AssemblyDocument)Addin3DPdf.TrAddInServer.MApp.ActiveDocument; // Set a reference to the assembly component definition. AssemblyComponentDefinition oAsmCompDef = oDoc.ComponentDefinition; // Set a reference to the transient geometry object. TransientGeometry oTG = Addin3DPdf.TrAddInServer.MApp.TransientGeometry; string A = ".iam"; string P = ".ipt"; using (var reader = new Pdf3DReaderService()) { List <Element3D> allElements = null; List <string> Olist = new List <string>(); reader.ReadPdf3D(PdfFile, out allElements); for (int i = 0; i < allElements.Count; i++) { try { Draw3D((Part)allElements[i], "Part" + i + P); Olist.Add("Part" + i + P); } //if (allElements[i].Type.Equals(Element3DType._Assembly)) catch (Exception) { //Get Parts of Assembly //Draw Parts //Make Assemby of Parts List <Element3D> allElements1 = getAllelement(allElements[i]); List <string> Assemblylist1 = new List <string>(); // list of Assemblies / May be a Dictionary with the Matrix...!!!! for (int j = 0; j < allElements1.Count; j++) { // if (allElements[j].Type.Equals(Element3DType._Assembly)) try { Draw3D((Part)allElements[j], "Part" + i + "_" + j + P); Assemblylist1.Add("Part" + i + "_" + j + P); } catch (Exception) { //Get Parts of Assembly //Draw Parts //Make Assemby of Parts List <Element3D> allElements2 = getAllelement(allElements[j]); List <string> Assemblylist2 = new List <string>(); // list of Assemblies for (int k = 0; k < allElements2.Count; k++) { // if (allElements[k].Type.Equals(Element3DType._Assembly)) try { Draw3D((Part)allElements[k], "Part" + i + "_" + j + "_" + k + P); Assemblylist2.Add("Part" + i + "_" + j + "_" + k + P); } catch (Exception) { //Get Parts of Assembly //Draw Parts //Make Assemby of Parts List <Element3D> allElements3 = getAllelement(allElements[k]); List <string> Assemblylist3 = new List <string>(); // list of Assemblies for (int l = 0; l < allElements3.Count; l++) { //if (allElements[l].Type.Equals(Element3DType._Assembly)) try { Draw3D((Part)allElements[l], "Part" + i + "_" + j + "_" + k + "_" + l + P); //Save part Assemblylist3.Add("Part" + i + "_" + j + "_" + k + "_" + l + P); } catch (Exception) { /// Stop or End of occurenses } } // Make a joint ofAssemblylist3 // save a Occurence to a Name // "Assembly" + i + "_" + j+"_"+k Assemblylist2.Add("Assembly" + i + "_" + j + "_" + k + A); } } // Make a joint Assemblylist2 // save a Occurence to a Name // "Assembly" + i+"_"+j Assemblylist1.Add("Assembly" + i + "_" + j + A); } } // Make a joint of Assemblylist1 // save a Occurence to a Name // "Assembly" + i Olist.Add("Assembly" + i + A); } } } // Make a joint of Olist //save Document }