Menu

#167 Postprocessor not applied if multiple avaliable

Fixed
chrisko
None
High
All
Patch
2025-02-16
2025-01-30
12labs
No

Postprocessor Configuration is not applied if you have multiple postprocessor configs.

using debian 12 freshly installed system with netiso to reproduce issue...

About Dialog Info (yes it looks like this with $$ signs instead of version info)...
Py3.11.2 PyQt5.15.9: $Revision$
Last change: $Date$
Changed by: $Author$

Using the linux installer

wget https://raw.github.com/ltspicer/dxf2gcode.linux.installer/main/linux.installer.sh
chmod a+x linux.installer.sh
./linux.installer.sh

create two configs, one named Mach3 first another named LaserCutter last.
Even after selecting Mach3, the parameters of LaserCutter is always applied.

The only work around is to delete all the configs except default, and create a bash script that overwrites the default config with desired config before launching the program.

2 Attachments

Discussion

  • chrisko

    chrisko - 2025-01-30

    Just checked it with my development version (on a windows PC). Seems like it's working fine. Did you check the header of the exported file too?

    See my two examples below:

    (Generated with: DXF2GCODE)
    (Version: Py3.11.1 PyQt5.15.8, Date: $Date$)
    (Erstellt aus der Datei: D:/GIT/dxf2gcode-sourcecode/dxf/test.dxf)
    (Used Postprocessor: Mach3.cfg) 
    (Beschreibung des Ausgabeformats: G-CODE for Mach3)
    (Zeit: Thu Jan 30 18:55:03 2025)
    

    and

    (Generated with: DXF2GCODE)
    (Version: Py3.11.1 PyQt5.15.8, Date: $Date$)
    (Erstellt aus der Datei: D:/GIT/dxf2gcode-sourcecode/dxf/test.dxf)
    (Used Postprocessor: postpro_config.cfg) 
    (Beschreibung des Ausgabeformats: G-CODE for LinuxCNC)
    

    What about the log file (you can enable it in the config ...). Here my example.

    INFO       root            showSaveDialog 536 :  - <a href='C:/Users/chris/Desktop/test/test.nc'>C:/Users/chris/Desktop/test/test.nc</a>
    <a href='C:/Users/chris/Desktop/test/test.nc'>C:/Users/chris/Desktop/test/test.nc</a>
    DEBUG      root            exportShapes 332 :  - Save output_dir
    DEBUG      root            exportShapes 351 :  - File Ending => Postprocessor Nr: 0
    DEBUG      PostPro.PostProcessorConfig load_config 241 :  - Es wird die vorhanden Konfigurationsdatei gelesen 'C:/Users/chris/.config/dxf2gcode\postpro_config\LaserCutter.cfg'
    DEBUG      PostPro.Breaks  __init__   56  :  - Found 0 break layers
    

    I don't have a Linux PC, maybe the dialog result is some kind of different in Linux. (See Line 2 above)

     

    Last edit: chrisko 2025-01-30
  • 12labs

    12labs - 2025-01-30

    In windows it does work, in linux debian it is not working.
    I checked the headers in the output file, and the config is wrong, it is using what was not selected. For both files it uses "(Used Postprocessor: postpro_config.cfg) " even though that was not selected at time of export.
    I made two configs again, this time named Test1 and Test2
    I change "G21" in each config to be TEST1 and TEST2 instead of G21 (just so I can see what config is being applied) ... the default config is what is applied no matter what is selected, "sometimes" I can get one of the configs to start working after opening and closing the app a few times, whatever starts working gets stuck as the default and cannot be changed. only work around is delete all postproccessor configs except default, and write a script that overwrites the default with my settings before application launch. I tested on windows and everything works fine. this issue only shows up in linux. You can also use a debian live CD and do the linux install to test this. problem exist using LiveDebian as well.
    attached is log file.

     

    Last edit: 12labs 2025-01-30
  • chrisko

    chrisko - 2025-01-30

    I just saw, that there is a difference between the master and development branch. Which one did you try with the installer. I think your able to select during the installation process ...

     
  • 12labs

    12labs - 2025-01-30

    I just ran this command to install...
    wget https://raw.github.com/ltspicer/dxf2gcode.linux.installer/main/linux.installer.sh
    chmod a+x linux.installer.sh
    ./linux.installer.sh

    then the prompts were.. (only option was developer version)
    Should I install pip (y/n)
    Y
    Do you want install...
    echo "2 ...a developer version"
    echo "3 Quit installer"
    2
    I will now install. Are you ready (y/n)
    Y

     
  • spicer

    spicer - 2025-01-30

    Yes, the installer will install the developer version, if Python version is 3.10 or higher.

     
  • spicer

    spicer - 2025-01-30

    That's where chrisko needs to look. The selected postprocessor configuration is not saved and the alphabetically first cfg is always used.

     
    • 12labs

      12labs - 2025-01-31

      thanks spicer, that is exactly what is happening, selected postprocessor configuration is not applied to output file and alphabetically first cfg is always used.

       
  • spicer

    spicer - 2025-02-01

    Here is the solution (thanks to @chrisko). The whole thing is a bit strangely structured ;)
    The postprocessor can be selected in the export dropdown menu (@ bottom right).

     

    Last edit: spicer 2025-02-01
  • 12labs

    12labs - 2025-02-05

    thanks you, that works, but I must restart application after making any changes to a post processor config, otherwise sometimes it may not save using correct config. not sure why.
    I do have two recommendations for the Post Processor Configuration Dialog.

    1) "Choose configuration file:" could say "Choose config to edit:" to eliminate confusion. I though I was choosing the config to be applied to the loaded DXF file.

    2) "Output format description:" could say "Output format description (should be unique):" to eliminate confusion as well, because if your descriptions are all the same, such as "G-CODE Post Processor" you will never know what is happening in the file extension combobox. In linux the drop down for file extension selection is to select a file extension type, so seeing "G-CODE Post Processor (.nc)" I always assumed the selection was correct. Repurposing the file extension combobox for selecting the post processor configurations works, but only if they are unique, otherwise a first time user will not know what is going on.

    thanks spicer & chrisko

     
  • chrisko

    chrisko - 2025-02-05

    Thanks for the recommandation, i will change that for the next version ....

     
    • 12labs

      12labs - 2025-02-06

      thank you chrisko, I have one other recommendation I think that would be very helpful. My laptops are all native 1400x900 Resolution, as well as my desktops. My vision is not so good, so that is about the highest resolution my eyeballs can handle, Luckily it is still a common resolution for low cost laptops and desktop monitors. Unfortunately the post processor configuration dialogue does not fit on the screen at this resolution. If you could make the dialogue a little bit more compact, so it fits in that resolution, It would be very beneficial to the older folks with fading vision, As well as folks that are using low cost laptops and low cost desktop monitors. Thank you.

       

      Last edit: 12labs 2025-02-06
  • chrisko

    chrisko - 2025-02-16
    • status: New --> Fixed
    • assigned_to: chrisko
    • OpSys: --> All
     

Log in to post a comment.

MongoDB Logo MongoDB