|
//显示或隐藏视图中的元素
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">[Transaction(TransactionMode.Manual)]</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">[Regeneration(RegenerationOption.Manual)]</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">//[Journaling(JournalingMode.NoCommandData)]</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">public</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">class HideUnHideInView : IExternalCommand</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">{</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> public Result Execute(ExternalCommandData commandData, ref</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">string message, ElementSet elements)</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> {</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> UIDocument uiDoc = commandData.Application.ActiveUIDocument;</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> Selection selection = uiDoc.Selection;</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> //根据Id找到元素的方法</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> ElementId elId =</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">new ElementId(618621);</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> Element el = commandData.Application.ActiveUIDocument.Document.get_Element(elId);</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> Transaction ts =</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">new Transaction(uiDoc.Document, "HideUnHide");</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> ts.Start();</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> Autodesk.Revit.DB.View view = uiDoc.Document.ActiveView;</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> //判断在此视图下是否可以隐藏</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">if (el.CanBeHidden(view) ==</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">true)</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> {</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> ElementSet elementSet =</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">new ElementSet();</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> elementSet.Clear();</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> elementSet.Insert(el);</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> if (el.IsHidden(view) ==</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">true)</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> {</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> view.Unhide(elementSet);</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> }</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> else</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> {</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> view.Hide(elementSet);</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> }</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> }</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> ts.Commit();</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> return Result.Succeeded;</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; "> }</span>
- <span style="color: rgb(57, 57, 57); font-family: 'Microsoft Yahei', Simsun; ">}</span>
复制代码 |
|