Hi,

Attached you will find an example Visio file. The following code is in Java.

When getting the vertexes on a line, incorrect coordinates are given. Here is some example code for the given example Visio file:

// Hard coded values for simplicity

Shape topLeftLine = vsdxDiagram.getPages().get(0).getShapes().get(1);

Shape centerLine = vsdxDiagram.getPages().get(0).getShapes().get(2);

Shape topRightLine = vsdxDiagram.getPages().get(0).getShapes().get(3);

CoordinateCollection topLeftCoordinateCollection = topLeftLine.getGeoms().get(0).getCoordinateCol();

CoordinateCollection centerCoordinateCollection = centerLine.getGeoms().get(0).getCoordinateCol();

CoordinateCollection topRightCoordinateCollection = topRightLine.getGeoms().get(0).getCoordinateCol();

System.out.println("Top Left Line MoveTo x value: " + topLeftCoordinateCollection.getMoveToCol().get(0).getX().getValue());

System.out.println("Top Left Line LineTo x value: " + topLeftCoordinateCollection.getLineToCol().get(0).getX().getValue());

System.out.println("Center Line MoveTo x value: " + centerCoordinateCollection.getMoveToCol().get(0).getX().getValue());

System.out.println("Center Line LineTo x value: " + centerCoordinateCollection.getLineToCol().get(0).getX().getValue());

System.out.println("Top Right Line MoveTo x value: " + topRightCoordinateCollection.getMoveToCol().get(0).getX().getValue());

System.out.println("Top Right Line LineTo x value: " + topRightCoordinateCollection.getLineToCol().get(0).getX().getValue());

Output:

Top Left Line MoveTo x value: -1.7976931348623157E308

Top Left Line LineTo x value: 0.0

Center Line MoveTo x value: 0.125

Center Line LineTo x value: 0.125

Top Right Line MoveTo x value: -1.7976931348623157E308

Top Right Line LineTo x value: 0.0

Expected:

Top Left Line MoveTo x value: value < 0.125

Top Left Line LineTo x value: value < 0.125

Center Line MoveTo x value: 0.125

Center Line LineTo x value: 0.125

Top Right Line MoveTo x value: value > 0.125

Top Right Line LineTo x value: value > 0.125

It appears as though the x values when lines are connected to the Top/Bottom of the shape are incorrect and the y values when the lines are connected to the Left/Right of the shape are incorrect.

Lines_Example.zip (47.3 KB)