diff --git a/src/ACadSharp/IO/DWG/DwgStreamReaders/DwgObjectReader.cs b/src/ACadSharp/IO/DWG/DwgStreamReaders/DwgObjectReader.cs
index adf78481a..0cf9a70a8 100644
--- a/src/ACadSharp/IO/DWG/DwgStreamReaders/DwgObjectReader.cs
+++ b/src/ACadSharp/IO/DWG/DwgStreamReaders/DwgObjectReader.cs
@@ -1040,9 +1040,9 @@ private CadTemplate readUnlistedType(short classNumber)
case "SORTENTSTABLE":
template = this.readSortentsTable();
break;
- //case "VISUALSTYLE":
- // template = this.readVisualStyle();
- // break;
+ case "VISUALSTYLE":
+ template = this.readVisualStyle();
+ break;
case "WIPEOUT":
template = this.readCadImage(new Wipeout());
break;
@@ -5313,15 +5313,25 @@ private CadTemplate readVisualStyle()
//WARNING: this object is not documented, the fields have been found using exploration methods and matching them with the dxf file
- visualStyle.Description = this._textReader.ReadVariableText();
+ //2 Name
+ visualStyle.Name = this._textReader.ReadVariableText();
+ //70
visualStyle.Type = this._objectReader.ReadBitLong();
+ //177
+ var value177 = _objectReader.ReadBitShort();
+ //291 Internal use only flag
+ var value291 = _objectReader.ReadBit();
+
+ //70 Count then repeat 90 and 176
+ int count = this._objectReader.ReadBitLong();
+
#if TEST
var objValues = DwgStreamReaderBase.Explore(_objectReader);
var textValues = DwgStreamReaderBase.Explore(_textReader);
#endif
- return null;
+ return template;
}
private CadTemplate readCadImage(CadImageBase image)
diff --git a/src/ACadSharp/Objects/VisualStyle.cs b/src/ACadSharp/Objects/VisualStyle.cs
index 8f4ce3fbc..988d96d9a 100644
--- a/src/ACadSharp/Objects/VisualStyle.cs
+++ b/src/ACadSharp/Objects/VisualStyle.cs
@@ -13,6 +13,11 @@ namespace ACadSharp.Objects
[DxfSubClass(DxfSubclassMarker.VisualStyle)]
public class VisualStyle : NonGraphicalObject
{
+ ///
+ /// Default name.
+ ///
+ public const string DefaultName = "2dWireframe";
+
///
public override ObjectType ObjectType => ObjectType.UNLISTED;