public CPSettingsForm(Document Document, string cpSettingStr) { InitializeComponent(); //控件参数初始化 traceBar_Transparency.Minimum = 0; traceBar_Transparency.Maximum = 100; //对象初始化 CPSettings = new CPSettings(cpSettingStr); cb_FillPattern.DisplayMember = "Name"; cb_FillPattern.ValueMember = "Id"; cb_FillPattern.DataSource = GetFillPatterns(Document); cb_IsVisible.Checked = CPSettings.IsVisible; cb_IsSurfaceVisible.Checked = CPSettings.IsSurfaceVisible; cb_IsHalftone.Checked = CPSettings.IsHalftone; traceBar_Transparency.Value = CPSettings.SurfaceTransparency; tb_Transparency.Text = CPSettings.SurfaceTransparency.ToString(); btn_Color.ImageAlign = ContentAlignment.MiddleLeft; btn_Color.TextAlign = ContentAlignment.MiddleLeft; RenderColorButton(CPSettings.Color); //值变更事件 cb_IsVisible.CheckedChanged += ValueChanged; cb_IsHalftone.CheckedChanged += ValueChanged; cb_IsSurfaceVisible.CheckedChanged += ValueChanged; cb_FillPattern.SelectedIndexChanged += ValueChanged; tb_Transparency.TextChanged += tb_Transparency_TextChanged; }
/// <summary> /// 淡显3D视图 /// </summary> /// <param name="transaction"></param> /// <param name="doc"></param> /// <param name="viewName"></param> /// <returns></returns> public static View3D CreateTinged3DView(Document doc, string viewName) { var view = Create3DView(doc, viewName); //淡显处理 SetOverrideGraphicSettingsOfCategories(view, CPSettings.GetTingledOverrideGraphicSettings(doc)); //隐藏CAD处理 HideCADFiles(doc, view); return(view); }
public override void Delete(EarthworkBlocking blocking, ElementId elementId) { if (!ElementIds.Exists(p => p.IntegerValue == elementId.IntegerValue)) { return; } ElementIds.Remove(elementId); ElementIdValues.Remove(elementId.IntegerValue); Deletes.Add(elementId); CPSettings.DeapplySetting(blocking, new List <ElementId>() { elementId }); }
private bool DetailWithView(Document doc, string transactionName, string cpSettingsString, View3D view, ShowDialogType dialogType, Func <List <ElementId> > GetElementIds) { bool isSuccess; ListForm.ShowDialogType = dialogType; string viewName = dialogType.GetViewName(); isSuccess = DealWithTransaction(viewName, doc, transactionName, () => { view = Revit_Document_Helper.GetElementByNameAs <View3D>(UI_Doc.Document, viewName); if (view == null) { view = Revit_Document_Helper.Create3DView(doc, viewName); } ////渲染_所有 隐藏 //IList<Element> allElements = GetAllElements(doc); //List<ElementId> elementIdsToHid = new List<ElementId>(); //foreach (var element in allElements) // if (element.CanBeHidden(view) && element.Id != view.Id) // elementIdsToHid.Add(element.Id); //if (elementIdsToHid.Count > 0) // view.HideElements(elementIdsToHid); ////渲染_测点 淡显,显示 //var allNodesElementIds = Model.GetAllNodesElementIds(doc); //var defaultOverrideGraphicSettings = CPSettings.GetTingledOverrideGraphicSettings(doc); //if (allNodesElementIds.Count > 0) // view.UnhideElements(allNodesElementIds); //foreach (var elementId in allNodesElementIds) // view.SetElementOverrides(elementId, defaultOverrideGraphicSettings); //渲染_选中 选中颜色显示 var cpSettings = new CPSettings(cpSettingsString); var overrideGraphicSettings = Revit_Helper.GetOverrideGraphicSettings(new Color(cpSettings.Color.R, cpSettings.Color.G, cpSettings.Color.B), new ElementId(cpSettings.FillerId), cpSettings.SurfaceTransparency); var selectedElementIds = GetElementIds(); foreach (var elementId in selectedElementIds) { view.SetElementOverrides(elementId, overrideGraphicSettings); } }); if (view != null) { UI_Doc.ActiveView = view; } return(isSuccess); }
public override void Add(EarthworkBlocking blocking, ElementId elementId) { var block = blocking.Blocks.FirstOrDefault(c => c.ElementIds.Exists(p => p.IntegerValue == elementId.IntegerValue)); if (block != null) { if (block.Id == Id) { return; } block.Delete(blocking, new List <ElementId>() { elementId }); } ElementIds.Add(elementId); ElementIdValues.Add(elementId.IntegerValue); Adds.Add(elementId); CPSettings.ApplySetting(blocking, new List <ElementId>() { elementId }); }
/// <summary> /// 视图逻辑处理 /// 支持(隐藏,淡显,红显)和(反隐藏,淡显,红显) /// </summary> /// <param name="showDialogType"></param> /// <param name="needHide"></param> /// <param name="getElementIds"></param> /// <returns></returns> private bool DetailWithView(ShowDialogType showDialogType, bool needHide, Func <Document, List <ElementId> > getElementIds) { ListForm.ShowDialogType = showDialogType; string viewName = ListForm.ShowDialogType.GetViewName(); var doc = UI_Doc.Document; View3D view = null; var transactionName = nameof(SubsidenceMonitor) + nameof(btn_ViewSelection_Click); bool isSuccess = DealWithTransaction(viewName, doc, transactionName, () => { view = Revit_Document_Helper.GetElementByNameAs <View3D>(UI_Doc.Document, viewName); if (view == null) { view = Revit_Document_Helper.Create3DView(doc, viewName); } if (needHide) { //渲染_所有 隐藏 IList <Element> allElements = GetAllElements(doc); List <ElementId> elementIdsToHid = new List <ElementId>(); foreach (var element in allElements) { if (element.CanBeHidden(view) && element.Id != view.Id) { elementIdsToHid.Add(element.Id); } } if (elementIdsToHid.Count > 0) { view.HideElements(elementIdsToHid); } //渲染_测点 淡显 var nodesElementIds = Model.GetAllNodesElementIdsByTNode(doc); if (nodesElementIds.Count > 0) { view.UnhideElements(nodesElementIds); } var defaultOverrideGraphicSettings = CPSettings.GetTingledOverrideGraphicSettings(doc); foreach (var elementId in nodesElementIds) { view.SetElementOverrides(elementId, defaultOverrideGraphicSettings); } } else { ////渲染_所有 反隐藏 //IList<Element> allElements = GetAllElements(doc); //List<ElementId> elementIdsToHid = new List<ElementId>(); //foreach (var element in allElements) // if (element.CanBeHidden(view) && element.Id != view.Id) // elementIdsToHid.Add(element.Id); //view.UnhideElements(elementIdsToHid); //渲染_所有 淡显 var allElementIds = GetAllElements(doc); var defaultOverrideGraphicSettings = CPSettings.GetTingledOverrideGraphicSettings(doc); foreach (var elementId in allElementIds) { view.SetElementOverrides(elementId.Id, defaultOverrideGraphicSettings); } } //渲染_选中 红显 var overrideGraphicSettings = Revit_Helper.GetOverrideGraphicSettings(ColorForSelectedElements, CPSettings.GetDefaultFillPatternId(doc), 0); var selectedElementIds = getElementIds(doc); foreach (var elementId in selectedElementIds) { view.SetElementOverrides(elementId, overrideGraphicSettings); } }); if (view != null) { UI_Doc.ActiveView = view; } return(isSuccess); }
/// <summary> /// 确定 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Submit_Click(object sender, EventArgs e) { Data = CPSettings.SerializeToString(); DialogResult = DialogResult.OK; this.Close(); }