调用Revit内部命令时,无法自动跳到调用功能所在的选项卡
问题描述
比如我们在调用自带的“内建体量”功能时,按照体量的创建步骤,先输入体量的名字,之后正常的操作应该是自动跳转到创建选项卡,但是实际结果是依然停留在自己点击按钮所在的选项卡没有跳转,唯一的变化是选项卡里面的按钮都变灰了,然后右侧多出了“在位编辑器”面板,如图所示。

最终找到的解决办法是利用Adwindows.dll里面的RibbonControl类,在调用内部命令前后各用一次,代码如下:
TabActive("体量和场地");
var commandId = RevitCommandId.LookupPostableCommandId(PostableCommand.InPlaceMass);
if (uiapp.CanPostCommand(commandId))
{
uiapp.PostCommand(commandId);
}
TabActive("创建");
private void TabActive(string name)
{
RibbonControl ribbon = Autodesk.Windows.ComponentManager.Ribbon;
foreach (Autodesk.Windows.RibbonTab tab in ribbon.Tabs)
{
if (tab.AutomationName == name)
{
tab.IsActive = true;
break;
}
}
}
在使用Revit时遇到一个问题,即调用‘内建体量’功能后,界面并未自动切换到‘创建’选项卡。通过深入研究,找到了解决方案。利用Adwindows.dll中的RibbonControl类,通过TabActive方法强制激活目标选项卡,确保命令调用后正确跳转。这涉及到Revit API的使用和界面交互控制。
1099

被折叠的 条评论
为什么被折叠?



