See attached file with Layer states.
As is provided (Layer state 1) you find textual info and 2 lines in different weights.
In Screen-based Linetypes (NL) the thinner line may look as one without a weight.
Toggle NL off and you see the real pen sizes.
Exploded the TTF text to outer contours and replaced the line-art with contours.
(Activated Layer state 2 by keying in Y2)
Selected everything and hatched that with a custom pattern SEM_Dots at scale 0.4 (Included below)
(Activated Layer state 3 by keying in Y3)
Taking only the Hatch (Y4) (A single hatch entity with a multiple of boundary loops)
Exploded its patterned area where pattern dots become drawing points (Y5)
For the change in visual appearance between Y4 and Y5:
- Pattern dots are very short line segments rendered with a Lineweight, Screen-based or not.
- Points entities are rendered pixel based and the size is fix and thus zoom state independent.
BTW: XP of a solid filled hatch returns the outline, that of a patterned fill returns the pattern shapes.
In a few simple steps the drawing art visualized in layer '0' (Y1) is decomposed in 8673 points on layer '3) Points' (Y5)
Replacing the line-art with contours is not supported right out the box.

But that is feasible as long as offsets of line-art are flawless.

From there on it is a question of exporting the point entities their coordinates as CSV.
Maybe it is an idea to sort these coordinates to produce a zigzag toolpath.
I then also need how these export values need to be formatted, how many decimal digits, decimal point, list separator, LF or CR/LF.
Regards,
CVH