Panelize PCB bug v8.994

Issue #475 new
Юрий created an issue

look at screen

10.flatcam infinitely panelize geo (no errors)

11.flatcam infinitely panelize excellon (errors)

Comments (28)

  1. Marius Stanciu


    if you uncheck the Path Optimization checkbox, the result is the same? In regards of the 10.jpg picture. The issue in the 11.jpg is fixed.

  2. Юрий reporter

    excellon no options to change path optimization, ( its blocked and checked)

    upd: first select geo , uncheck option , select excellon option is still unchecked but error

    An internal error has occurred. See shell.
Object (excellon) failed because: 'App' object has no attribute 'export'

    Traceback (most recent call last):
 File "D:\1.DEV\FlatCAM_beta\appObjects\", line 162, in new_object
 File "D:\1.DEV\FlatCAM_beta\appTools\", line 364, in job_init_excellon
AttributeError: 'App' object has no attribute 'export'

    if try to manual copy excellon in list ,

    [ERROR] An internal error has occurred. See shell.
Object (excellon) failed because: 'ExcellonObject' object has no attribute 'drills' 

Traceback (most recent call last):
 File "D:\1.DEV\FlatCAM_beta\appObjects\", line 162, in new_object
 File "D:\1.DEV\FlatCAM_beta\", line 5295, in initialize_excellon
AttributeError: 'ExcellonObject' object has no attribute 'drills'

  3. Marius Stanciu


    Like said above, the issue about the Excellon object: 'App' object has no attribute 'export' is fixed already in my working copy.
    The error that you get on copying Excellon: 'ExcellonObject' object has no attribute 'drills' is already fixed in my working copy.

    Both fixes will be available in the next version, 8.995.

    How did you get the Geometry in picture 10? I see that it is done in NCC Tool but care to give more details? Thanks!

  4. Юрий reporter

    On pic10 already panelized isolation route for board and not panelized ncc for top refereence by board isolate

  5. Marius Stanciu

    Ok, how about that: how can I reproduce the problem found in picture 10? Step by step, please.

  6. Marius Stanciu

    Hi Kevin,

    The problem is that the app still has bugs, and I can’t make a release knowing that it has issues.
    In the meantime, if you are up to it, you can install the Python toolchain (Winpython 3.9.x and all the packages in the requirements.txt file) and run my working copy from here:

    Since this is a test, use the qt6 branch:

    Best regards,

  7. Steve Lilley

    Hello Marius, after reading your post on running your working copy from source, I thought I would give it a try. I followed your installation instructions on Bitbucket to running on windows for source. but apparently I am missing something. Can you tell what it might be form my trackback? You need to keep in in simple terms as I am not a coder.

    Traceback (most recent call last):
    File "C:\FlatCam_beta\", line 6, in <module>
    from app_Main import App
    File "C:\FlatCam_beta\", line 52, in <module>
    from appDatabase import ToolsDB2
    File "C:\FlatCam_beta\", line 4, in <module>
    from camlib import to_dict
    File "C:\FlatCam_beta\", line 54, in <module>
    from appParsers.ParseDXF import *
    File "C:\FlatCam_beta\appParsers\", line 10, in <module>
    from ezdxf.math.vector import Vector as ezdxf_vector
    ModuleNotFoundError: No module named 'ezdxf.math.vector'

    Thanks, Steve

  8. Marius Stanciu

    Hi Steve,
    You need to use the Beta_9.995 branch. If you used the clone git_adress then you need to switch to the Beta_8.995 branch.

    Or download the sources directly from here:

    BTW, I made the upgrade to PyQt6 so check the requirements.txt file and/or file.
    If you have PyQt5 installed you need to uninstall, it can’t coexist with PyQt6 that is now needed.
    Otherwise you need to install everything in a virtual environment where you install PyQt6 and the rest of the packages.

    Best regards,

  9. Marius Stanciu

    PS: keep in mind that this is the alpha of the beta 🙂 Not all features are working, it’s work in progress.

  10. Steve Lilley

    Hi Marius, surprisingly, I got it up and running. Not sure how I did it... but it works. The strange thing is, when it is on my upper monitor (a standard monitor) it looks like it is supposed to and the Plot Area is normal. But when I drag it down to my main monitor, (a 49" curved Samsung) the Plot Area acts really strange.  The plot area is full size but the top and right is blocked out. But when I click the mouse or scroll the mouse wheel, the plot area shrinks to about 2/3 the size in the lower left corner and the top and right areas that were blocked out turns black but then returns when I let off the mouse key. 

    Thanks again for your help, Steve

  11. Marius Stanciu

    Hi Steve,

    Unfortunately this issue will be very hard to debug since I don’t have a monitor like you have, my second monitor besides the notebook HD is a 32” 2k display, and with this it works as it should.
    What you describe may be a Qt6 bug or misconfiguration (it’s too new). Maybe you should try setting your monitor with the default DPI, most likely you set in Windows (if you use this OS) to scale the DPI somewhere to 125% or more. My scaling is to 100%. Try to put the big monitor to default settings and see if you can identify the issue.

    Best regards,

    PS: Create your own issue and it will help if you could post some pictures, print-screens.

  12. Marius Stanciu

    Hi Steve,

    I can confirm that the issue is from scaling. I scaled from 100% to 125% in Windows and the problem showed. I’ll have a look at it.
    Best regards,

  13. Marius Stanciu

    Hi Steve,

    I’ve got in touch with the team from VisPy module, opened an issue on their Git and it looks like this is an issue from the VisPy module, they already found a fix for it. I guess we’ll see it solved in the next version of VisPy.

    Best regards,

  14. Steve Lilley

    Thanks Marius, I downloaded you latest source, it all looks good on the big monitor. I guess I will have to hunt down some more bugs for you.


  15. Steve Lilley

    Hi Marius, found some more bugs, nasty little critters…

    Source copy from today.

    Issue 1: When in the Cutout window, the profile.gbr_panelized and the Gap type “Thin”, both the Generate Geometry rectangle and non rectangle buttons will create on the outside of the hole in the center of the pcb (profile_cutout_2 and profile_cutout_3). When Gap type “M-Bites”, holes were created around the outside of the hole with the non rectangle button (profile_cutout_4) and nothing was generated with the rectangle button.

    Issue 2: After Generate CNCJob object with “drill_1_16.xln_panelized” file, with Tool Change. The Project could no longer be Saved. Attached is the last copy I could save. If you take this file and generate the panelized drilling it should duplicate.

    Traceback (most recent call last):
    File "C:\FlatCam_beta\", line 61, in do_worker_task
    File "C:\FlatCam_beta\", line 11542, in save_project
    self.log.error("Failed to save file: %s", filename)
    TypeError: error() takes 2 positional arguments but 3 were given

    I had also noticed when starting FlatCam that it was looking for PyQt5… I thought Qt5 had been removed.

    [DEBUG][MainThread] Setting up canvas: 3D
    WARNING: Although PyQt5 is already imported, the PyQt5 backend could not
    be used ("cannot import name 'QtOpenGL' from 'PyQt5' (unknown location)").
    Note that running multiple GUI toolkits simultaneously can cause side effects.
    [DEBUG][MainThread] Finished Canvas initialization in 0.5395581722259521 seconds.

    Happy bug squashing, Steve


  16. Marius Stanciu

    Hi Steve,

    Take notice of what the warning is saying:

    Note that running multiple GUI toolkits simultaneously can cause side effects.

    Most likely you still have the PyQt5 installed which should not be the case. You need to uninstall PyQt5 if you are going to use the PyQt6.

    Furthermore, regarding your panelizing issues: the outline needs to be just that: an outline. Eagle creates a milling layer which is different thing since it will add also board cutouts (interior polygons).
    The Cutout plugin do no support those kinds of “outlines”.

  17. Steve Lilley


    I have no idea where it is coming from, I had uninstall PyQt5 and installed PyQt6.

    pyproj 3.1.0
    PyQt6 6.1.1
    PyQt6-Qt6 6.1.2
    PyQt6-sip 13.1.0
    pyqtgraph 0.12.1
    PyQtWebEngine 5.15.1
    pyrsistent 0.17.3

    The PCB was designed with Fusion360. It is kind of weird why the same hole is both an Excellon and a profile. It may be an issue with Fusion360.

  18. Marius Stanciu


    Eagle is now inside Fusion360.
    It seems that you need to check what exactly are you trying to do, there may be some settings or you need to approach differently the PCB. But of course you can edit in FlatCAM the resulting Geometry and get rid of the internal paths.

  19. Steve Lilley


    Yep I know, the Electronic Designer in Fusion360 is a version of Eagle. It was designed form the ground up and still in development. I went back into Fusion360 and to see how I made the hole… it is a 100mil drill hole. Maybe I will check into it, I don’t think that is the way it is suppose to be. That’s what did - I edited the profile and deleted the hole.

    Now to figure out the PyQt5 thing…

    PS. I guess another way to make the hole would be to drill a giant Via.

  20. Steve Lilley

    Hi Marius,

    I just downloaded your latest version (marius_stanciu-flatcam_beta-23822ea77486). Your HiDPI scaling issue is back…


  21. Marius Stanciu

    Hi Steve,

    No it’s not back… the previous fix was a temporary one until it was incorporated in the VisPy module. Which it happened, therefore was no need to keep it so I removed it.
    You need to upgrade the module VisPy to the latest version v 0.8.1 and that will take care of the issue.


  22. Log in to comment