Пример #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            swApp   = SolidWorksSingleton.Get_swApp();
            swModel = swApp.ActiveDoc;
            var arquivo = new Arquivo();

            int[] codigos = Enumerable.Range(4020128, 2).ToArray();

            for (int i = 0; i < codigos.Length - 1; i++)
            {
                txtCodigo.Text = codigos[i].ToString();
                swApp.OpenDoc(@"C:\ELETROFRIO\ENGENHARIA SMR\PRODUTOS FINAIS ELETROFRIO\MECÂNICA\RACK PADRAO\template_00_rp.SLDASM",
                              (int)swDocumentTypes_e.swDocASSEMBLY);
                swModel = swApp.ActiveDoc;
                swView  = swModel.ActiveView;
                swView.EnableGraphicsUpdate = false;
                // Chamar montador e passar codigo do kit
                string codigo = codigos[i].ToString();
                Montador.MontarKit(codigo);
                swModel = swApp.ActiveDoc;
                swExt   = swModel.Extension;
                swApp.DocumentVisible(true, (int)swDocumentTypes_e.swDocASSEMBLY);
                swApp.DocumentVisible(true, (int)swDocumentTypes_e.swDocPART);
                string fullPath = @"C:\ELETROFRIO\ENGENHARIA SMR\PRODUTOS FINAIS ELETROFRIO\MECÂNICA\RACK PADRAO\RACK PADRAO TESTE\" + codigo + ".sldasm";
                swExt.Rebuild((int)swRebuildOptions_e.swUpdateMates);
                swModel.SaveAs(fullPath);
                swApp.CloseDoc(fullPath);
            }

            swView.EnableGraphicsUpdate = true;
        }
Пример #2
0
        //----------------------------------------------------------------------------------------------------------------------------------------------
        private static void AbrirArquivoDoSolidWorks(string nome, int tipo)
        {
            if (nome == string.Empty)
            {
                return;
            }

            SldWorks.SldWorks swApp;
            ModelDoc2         swModel;

            swApp   = SolidWorksSingleton.Get_swApp();
            swModel = swApp.ActiveDoc;
            var errors   = 0;
            var warnings = 0;

            // Abrir arquivo invisível.
            swApp.DocumentVisible(false, (int)swDocumentTypes_e.swDocASSEMBLY);
            swApp.DocumentVisible(false, (int)swDocumentTypes_e.swDocPART);
            swApp.OpenDoc6(nome, tipo, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", (int)errors, (int)warnings); // o tipo será 1, 2, ou 3. Part, Assembly ou Drawing



            AssemblyDoc swAsm;
            Component2  swComp;

            swAsm = (AssemblyDoc)swModel;
            var r = new Random();

            swComp = swAsm.AddComponent4(nome, "", 0.5, 0, 0.5);
            //swApp.ActivateDoc(nome);

            //Feature swFeature = swComp.FeatureByName("cs_base1");
            //swFeature.Select(true);
            var nome_cs   = "cs_" + Path.GetFileNameWithoutExtension(nome);
            var swFeature = swComp.FeatureByName(nome_cs);

            if (swFeature != null)
            {
                swFeature.Select(true);
            }
            var nomeDoComponente = swComp.Name2; // Retorna nome com o número da instância
        }
        public static void SelecionarSCM(Componente componente)
        {
            SldWorks.SldWorks swApp;
            ModelDoc2         swModel;
            AssemblyDoc       swAsm;

            swApp   = SolidWorksSingleton.Get_swApp();
            swModel = swApp.ActiveDoc;
            swAsm   = swApp.ActiveDoc;

            Component2 swComp;
            Feature    swFeature;
            Mate2      swMate;

            object[] componentes = swAsm.GetComponents(true);
            // Metodo interno.
            void SelecionarCS(string nomeDoSistemaDeCoordenadas)
            {
                foreach (var comp in componentes)
                {
                    swComp    = (Component2)comp;
                    swFeature = swComp.FeatureByName(nomeDoSistemaDeCoordenadas);
                    if (swFeature != null)
                    {
                        swFeature.Select(true);
                        var id = swComp.GetID();

                        continue;
                    }
                }
            }

            var cs = "cs_" + componente.item; // cs da peça, igual ao prefixo cs_ mais o codigo do item.

            //SelecionarCS(cs); // Chama metodo interno
            SelecionarCS(componente.scm); // Chama metodo interno

            swMate = swAsm.AddMate5((int)swMateType_e.swMateCOORDINATE, (int)swMateAlign_e.swAlignNONE, false, 0, 0, 0, 0, 0, 0, 0, 0, false, true, 0, out int error);
            swModel.ClearSelection();
        }