如何通过API为标题栏边缘分配<Invisible lines>类别/图形样式
Revit API编程:设置标题栏族图纸边缘不可见问题
我正在通过编程定义标题栏族,需要将样板中的图纸边缘设置为不可见,且导出DWG格式时保持该状态。手动编辑标题栏族时,把图纸边缘分配到<Invisible lines>类别就能实现效果,但编程时遇到了阻碍。
已执行的操作
- 从标题栏族样板创建文档并获取首个
ViewSheet对象:
Document tbFamilyDoc = Application.uiApplication.Application.NewFamilyDocument(TITLEBLOCK_FAMILY_TEMPLATE); ViewSheet viewSheet = new FilteredElementCollector(tbFamilyDoc) .OfClass(typeof(ViewSheet)) .Cast<ViewSheet>() .First();
- 计划通过修改线条的
LineStyle属性实现需求,但无法获取<Invisible lines>对应的GraphicsStyle对象:
var lines = new FilteredElementCollector(tbFamilyDoc, viewSheet.Id) .WhereElementIsNotElementType() .OfClass(typeof(CurveElement)) .Cast<CurveElement>() .ToList() .ForEach(line => line.LineStyle = graphicsStyleInvisibleLines);
- 尝试通过内置类别获取对应
Category对象,均返回null:- 通过
BuiltInCategory.OST_InvisibleLines获取(RevitLookup显示该类别ID为-2000064,对应<Invisible lines>):Category invisibleLinesCat = tbFamilyDoc.Settings.Categories.get_Item(BuiltInCategory.OST_InvisibleLines); - 通过其父类别
BuiltInCategory.OST_IOS(对应"Internal Object Styles",ID为-2000059)获取:Category internalCat = tbFamilyDoc.Settings.Categories.get_Item(BuiltInCategory.OST_IOS);
- 通过
问题
如何获取<Invisible lines>类别或其对应的GraphicsStyle对象的引用?
内容的提问来源于stack exchange,提问作者Noa GL
相关产品推荐
相关产品推荐

