private void SaveDoc(string name) { //Сохранение SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("10-4"); SolidWorksDocument.Visible = true; SolidWorksDocument.SaveAs2(base.NewPartPath + @"\" + name + ".SLDASM", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, false, true); }
private void OpenTemplate(PanelType_e panelType) { if (isDoublePanal) { AssemblyName = "02-104-50"; } else { AssemblyName = "02-01"; } NewPartPath = System.IO.Path.Combine(RootFolder, SourceFolder, AssemblyName + ".SLDASM"); SolidWorksAdapter.OpenDocument(NewPartPath, swDocumentTypes_e.swDocASSEMBLY); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(AssemblyName + ".SLDASM"); }
//Profile for FrontPanel public void FrameProfil(double lenght, ProfilType_e type, bool flange30, string partName) { var width = framelessPanel.ThermoStrip == ThermoStrip_e.ThermoScotch ? 38.5 : 40.0; string config = "00"; switch (type) { case ProfilType_e.HorisontalProfil: config = "00"; break; case ProfilType_e.VerticalProfil: config = "01"; break; } NewPartPath = System.IO.Path.Combine(base.RootFolder, SubjectDestinationFolder, partName + ".SLDPRT"); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("02-11-11-40-.SLDPRT"); SolidWorksDocument.ShowConfiguration2(config); string[] configs = SolidWorksDocument.GetConfigurationNames(); foreach (var s in configs) { if (!s.Equals(config)) { SolidWorksDocument.DeleteConfiguration2(s); } } // rename current configuration. SolidWorksDocument.ConfigurationManager.ActiveConfiguration.Name = "00"; lenght = type == ProfilType_e.HorisontalProfil ? lenght - 60 : lenght; double rivetStep = Math.Truncate(lenght / 100) * 1000; parameters.Add("D2@Эскиз1", lenght); parameters.Add("D1@Кривая1", rivetStep == 1000 ? 2000 : rivetStep); parameters.Add("D2@Эскиз23", (!flange30) ? 10.0 : 15.0); parameters.Add("D3@Эскиз23", (!flange30) ? 10.0 : 15.0); EditPartParameters("02-11-11-40-", NewPartPath, 0); }
protected virtual void EditPartParameters(string partName, string newPath, int materialID) { foreach (var eachParameter in parameters) { try { Dimension myDimension = (SolidWorksDocument.Parameter(eachParameter.Key + "@" + partName + ".SLDPRT")) as Dimension; myDimension.SystemValue = eachParameter.Value / 1000; } catch (Exception ex) { //System.Windows.Forms.MessageBox.Show(eachParameter.Key + "@" + partName); MessageObserver.Instance.SetMessage(ex.ToString(), MessageType.Error); } } this.parameters.Clear(); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(partName); if (SolidWorksDocument != null) { SolidWorksDocument.ForceRebuild3(true); toSQL.AddCustomProperty("", materialID, SolidWorksAdapter.SldWoksAppExemplare); SolidWorksDocument.Extension.SaveAs(newPath + ".SLDPRT", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent + (int)swSaveAsOptions_e.swSaveAsOptions_SaveReferenced + (int)swSaveAsOptions_e.swSaveAsOptions_UpdateInactiveViews, null, ref errors, warnings); InitiatorSaveExeption(errors, warnings, newPath); SolidWorksAdapter.CloseDocument(SolidWorksDocument); } else { System.Windows.Forms.MessageBox.Show("Не удалось преобразовать деталь " + partName); } SolidWorksAdapter.SldWoksAppExemplare.DocumentVisible(false, 2); SolidWorksAdapter.SldWoksAppExemplare.DocumentVisible(false, 1); }
protected virtual void EditPartParameters(string partName, string newPath) { //Console.WriteLine(newPath); foreach (var eachParameter in parameters) { try { Console.WriteLine(eachParameter.Key + "@" + partName + " val: " + eachParameter.Value); Dimension myDimension = (SolidWorksDocument.Parameter(eachParameter.Key + "@" + partName + ".SLDPRT")) as Dimension; myDimension.SystemValue = eachParameter.Value / 1000; } catch (Exception ex) { Console.WriteLine(eachParameter.Key + " " + ex); } } SolidWorksDocument.ForceRebuild3(true); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(partName); SolidWorksDocument.Extension.SaveAs(newPath + ".SLDPRT", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent + (int )swSaveAsOptions_e.swSaveAsOptions_SaveReferenced + (int)swSaveAsOptions_e.swSaveAsOptions_UpdateInactiveViews, null, ref errors, warnings); InitiatorSaveExeption(errors, warnings, newPath); this.parameters.Clear(); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc(partName); }
public string Build(SpigotType_e type, int width, int height) { string modelName = GetModelName(type); NewSpigotName = GetSpigotName(type, width, height); Dimension dimension; int addDimH = modelName == "12-30" ? 10 : 1; string newSpigotPath = $@"{RootFolder}{SubjectDestinationFolder}\{NewSpigotName}"; string drawingName = modelName == "12-30" ? modelName : "12-00"; var modelSpigotDrw = $@"{RootFolder}{SourceFolder}\{drawingName}.SLDDRW"; ModelDoc2 swDrawingSpigot = SolidWorksAdapter.OpenDocument(modelSpigotDrw, swDocumentTypes_e.swDocDRAWING); solidWorksDocument = SolidWorksAdapter.AcativeteDoc("12-00"); AssemblyDoc assemblyDocument = (AssemblyDoc)solidWorksDocument; assemblyDocument.ResolveAllLightWeightComponents(false); DeleteEquations(modelName); solidWorksDocument.ForceRebuild3(true); #region formuls var w = (Convert.ToDouble(width) - 1) / 1000; // ???????????? var h = Convert.ToDouble((Convert.ToDouble(height) + addDimH) / 1000); // ???????????? const double step = 50; var weldWidth = Convert.ToDouble((Math.Truncate(Convert.ToDouble(width) / step) + 1)); // ???????????? var weldHeight = Convert.ToDouble((Math.Truncate(Convert.ToDouble(height) / step) + 1)); // ???????????? #endregion DeleteComponents((int)type); if (modelName == "12-20") { PartName = $"12-20-{height}.SLDPRT"; if (CheckExistPart != null) { CheckExistPart(PartName, out IsPartExist, out NewPartPath); } else { MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); } if (IsPartExist) { solidWorksDocument.Extension.SelectByID2("12-20-001-1@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); assemblyDocument.ReplaceComponents(NewPartPath, "", true, true); } else { NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{NewPartPath}"; solidWorksDocument.Extension.SelectByID2("D1@Вытянуть1@12-20-001-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D1@Вытянуть[email protected]"))); dimension.SystemValue = h - 0.031; solidWorksDocument.Extension.SelectByID2("D1@Кривая1@12-20-001-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D1@Кривая[email protected]"))); dimension.SystemValue = weldHeight; SolidWorksDocument.Extension.SaveAs(NewPartPath, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, NewPartPath); ComponentsPathList.Add(NewPartPath); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc(NewPartPath); } //12-20-002 PartName = $"12-20-{width}.SLDPRT"; MessageObserver.Instance.SetMessage("Check exist part. " + NewPartPath); if (CheckExistPart != null) { MessageObserver.Instance.SetMessage("\tCheckExistPartEvent"); CheckExistPart(PartName, out IsPartExist, out NewPartPath); } else { MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); } if (IsPartExist) { solidWorksDocument.Extension.SelectByID2("12-20-002-1@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); assemblyDocument.ReplaceComponents(PartName, "", true, true); } else { NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{NewPartPath}"; solidWorksDocument.Extension.SelectByID2("D1@Вытянуть1@12-20-002-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D1@Вытянуть[email protected]"))); dimension.SystemValue = w - 0.031; solidWorksDocument.Extension.SelectByID2("D1@Кривая1@12-20-002-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D1@Кривая[email protected]"))); dimension.SystemValue = weldWidth; SolidWorksDocument.Extension.SaveAs(NewPartPath, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, NewPartPath); ComponentsPathList.Add(NewPartPath); } //12-003 PartName = $"12-03-{width}-{height}.SLDPRT"; if (CheckExistPart != null) { CheckExistPart(PartName, out IsPartExist, out NewPartPath); } else { MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); } if (IsPartExist) { solidWorksDocument.Extension.SelectByID2("12-003-1@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); assemblyDocument.ReplaceComponents(PartName, "", true, true); } else { NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{NewPartPath}"; solidWorksDocument.Extension.SelectByID2("D3@Эскиз1@12-003-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D3@Эскиз[email protected]"))); dimension.SystemValue = w; solidWorksDocument.Extension.SelectByID2("D2@Эскиз1@12-003-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D2@Эскиз[email protected]"))); dimension.SystemValue = h; solidWorksDocument.EditRebuild3(); SolidWorksDocument.Extension.SaveAs(NewPartPath, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, NewPartPath); ComponentsPathList.Add(NewPartPath); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc(NewPartPath); } } if (modelName == "12-30") { //12-30-001 PartName = $"12-30-{height}.SLDPRT"; MessageObserver.Instance.SetMessage("Check exist part. " + NewPartPath); if (CheckExistPart != null) { CheckExistPart(PartName, out IsPartExist, out NewPartPath); } else { MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); } if (IsPartExist) { solidWorksDocument.Extension.SelectByID2("12-30-001-1@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); assemblyDocument.ReplaceComponents(PartName, "", true, true); } else { NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{NewPartPath}"; solidWorksDocument.Extension.SelectByID2("D1@Вытянуть1@12-30-001-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D1@Вытянуть[email protected]"))); dimension.SystemValue = h - 0.031; solidWorksDocument.Extension.SelectByID2("D1@Кривая1@12-30-001-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D1@Кривая[email protected]"))); dimension.SystemValue = weldHeight; SolidWorksDocument.Extension.SaveAs(NewPartPath, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, NewPartPath); ComponentsPathList.Add(NewPartPath); } //12-30-002 PartName = $"12-30-{width}.SLDPRT"; if (CheckExistPart != null) { CheckExistPart(PartName, out IsPartExist, out NewPartPath); } else { MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); } if (IsPartExist) { solidWorksDocument.Extension.SelectByID2("12-30-002-1@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); assemblyDocument.ReplaceComponents(PartName, "", true, true); } else { NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{NewPartPath}"; solidWorksDocument.Extension.SelectByID2("D1@Вытянуть1@12-30-002-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D1@Вытянуть[email protected]"))); dimension.SystemValue = w - 0.031; solidWorksDocument.Extension.SelectByID2("D1@Кривая1@12-30-002-1@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D1@Кривая[email protected]"))); dimension.SystemValue = weldHeight; SolidWorksDocument.Extension.SaveAs(NewPartPath, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, NewPartPath); ComponentsPathList.Add(NewPartPath); } //12-003 PartName = $"12-03-{width}-{height}.SLDPRT"; if (CheckExistPart != null) { CheckExistPart(PartName, out IsPartExist, out NewPartPath); } else { MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); } if (IsPartExist) { solidWorksDocument.Extension.SelectByID2("12-003-2@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); assemblyDocument.ReplaceComponents(PartName, "", true, true); } else { NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{NewPartPath}"; solidWorksDocument.Extension.SelectByID2("D3@Эскиз1@12-003-2@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D3@Эскиз[email protected]"))); dimension.SystemValue = w; solidWorksDocument.Extension.SelectByID2("D2@Эскиз1@12-003-2@12-00", "DIMENSION", 0, 0, 0, false, 0, null, 0); dimension = ((Dimension)(solidWorksDocument.Parameter("D2@Эскиз[email protected]"))); dimension.SystemValue = h; solidWorksDocument.EditRebuild3(); SolidWorksDocument.Extension.SaveAs(NewPartPath, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, NewPartPath); ComponentsPathList.Add(NewPartPath); } } solidWorksDocument.ForceRebuild3(true); solidWorksDocument.Extension.SaveAs(newSpigotPath + ".SLDASM", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, newSpigotPath + ".SLDASM"); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc(NewSpigotName + ".SLDASM"); ComponentsPathList.Add(newSpigotPath + ".SLDASM"); swDrawingSpigot.Extension.SelectByID2("DRW1", "SHEET", 0, 0, 0, false, 0, null, 0); var drw = (DrawingDoc)SolidWorksAdapter.AcativeteDoc(drawingName + ".SLDDRW"); drw.ActivateSheet("DRW1"); drw.SetupSheet5("DRW1", 12, 12, 1, GetDrawingScale(width, height), true, @"\\pdmsrv\SolidWorks Admin\Templates\Основные надписи\A3-A-1.slddrt", 0.42, 0.297, "По умолчанию", false); swDrawingSpigot.Extension.SaveAs(newSpigotPath + ".SLDDRW", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, newSpigotPath + ".SLDDRW"); ComponentsPathList.Add(newSpigotPath + ".SLDDRW"); SolidWorksAdapter.CloseAllDocumentsAndExit(); return(newSpigotPath); }
public void Build(Vector3 frameSize, int profileType, ServiceSide serviceSide) { string caseAssemblyPath = Path.Combine(RootFolder, SourceFolder, modelName); Patterns.Observer.MessageObserver.Instance.SetMessage("\n" + caseAssemblyPath + "\n"); ModelDoc2 SolidWorksDocument = SolidWorksAdapter.OpenDocument(caseAssemblyPath, swDocumentTypes_e.swDocASSEMBLY);// SolidWorksDocumentumentTypes_e.SolidWorksDocumentASSEMBLY); Patterns.Observer.MessageObserver.Instance.SetMessage("открылась сборка"); //AssemblyDocument = SolidWorksAdapter.ToAssemblyDocument( SolidWorksDocument); double rivetL; string newName = "01-P150-45-" + (frameSize.Z - 140); string newPartPath = GetFrameCasePath(newName); if (File.Exists(new FileInfo(newPartPath).FullName)) { SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(modelName); SolidWorksDocument.Extension.SelectByID2("01-P150-45-1640-27@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, false, 0, null, 0); AssemblyDocument.ReplaceComponents(newPartPath, "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("01-P150-45-1640.SLDPRT"); } else if (File.Exists(newPartPath) != true) // TO DO delegate { rivetL = (Math.Truncate((frameSize.Z - 170) / step) + 1) * 1000; parameters.Add("D1@Вытянуть1", frameSize.Z - 140); parameters.Add("D1@Кривая1", rivetL); EditPartParameters("01-P150-45-1640", newPartPath, 0); //frameSize.X newName = "01-P150-45-" + (frameSize.X - 140); newPartPath = GetFrameCasePath(newName); if (File.Exists(new FileInfo(newPartPath).FullName)) { SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(modelName); SolidWorksDocument.Extension.SelectByID2("01-003-50-22@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, false, 0, null, 0); AssemblyDocument.ReplaceComponents(newPartPath, "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("01-003-50.SLDPRT"); } else { rivetL = (Math.Truncate((frameSize.X - 170) / step) + 1) * 1000; parameters.Add("D1@Вытянуть1", frameSize.X - 140); parameters.Add("D1@Кривая1", rivetL); EditPartParameters("01-P150-45-1640", newPartPath, 0); } //01-P252-45-770 newName = "01-P252-45-" + (frameSize.X - 100); newPartPath = newPartPath = GetFrameCasePath(newName); if (File.Exists(new FileInfo(newPartPath).FullName)) { SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(modelName); SolidWorksDocument.Extension.SelectByID2("01-P252-45-770-6@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, false, 0, null, 0); AssemblyDocument.ReplaceComponents(newPartPath, "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("01-P252-45-770.SLDPRT"); } else { parameters.Add("D1@Вытянуть1", frameSize.X - 100); EditPartParameters("01-P150-45-1640", newPartPath, 0); } //frameSize.Y newName = "01-P150-45-" + (frameSize.Y - 140); newPartPath = newPartPath = GetFrameCasePath(newName); if (File.Exists(new FileInfo(newPartPath).FullName)) { SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(modelName); SolidWorksDocument.Extension.SelectByID2("01-P150-45-510-23@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, false, 0, null, 0); AssemblyDocument.ReplaceComponents(newPartPath, "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("01-P150-45-510.SLDPRT"); } else { rivetL = (Math.Truncate((frameSize.Y - 170) / step) + 1) * 1000; parameters.Add("D1@Вытянуть1", (frameSize.Y - 140)); parameters.Add("D1@Кривая1", rivetL); EditPartParameters("01-P150-45-1640", newPartPath, 0); } // 01-P252-45-550 newName = "01-P252-45-" + (frameSize.Y - 100); newPartPath = newPartPath = GetFrameCasePath(newName); if (File.Exists(new FileInfo(newPartPath).FullName)) { SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(modelName); SolidWorksDocument.Extension.SelectByID2("01-P252-45-550-10@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, false, 0, null, 0); AssemblyDocument.ReplaceComponents(newPartPath, "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("01-P252-45-550.SLDPRT"); } else { parameters.Add("D1@Вытянуть1", frameSize.Y - 100); EditPartParameters("01-P252-45-550", newPartPath, 0); } SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(modelName); SolidWorksDocument.EditRebuild3(); SolidWorksDocument.ForceRebuild3(true); // AssemblyDocument = (AssemblyDoc)SolidWorksDocument; if (serviceSide == ServiceSide.Left) { SolidWorksDocument.Extension.SelectByID2("M8-Panel block-one side-1@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("M8-Panel block-one side-6@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("M8-Panel block-one side-7@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("Threaded Rivets с насечкой-10@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("Threaded Rivets с насечкой-4@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("Threaded Rivets с насечкой-12@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("Threaded Rivets с насечкой-12@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); } else if (serviceSide == ServiceSide.Right) { SolidWorksDocument.Extension.SelectByID2("M8-Panel block-one side-16@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("Threaded Rivets с насечкой-21@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("Threaded Rivets с насечкой-22@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("M8-Panel block-one side-17@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("Threaded Rivets с насечкой-23@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("M8-Panel block-one side-18@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("M8-Panel block-one side-18@" + modelName.Replace(".SLDASM", ""), "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); } } }
public string Build(int type, Vector2 spigotSize, int materialID) // должен возвращать лист с путями к файлам { Dictionary <string, string> dictionary = new Dictionary <string, string>(); long tempId = 0; List <long> idObjWithNewPath = new List <long>(); DataSet ds = null; //DataTable dt = ipsModuleObject.GetIMBASETable((long)IMBASE_TablesID.Spigot, out ds, out dictionary); base.PartPrototypeName = GetPrototypeName((SpigotType_e)type); string drawingNameWithExt = "12-00.SLDDRW"; int addDimH = base.PartPrototypeName == "12-30" ? 10 : 1; string drawingSpigotPath = Path.Combine(RootFolder, SourceFolder, drawingNameWithExt); SolidWorksAdapter.OpenDocument(drawingSpigotPath, swDocumentTypes_e.swDocDRAWING); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(base.AssemblyName + ".SLDASM"); SolidWorksAdapter.ToAssemblyDocument(SolidWorksDocument); DeleteEquations(base.PartPrototypeName); DeleteComponents(type); SolidWorksDocument.ForceRebuild3(true); #region formuls double w = spigotSize.X; double h = spigotSize.Y - addDimH; const double step = 50; double weldWidth = Math.Truncate(spigotSize.X / step) * 1000 + 1; double weldHeight = Math.Truncate(spigotSize.Y / step) * 1000 + 1; #endregion if (base.PartPrototypeName == "12-20") { #region 12-20 base.PartName = $"12-20-{spigotSize.Y}"; //if (ipsModuleObject.CheckForSimilarRows(base.PartName, dt, dictionary))// добавить out filePath //{ // // открывать детальку // SolidWorksDocument.Extension.SelectByID2("12-20-001-1@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); // AssemblyDocument.ReplaceComponents(base.NewPartPath, "", true, true); //} //else //{ base.NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, base.PartName); base.parameters.Add("D1@Вытянуть1", h - 31); base.parameters.Add("D1@Кривая1", weldHeight); EditPartParameters("12-20-001", base.NewPartPath, materialID); //tempId = op.WriteIntoIMBASE_Spigot_Table(dt, base.NewPartPath + ".SLDPRT", "Обозначениеttt", base.PartName, spigotSize.X.ToString(), spigotSize.Y.ToString(), type.ToString(), 1); //ComponentsPathList.Add(base.NewPartPath); idObjWithNewPath.Add(tempId); //} //12-20-002 base.PartName = $"12-20-{spigotSize.X}"; //if (ipsModuleObject.CheckForSimilarRows(base.PartName, dt, dictionary)) //{ // //открывать детальку //} //else //{ base.NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, base.PartName); base.parameters.Add("D1@Вытянуть1", w - 31); base.parameters.Add("D1@Кривая1", weldWidth); EditPartParameters("12-20-002", base.NewPartPath, materialID); // tempId = op.WriteIntoIMBASE_Spigot_Table(dt, base.NewPartPath + ".SLDPRT", "Обозначениеttt", base.PartName, spigotSize.X.ToString(), spigotSize.Y.ToString(), type.ToString(), 1); //ComponentsPathList.Add(base.NewPartPath); //Part=1296 //Изделие=1052 idObjWithNewPath.Add(tempId); //} //12-003 base.PartName = $"12-03-{spigotSize.X}-{spigotSize.Y}"; //if (ipsModuleObject.CheckForSimilarRows(base.PartName, dt, dictionary)) //{ // //открывать детальку //} //else //{ base.NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, base.PartName); base.parameters.Add("D3@Эскиз1", w); base.parameters.Add("D2@Эскиз1", h); EditPartParameters("12-003", base.NewPartPath, materialID); // tempId = op.WriteIntoIMBASE_Spigot_Table(dt, base.NewPartPath + ".SLDPRT", "Обозначениеttt", base.PartName, spigotSize.X.ToString(), spigotSize.Y.ToString(), type.ToString(), 1); //ComponentsPathList.Add(base.NewPartPath); idObjWithNewPath.Add(tempId); //} #endregion } else if (base.PartPrototypeName == "12-30") { #region 12-30 //12-30-001 base.PartName = $"12-30-{spigotSize.Y}"; //if (CheckExistPart != null) //{ // CheckExistPart(base.PartName, RootFolder, out base.NewPartPath); //} //else //{ // MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); //} //if (NewPartPath != string.Empty && NewPartPath != null) //{ // SolidWorksDocument.Extension.SelectByID2("12-30-001-1@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); // AssemblyDocument.ReplaceComponents(base.NewPartPath, "", true, true); //} //else //{ base.NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, base.PartName); base.parameters.Add("D1@Вытянуть1", h - 31); base.parameters.Add("D1@Кривая1", weldHeight); //base.parameters.Add("D5@Эскиз1", weldHeight); EditPartParameters("12-30-001", base.NewPartPath, materialID); ComponentsPathList.Add(base.NewPartPath); //} //12-30-002 base.PartName = $"12-30-{spigotSize.X}"; //if (CheckExistPart != null) //{ // CheckExistPart(base.PartName, RootFolder, out base.NewPartPath); //} //else //{ // MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); //} //if (NewPartPath != string.Empty && NewPartPath != null) //{ // SolidWorksDocument.Extension.SelectByID2("12-30-002-1@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); // AssemblyDocument.ReplaceComponents(base.NewPartPath, "", true, true); //} //else //{ base.NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, base.PartName); base.parameters.Add("D1@Вытянуть1", w - 31); base.parameters.Add("D1@Кривая1", weldHeight); EditPartParameters("12-30-002", base.NewPartPath, materialID); ComponentsPathList.Add(base.NewPartPath); //} //12-003 base.PartName = $"12-03-{spigotSize.X}-{spigotSize.Y}"; //if (CheckExistPart != null) //{ // CheckExistPart(base.PartName, RootFolder, out base.NewPartPath); //} //else //{ // MessageObserver.Instance.SetMessage("CheckExistPartEvent can not be null", MessageType.Warning); //} //if (NewPartPath != string.Empty && NewPartPath != null) //{ // SolidWorksDocument.Extension.SelectByID2("12-003-2@12-00", "COMPONENT", 0, 0, 0, false, 0, null, 0); // AssemblyDocument.ReplaceComponents(base.NewPartPath, "", true, true); //} //else //{ base.NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, base.PartName); base.parameters.Add("D3@Эскиз1", w); base.parameters.Add("D2@Эскиз1", h); EditPartParameters("12-003", base.NewPartPath, materialID); ComponentsPathList.Add(base.NewPartPath); //} #endregion } SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(base.AssemblyName + ".SLDASM"); SolidWorksDocument.ForceRebuild3(true); NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, GetSpigotName((SpigotType_e)type, spigotSize)); SolidWorksDocument.Extension.SaveAs(NewPartPath + ".SLDASM", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, NewPartPath + ".SLDASM"); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc(base.NewPartPath + ".SLDASM"); //tempId = op.WriteIntoIMBASE_Spigot_Table(dt, base.AssemblyName + ".SLDASM", "ОбозначениеСборка", base.PartName, spigotSize.X.ToString(), spigotSize.Y.ToString(), type.ToString(), 1); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(drawingNameWithExt); SolidWorksDRW = SolidWorksAdapter.ToDrawingDoc(SolidWorksDocument); base.SolidWorksDRW.ActivateSheet("DRW1"); SolidWorksDRW.SetupSheet5("DRW1", 12, 12, 1, GetDrawingScale(spigotSize), true, @"\\pdmsrv\SolidWorks Admin\Templates\Основные надписи\A3-A-1.slddrt", 0.42, 0.297, "По умолчанию", false); SolidWorksDocument.Extension.SaveAs(NewPartPath + ".SLDDRW", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref error, ref warning); InitiatorSaveExeption(error, warning, NewPartPath + ".SLDDRW"); // create relations between docs //ipsModuleObject.MakeRelationsBtwnDocs(idObjWithNewPath, tempId); SolidWorksAdapter.CloseAllDocumentsAndExit(); return(NewPartPath); }
public string Build(int type, double width, double lenght, bool onlyPath, int materialID) { SolidWorksDocument = null; base.PartName = "15-000"; base.NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{base.PartName}"; string modelRoofPath = $@"{RootFolder}\{SourceFolder}\{base.PartName}.SLDASM"; SolidWorksAdapter.OpenDocument(modelRoofPath, swDocumentTypes_e.swDocASSEMBLY, "00"); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(base.PartName + ".SLDASM"); DeleteComponents(type); #region Сохранение и изменение элементов var addwidth = 100; var addwidth2 = 75; var type4 = 0; var divwidth = 1; if ((RoofType_e)type == RoofType_e.Two || (RoofType_e)type == RoofType_e.Six) { addwidth = 75; divwidth = 2; } else if ((RoofType_e)type == RoofType_e.Four) { type4 = 170; addwidth2 = 170 + 75; } double widthD = width / divwidth + addwidth; double lengthD = lenght - 28.5; const double step = 200; const double step2 = 150; double weldW = Math.Truncate(lenght / step) + 1; double weldW2 = Math.Truncate(lenght / step2) + 1; //15-001 #region string newPartName = $"15-0{type}-01-{width}-{lenght}"; AssemblyName = $"15-0{type}-01-{width}-{lenght}.SLDASM"; //CheckExistPart(NewPartPath, RootFolder, out NewPartPath); if (base.IsPartExist) { SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("15-000.SLDASM"); SolidWorksDocument.Extension.SelectByID2("15-001-1@15-000", "COMPONENT", 0, 0, 0, false, 0, null, 0); base.AssemblyDocument.ReplaceComponents(AssemblyName, "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("15-001.SLDPRT"); } else { base.NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{newPartName}"; base.parameters.Add("D1@Эскиз1", (RoofType_e)type == RoofType_e.Five || (RoofType_e)type == RoofType_e.Six ? (140 + lengthD + type4) : (lengthD + type4)); base.parameters.Add("D2@Эскиз1", widthD); base.parameters.Add("D4@Эскиз27", addwidth2 - 4.62); base.parameters.Add("D1@Эскиз27", 90); base.parameters.Add("D2@Эскиз27", 75 - 4.62); base.parameters.Add("D1@Эскиз24", ((RoofType_e)type == RoofType_e.Five || (RoofType_e)type == RoofType_e.Six) ? 149.53 : 9.53); base.parameters.Add("D1@Кривая2", weldW2 * 1000); base.parameters.Add("D1@Кривая1", weldW * 1000); EditPartParameters("15-001", NewPartPath, materialID); } #endregion //15-002 if type = 6 #region if ((RoofType_e)type == RoofType_e.Six) { newPartName = $"15-06-02-{width}-{lenght}"; //CheckExistPart(NewPartPath, RootFolder, out NewPartPath); if (base.IsPartExist) { SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("15-000.SLDASM"); SolidWorksDocument.Extension.SelectByID2("15-002-1@15-000", "COMPONENT", 0, 0, 0, false, 0, null, 0); base.AssemblyDocument.ReplaceComponents(AssemblyName, "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("15-002.SLDPRT"); } else { base.NewPartPath = $@"{RootFolder}\{SubjectDestinationFolder}\{newPartName}"; base.parameters.Add("D1@Эскиз1", 140 + lengthD + type4); base.parameters.Add("D2@Эскиз1", widthD); base.parameters.Add("D4@Эскиз27", addwidth2 - 4.62); base.parameters.Add("D1@Эскиз27", 90); base.parameters.Add("D2@Эскиз27", 75 - 4.62); base.parameters.Add("D2@Эскиз23", 165); base.parameters.Add("D1@Кривая2", weldW2 * 1000); base.parameters.Add("D1@Кривая1", weldW * 1000); EditPartParameters("15-002", NewPartPath, materialID); } SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("15-000.SLDASM"); SolidWorksDocument.Extension.SelectByID2("15-001-3@15-000", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.Extension.SelectByID2("ЗеркальныйКомпонент2@15-000", "COMPPATTERN", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditSuppress2(); } else // если тип не == 6, удаляем деталь 15-002 { SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("15-000.SLDASM"); SolidWorksDocument.Extension.SelectByID2("15-002-1@15-000", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); } #endregion switch ((RoofType_e)type) { case RoofType_e.Two: case RoofType_e.Six: SolidWorksDocument.Extension.SelectByID2("Винт самосверл 6-гр.гол с шайбой-33@15-000", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Винт самосверл 6-гр.гол с шайбой-40@15-000", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); break; default: SolidWorksDocument.Extension.SelectByID2("Винт самосверл 6-гр.гол с шайбой-26@15-000", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); break; } #endregion try { SolidWorksDocument.ForceRebuild3(true); SolidWorksDocument.SaveAs2(AssemblyName, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, false, true); ComponentsPathList.Add(base.NewPartPath); //SolidWorksAdapter.CloseAllDocumentsAndExit(); } catch (Exception ex) { Patterns.Observer.MessageObserver.Instance.SetMessage(ex.ToString()); } if (onlyPath) { return(base.NewPartPath); } return(base.NewPartPath); }
public void BuildMountageFrame(bool cheched, int width, int lenght, int thikness, int FrameType, int offset, int materialID) { string assemblyName = "10-4"; string modelMontageFramePath = $@"{base.RootFolder}\{base.SourceFolder}\{assemblyName}.SLDASM"; SolidWorksDocument = SolidWorksAdapter.OpenDocument(modelMontageFramePath, swDocumentTypes_e.swDocASSEMBLY, ""); tbAssemblyNameDataContext bildFrame = new tbAssemblyNameDataContext(); SolidWorksAdapter.ToAssemblyDocument(SolidWorksDocument); int?ID = 0; ID = bildFrame.AirVents_AddAssemblyFrame(FrameType, width, lenght, thikness, offset, 0, ref ID); string assmblName = ID?.ToString(); if (cheched) { width = width - 20; } tempOffset = offset; if (offset > (lenght - 125) * 10) { offset = (lenght - 250) * 10; MessageBox.Show("Смещение превышает допустимое значение! Программой установлено - " + (offset / 10)); } else { SetBends = GetSetBends; //получаем значения KFactor, BendRadius из SWPlusBD Materials.BendTable GetFrameType((MontageFrameType_e)FrameType, lenght, out offset); //определяем по типу рамы, какие балки удалять SetBends?.Invoke((decimal)thikness, out KFactor, out BendRadius); if (lenght > 1000) { SolidWorksDocument.Extension.SelectByID2("Middle@10-01-01-4-1@10-4", "FTRFOLDER", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditUnsuppress2(); SolidWorksDocument.Extension.SelectByID2("Middle", "FTRFOLDER", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditUnsuppress2(); } #region Удаление поперечной балки //Тип рамы 2 if (internalCrossbeam == false) { SolidWorksDocument.Extension.SelectByID2("10-03-01-4-1@10-4", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-39@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-40@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Washer 6402_gost-23@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Гайка DIN 934-19@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Болт DIN 933-22@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-41@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-42@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Washer 6402_gost-24@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Гайка DIN 934-20@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Болт DIN 933-23@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-43@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-44@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Washer 6402_gost-25@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Гайка DIN 934-21@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Болт DIN 933-24@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-45@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-46@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Washer 6402_gost-26@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Гайка DIN 934-22@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Болт DIN 933-25@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); // Удаление ненужных элементов продольной балки SolidWorksDocument.Extension.SelectByID2("Вырез-Вытянуть8@10-01-01-4-1@10-4", "BODYFEATURE", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditSuppress2(); } #endregion #region Удаление продольной балки // Погашение внутренней продольной балки if (internalLongitudinalBeam == false) { foreach (var s in new[] { "5", "6", "7", "8" }) { SolidWorksDocument.Extension.SelectByID2("Болт DIN 933-" + s + "@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); } foreach (var s in new[] { "6", "7", "8", "9", "37", "38", "39", "40" }) { SolidWorksDocument.Extension.SelectByID2("Washer 6402_gost-" + s + "@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); } foreach (var s in new[] { "17", "18", "19", "20", "21", "22", "23", "24", "57", "58", "59", "60" }) { SolidWorksDocument.Extension.SelectByID2("Шайба DIN 125-" + s + "@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); } SolidWorksDocument.Extension.SelectByID2("10-04-4-2@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); //// Удаление ненужных элементов поперечной балки SolidWorksDocument.Extension.SelectByID2("Регулируемая ножка-10@10-4", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Регулируемая ножка-11@10-4", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); SolidWorksDocument.Extension.SelectByID2("Регулируемая ножка-002@10-4", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditDelete(); foreach (var s in new[] { "10", "11", "12", "13", "40", "41", "42", "43" }) { SolidWorksDocument.Extension.SelectByID2("Гайка DIN 934-" + s + "@10-4", "COMPONENT", 0, 0, 0, true, 0, null, 0); SolidWorksDocument.EditDelete(); } int deleteOption = (int)swDeleteSelectionOptions_e.swDelete_Absorbed + (int)swDeleteSelectionOptions_e.swDelete_Children; SolidWorksDocument.Extension.SelectByID2("Вырез-Вытянуть5@10-03-01-4@10-4", "BODYFEATURE", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.Extension.DeleteSelection2(deleteOption); SolidWorksDocument.Extension.SelectByID2("Вырез-Вытянуть4@10-03-01-4@10-4", "BODYFEATURE", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.Extension.DeleteSelection2(deleteOption); } else { //Продольные балки (Длина установки) ID = 0; ID = bildFrame.AirVents_AddAssemblyFrame(FrameType, width, 0, thikness, 0, 4, ref ID); SolidWorksDocument.Extension.SelectByID2("10-04-4-2@10-4", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditUnsuppress2(); base.parameters.Add("D1@Эскиз1", lenght - 140); base.parameters.Add("D1@Листовой металл", (double)BendRadius); base.parameters.Add("D2@Листовой металл", (double)KFactor * 1000); base.parameters.Add("Толщина@Листовой металл", thikness); EditPartParameters("10-04-4", base.NewPartPath + @"\10-" + ID, materialID); } #endregion } #region Изменение параметров if (internalCrossbeam == true) { ID = 0; ID = bildFrame.AirVents_AddAssemblyFrame(FrameType, width, 0, thikness, offset, 2, ref ID); bildFrame.SubmitChanges(); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("10-01-01-4"); SolidWorksDocument.Extension.SaveAs(base.NewPartPath + @"\10-" + ID + ".SLDPRT", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent + (int)swSaveAsOptions_e.swSaveAsOptions_Copy, null, ref errors, warnings); SolidWorksAdapter.CloseDocument(SolidWorksDocument); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("10-4"); SolidWorksDocument.Extension.SelectByID2("10-01-01-4-2@10-4", "COMPONENT", 0, 0, 0, false, 0, null, 0); AssemblyDocument.ReplaceComponents(base.NewPartPath + @"\10-" + ID + ".SLDPRT", "", false, true); base.parameters.Add("D1@Эскиз1", lenght); base.parameters.Add("D3@Эскиз25", lenght - offset); base.parameters.Add("D1@Листовой металл", (double)BendRadius); base.parameters.Add("D2@Листовой металл", (double)KFactor * 1000); base.parameters.Add("Толщина@Листовой металл", thikness); EditPartParameters(@"10-" + ID, base.NewPartPath + @"\10 -" + ID, materialID); } //Продольные балки (Длина установки) ID = 0; ID = bildFrame.AirVents_AddAssemblyFrame(FrameType, lenght, 0, thikness, offset, 1, ref ID); bildFrame.SubmitChanges(); base.parameters.Add("D1@Эскиз1", lenght); base.parameters.Add("D3@Эскиз25", offset); base.parameters.Add("D1@Листовой металл", (double)BendRadius); base.parameters.Add("D2@Листовой металл", (double)KFactor * 1000); base.parameters.Add("Толщина@Листовой металл", thikness); EditPartParameters("10-01-01-4", base.NewPartPath + @"\10-" + ID, materialID); // Поперечная балка (Ширина установки) ID = 0; ID = bildFrame.AirVents_AddAssemblyFrame(FrameType, Convert.ToInt32(width - 0.12), 0, thikness, 0, 3, ref ID); bildFrame.SubmitChanges(); SolidWorksDocument = SolidWorksAdapter.AcativeteDoc("10-4"); SolidWorksDocument.Extension.SelectByID2("10-03-01-4-1@10-4", "COMPONENT", 0, 0, 0, false, 0, null, 0); SolidWorksDocument.EditUnsuppress2(); base.parameters.Add("D2@Эскиз1", width - 0.12); base.parameters.Add("D1@Листовой металл", (double)BendRadius); base.parameters.Add("D2@Листовой металл", (double)KFactor * 1000); base.parameters.Add("Толщина@Листовой металл", thikness); EditPartParameters("10-03-01-4", base.NewPartPath + @"\10-" + ID, materialID); #endregion SaveDoc(assmblName); }
//Profiles for reinforcing panel #region Усиливающие рамки public void ReinforcingProfile(string testName) { const double thiknessF = 1; //var bendParams = sbSqlBaseData.BendTable(thiknessF); //var bendRadius = Convert.ToDouble(bendParams[0]); //var kFactor = Convert.ToDouble(bendParams[1]); const double heightF = 38.0; // Артурчик сказал не надо. 06.03.2017 16:45 #region Усиливающая рамка по ширине //newName = усиливающаяРамкаПоШирине.NewName; //newName = modelName + "-06-" + width + "-" + "40-" + materialP2[0] + скотч; //newPartPath = $@"{Settings.Default.DestinationFolder}\{_destinationFolder}\{newName}.SLDPRT"; SolidWorksDocument = SolidWorksAdapter.AcativeteDoc(testName);// "02-11-07-40-"); // horisontal up if (false) { } else { parameters.Add("D2@Эскиз1", framelessPanel.PanelType == PanelType_e.RemovablePanel ? framelessPanel.SizePanel.X - 49.2 : framelessPanel.SizePanel.X - 47.2); //parameters.Add("D1@Эскиз1", heightF); parameters.Add("D1@Кривая3", ScrewsByWidthInner); parameters.Add("D1@Кривая2", колСаморезВинтШирина); //Размеры для отверсти под клепальные гайки под съемные панели parameters.Add("G0@Эскиз32", OutputHolesWrapper.G0 - 3.6); parameters.Add("G1@Эскиз32", OutputHolesWrapper.G1); parameters.Add("G2@Эскиз32", OutputHolesWrapper.G2); parameters.Add("G3@Эскиз32", OutputHolesWrapper.G0); //Convert.ToString(количествоВинтов) parameters.Add("L1@Эскиз32", OutputHolesWrapper.L1); parameters.Add("D1@Кривая4", OutputHolesWrapper.D1); parameters.Add("L2@Эскиз32", OutputHolesWrapper.L2); parameters.Add("D1@Кривая5", OutputHolesWrapper.D2); parameters.Add("L3@Эскиз32", OutputHolesWrapper.L3); parameters.Add("D1@Кривая6", OutputHolesWrapper.D3); parameters.Add("Толщина@Листовой металл", thiknessF); parameters.Add("D1@Листовой металл", (double)BendRadius); parameters.Add("D2@Листовой металл", (double)KFactor * 1000); EditPartParameters("02-11-06-40-", "", 0); // $@"{Settings.Default.DestinationFolder}\{_destinationFolder}\{newName}", } #endregion #region Усиливающая рамка по ширине 2 if (framelessPanel.PanelType == PanelType_e.BlankPanel) { SolidWorksDocument = ((ModelDoc2)(SolidWorksAdapter.SldWoksAppExemplare.ActivateDoc2(AssemblyName + ".SLDASM", true, 0))); DocumentExtension.SelectByID2("02-11-06_2-40--4@" + AssemblyName, "COMPONENT", 0, 0, 0, false, 0, null, 0); // AssemblyDocument.ReplaceComponents(System.IO.Path.Combine(RootFolder, SubjectDestinationFolder, усиливающаяРамкаПоШирине.NewName + "SLDPRT"), String.Empty, true, true); //($@"{RootFolder}\{SubjectDestinationFolder}\{усиливающаяРамкаПоШирине.NewName}.SLDPRT", "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("02-11-06_2-40-.SLDPRT"); } else { //newName = усиливающаяРамкаПоШирине2.NewName; //newName = modelName + "-06-" + width + "-" + "40-" + materialP2[0] + скотч; //newPartPath = $@"{Settings.Default.DestinationFolder}\{_destinationFolder}\{newName}.SLDPRT"; if (false) { SolidWorksDocument = ((ModelDoc2)(SolidWorksAdapter.SldWoksAppExemplare.ActivateDoc2(AssemblyName + ".SLDASM", true, 0))); DocumentExtension.SelectByID2("02-11-06_2-40--4@" + AssemblyName, "COMPONENT", 0, 0, 0, false, 0, null, 0); AssemblyDocument.ReplaceComponents(base.NewPartPath, "", true, true); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("02-11-06_2-40-.SLDPRT"); } else { parameters.Add("D2@Эскиз1", framelessPanel.PanelType == PanelType_e.RemovablePanel ? framelessPanel.SizePanel.X - 49.2 : framelessPanel.SizePanel.X - 47.2); parameters.Add("D1@Эскиз1", heightF); parameters.Add("D1@Кривая3", ScrewsByWidthInner); parameters.Add("D1@Кривая2", колСаморезВинтШирина); parameters.Add("G0@Эскиз32", OutputHolesWrapper.G0 - 3.6); parameters.Add("G1@Эскиз32", OutputHolesWrapper.G1); parameters.Add("G2@Эскиз32", OutputHolesWrapper.G2); parameters.Add("G3@Эскиз32", OutputHolesWrapper.G0); parameters.Add("L1@Эскиз32", OutputHolesWrapper.L1); parameters.Add("D1@Кривая4", OutputHolesWrapper.D1); parameters.Add("L2@Эскиз32", OutputHolesWrapper.L2); parameters.Add("D1@Кривая5", OutputHolesWrapper.D2); parameters.Add("L3@Эскиз32", OutputHolesWrapper.L3); parameters.Add("D1@Кривая6", OutputHolesWrapper.D3); parameters.Add("Толщина@Листовой металл", thiknessF); parameters.Add("D1@Листовой металл", (double)base.BendRadius); parameters.Add("D2@Листовой металл", (double)base.KFactor * 1000); EditPartParameters("02-11-06_2-40-", NewPartPath, 0); } } #endregion #region Усиливающая рамка по высоте // PartName = усиливающаяРамкаПоВысоте.NewName; NewPartPath = ""; // newName = modelName + "-07-" + lenght + "-" + "40-" + materialP2[0] + скотч; NewPartPath = System.IO.Path.Combine(RootFolder, SubjectDestinationFolder, NewPartPath + "SLDPRT"); //$@"{Settings.Default.DestinationFolder}\{_destinationFolder}\{newName}.SLDPRT"; //if (GetExistingFile(Path.GetFileNameWithoutExtension(NewPartPath), 1)) { // SolidWorksDocument = ((ModelDoc2)(SolidWorksAdapter.SldWoksAppExemplare.ActivateDoc2(AssemblyName + ".SLDASM", true, 0))); // DocumentExtension.SelectByID2("02-11-07-40--1@" + AssemblyName, "COMPONENT", 0, 0, 0, false, 0, null, 0); // AssemblyDocument.ReplaceComponents(newPartPath, "", true, true); // SolidWorksAdapter.SldWoksAppExemplare.CloseDoc("02-11-07-40-.SLDPRT"); if (false) { ; } else { parameters.Add("D3@Эскиз1", framelessPanel.PanelType == PanelType_e.RemovablePanel ? framelessPanel.SizePanel.Y - 2 : framelessPanel.SizePanel.Y); parameters.Add("D1@Эскиз1", heightF); parameters.Add("D1@Эскиз23", framelessPanel.PanelType == PanelType_e.BlankPanel ? 44.4 : 125); parameters.Add("D1@Кривая2", ScrewsByHeightInner); parameters.Add("D1@Кривая1", колЗаклепокВысота); parameters.Add("Толщина@Листовой металл", thiknessF); parameters.Add("D1@Листовой металл", (double)base.BendRadius); parameters.Add("D2@Листовой металл", (double)base.KFactor * 1000); EditPartParameters("02-11-07-40-", NewPartPath, 0); #endregion } #endregion }