diff --git a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.cpp b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.cpp index 9f51c21982..70162420fc 100644 --- a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.cpp +++ b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.cpp @@ -199,7 +199,7 @@ void CADSTAR_SCH_ARCHIVE_PARSER::TERMINAL_SHAPE::Parse( XNODE* aNode, PARSER_CON case TERMINAL_SHAPE_TYPE::POINTER: case TERMINAL_SHAPE_TYPE::RECTANGLE: case TERMINAL_SHAPE_TYPE::TRIANGLE: - RightLength = GetXmlAttributeIDLong( aNode, 2 ); + RightLength = GetXmlAttributeIDLong( aNode, 2, false ); // Optional LeftLength = GetXmlAttributeIDLong( aNode, 1 ); break; diff --git a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.h b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.h index 92eb4b7c0e..dd7bc2042f 100644 --- a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.h +++ b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.h @@ -83,8 +83,11 @@ public: { TERMINAL_SHAPE_TYPE ShapeType; long Size = UNDEFINED_VALUE; - long LeftLength = UNDEFINED_VALUE; - long RightLength = UNDEFINED_VALUE; + // Note in the CADSTAR GUI, it only talks about "length", but the file seems to + // split it in "left length" and "right length" (similar to PADCODE in the PCB) + // for some terminal shapes such as RECTANGLE but not for others, such as TRIANGLE + long LeftLength = UNDEFINED_VALUE; ///< Might also be total length + long RightLength = UNDEFINED_VALUE; ///< Could be blank long InternalFeature = UNDEFINED_VALUE; long OrientAngle = 0; ///< 1/1000 of a Degree