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; }
//---------------------------------------------------------------------------------------------------------------------------------------------- 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(); }