Revit二开–翻转尺寸线
在Revit二次开发中,有些时候我们找不到相应的方法,例如墙和某些族元素 有flip方法或者属性,而尺寸标注就没有这个属性,那么怎么办呢?方法如下:
例如尺寸线的标注字符串类型为基线或纵坐标时,选择尺寸线,就会出现翻转符号,然而,dimension对象并没有翻转属性。
这时候我们可以采用系统自带的命令 “ID_FLIP_DIMENSION_DIRECTION”来实现这个翻转。
具体实现方法如下:
[Transaction(TransactionMode.Manual)]
class Cmd_FlipDimension:IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
var uidoc = commandData.Application.ActiveUIDocument;
var doc = uidoc.Document;
var sel = uidoc.Selection;
var dim =
sel.PickObject(ObjectType.Element, doc.GetSelectionFilter(m => m is Dimension))
.GetElement(doc) as Dimension;
sel.SetElementIds(new List<ElementId>(){dim.Id});
CommandHandlerService.invokeCommandHandler("ID_FLIP_DIMENSION_DIRECTION");
return Result.Succeeded;
}
}
实现效果: