Example #1
0
        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();
        }
Example #2
0
        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
        }