import adsk.core, adsk.fusion, traceback

# https://forums.autodesk.com/t5/fusion-360-api-and-scripts/python-script-to-create-a-chain-of-lines/td-p/7518674

def run(context):
    ui = None
    try: 
        xpos = '0.0000'
        ypos = '0.0000'

        app = adsk.core.Application.get()
        ui = app.userInterface

        design = app.activeProduct
        rootComp = design.rootComponent
        sketch = rootComp.sketches.add (rootComp.xYConstructionPlane)

        points = adsk.core.ObjectCollection.create()

        ui.messageBox('Start')

        infl = open ("D:\left.txt", "r" ) 

        for line in infl:

            if line[:3] == 'G00' or line[:3] == 'G01' or line[:1] == 'X' or line[:1] == 'Y':
                cmds = line.split()
                for comd in cmds:
                    coms = str(comd)
                    if coms[:1] == 'X':
                        xpos = (coms[1:9]) 
                    if coms[:1] == 'Y':
                        ypos = (coms[1:9]) 
                        
            points.add(adsk.core.Point3D.create(float(xpos)/10, float(ypos)/10, 0))

        for i in range(points.count):
            pt1 = points.item(i)
            sketch.sketchCurves.sketchCircles.addByCenterRadius(pt1, 0.1)

        points.clear()

        ui.messageBox('Einde')
                                               
    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
