Dear Jonathan,
If you want to get the info, you need to do it manually on your own codes.
Here are some thoughts may help you.
Firstly, get the graphics style from element's category, then, if the element in a specific view has override graphics settings, get from override graphics settings instead.
Hope the following codes can give you some idea
public void GetGraphicsStyleInView(Document doc, View view, Element e)
{
/*
* first get graphics style from element's category,
* if override graphics setting setted, get from override
*/
Color color = null;
int? lineWeight = null;
LinePattern linePattern = null;
//get line weight& color from category
lineWeight = e.Category.GetLineWeight(GraphicsStyleType.Projection);
color = e.Category.LineColor;
ElementId patternId = e.Category.GetLinePatternId(GraphicsStyleType.Projection);
if(patternId != ElementId.InvalidElementId)
{
LinePatternElement patternElement = doc.GetElement(patternId) as LinePatternElement;
if (patternElement != null)
linePattern = patternElement.GetLinePattern();
}
//if element has override, then get from override
OverrideGraphicSettings overrideGraphicSettings = doc.ActiveView.GetElementOverrides(e.Id);
if (null != overrideGraphicSettings)
{
if(overrideGraphicSettings.CutLineColor.IsValid)
color = overrideGraphicSettings.CutLineColor;
if(overrideGraphicSettings.CutLineWeight > 0)
lineWeight = overrideGraphicSettings.CutLineWeight;
if (overrideGraphicSettings.CutLinePatternId != ElementId.InvalidElementId)
{
LinePatternElement patternElement = doc.GetElement(overrideGraphicSettings.CutLinePatternId) as LinePatternElement;
if (patternElement.GetLinePattern() != null)
linePattern = patternElement.GetLinePattern();
}
}
}
Jim Jia
Autodesk Forge Evangelist
https://forge.autodesk.com
Developer Technical Services
Autodesk Developer Network
Email: Jim.Jia@autodesk.com