• Members 20 posts
    Jan. 20, 2020, 4:21 a.m.

    Hi All.

    I have have a Klic-n-Kut Zing cutter for a few years and have always been less than impressed by the standard 'make-the-cut' software that ships with it. Not only is it out of date and buggy, but not being a native OSX app it's not a great user experience.

    So I was excited to read about inkcut and the possibility that I might be able to ditch MTC and use inkcut instead.

    I've read through your supported equipment list and note that the KnK Zing is listed as a supported machine, however in the 'working' column it says 'no'. Does this mean that it is simply untested / unverified?

    I'm happy to have a go and help test with my Zing machine and If i can assist in getting it working, just let me know what I need to do.

    Any clarification or advice welcomed.

    /DM

  • Jan. 20, 2020, 3:21 p.m.

    Does this mean that it is simply untested / unverified?

    Correct. That list of devices was user generated so it merely means somebody tried it and couldn't get it to work on the original version.

    As this is an open source project not backed by any company there's no way to really test anything unless someone from the community tries it.

  • Members 20 posts
    Jan. 21, 2020, 3:43 a.m.

    Cool, thanks.

    I've downloaded it and will give it a go.

    Will keep you posted.

  • Members 20 posts
    Jan. 21, 2020, 11:04 p.m.

    Are there any binaries available?

    I'm struggling to compile on my machine as my xcode is out of date and I cannot upgrade to the latest version as my iMac is too old.*

    I'm currently trying to download an older version of Xcode (10.1) as this is supposed to work on High Sierra (the latest OSX version my machine will run) but my connection is worse than dialup. I cannot get to the end of the (5.6G) download without it bombing out. :(

    TIA

    /DM

    EDIT: (*My install fails to compile twisted saying that xcode is out of date)

  • Members 20 posts
    Jan. 22, 2020, 5:15 a.m.

    OK. Finally managed to download and install Xcode 10.1 and have inkcut up and running. Yay

    BTW the path for inscape extensions in the 1.0 versions is "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions"

    But now on to the next challenge(s)

    The KnK Zing uses an FTDI USB - serial interface, which means that it is not recognised by CUPs as a printer.

    I have identified the printers USB port and manually configured a printer that points to this (usb://dev/tty.usbserial-A603LB0M)

    inkcut appears to open the connection okay, and if I try to manually move the printer I can see the commands being echoed in terminal, but no movement on the printer. So either the printer is not set up, or it uses a different protocol and is simply not going to work. I'm hoping it's the former.

    So, how to set up the printer? The instructions on the site say to use the setup option under the Devices menu, however I note that there is no 'Setup' option shown.

    I added the inkcut extension to inkscape, to try and open inkcut a different way (and hopefully get access to the settings menu), however when I try to open the current document using the inkcut extension I get the following error:

    inkcut_open.py:27: DeprecationWarning: inkex.localize was moved to inkex.localization.localize
      inkex.localize()
    inkcut_open.py:66: DeprecationWarning: Effect.affect is now `Effect.run()`. The `output` argument has changed.
      effect.affect()
    inkcut_open.py:53: DeprecationWarning: self.args[-1] is now self.options.input_file
      document = convert_objects_to_paths(self.args[-1], self.document)
    Traceback (most recent call last):
      File "inkcut_open.py", line 66, in <module>
        effect.affect()
      File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex/deprecated.py", line 181, in affect
        return self.run(args=args)
      File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex/base.py", line 114, in run
        self.save_raw(self.effect())
      File "inkcut_open.py", line 53, in effect
        document = convert_objects_to_paths(self.args[-1], self.document)
      File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkcut.py", line 38, in convert_objects_to_paths
        tempfile = inkex.os.path.splitext(file)[0] + "-prepare.svg"
    AttributeError: module 'inkex' has no attribute 'os'
    
    

    Which appears to indicate a compatibility issue between inkex and whatever is calling it. My guess is some kind of versioning incompatibility.

    I'm going to try a reboot and see if there's any difference, but if anyone has any clues as to why I cannot see the settings menu or I get the above error I would be most grateful.

    Thanks

    /DM

  • Members 20 posts
    Jan. 22, 2020, 12:47 p.m.

    Okay, so I've worked through the errors generated by the plugin and can get it to run without falling over but it does not output anything. I suspect that the actual issue is syntactical differences between the beta release and the current inkcut plugin code. Unfortunately that's about as much time as I have to spare for getting the plugin running so that will have to wait.

    Also, whilst I still cannot see or access the devices > setup dialog, I think I may have proven that the printer is actually connected as the following error shown when trying to connect indicates the correct device path. I assume it must automatically select the default raw printer?

      File "/usr/local/lib/python3.7/site-packages/serial/serialposix.py", line 268, in open
        raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
    serial.serialutil.SerialException: [Errno 2] could not open port /dev/cu.usbserial-A603LB0M: [Errno 2] No such file or directory: '/dev/cu.usbserial-A603LB0M'
    

    So, one positive, but I still don't have any movement on the machine.

  • Members 20 posts
    Jan. 22, 2020, 12:50 p.m.

    Am I correct in assuming that inkcut is sending standard HPGL protocol? i.e. same as used on old school plotters.

  • Members 20 posts
    Jan. 22, 2020, 12:57 p.m.

    Seems that the knk Zing uses a slightly modified version of the HPGL protocol...

    an interesting post on the KnK forums...

    knkusa.com/forums/reply/5188/

    Think I'll try and reach out to him and see where he got with his testing.

    So I guess the big question is:

    What capabilities does inkcut have for modified HPGL syntax? Is that a code hack? or is there a more elegant way to achieve it?

    TIA

    /DM

  • Members 20 posts
    Jan. 22, 2020, 2:46 p.m.

    Finally managed to get the Device Setup dialog opened (option + command + P).

    Can now see that it has options for knk machines. Cool.

    Still no movement tho.

    Printer does not show up under serial port list but I can appear to get a 'connection' if I select the printer I created in CUPs.

    Any ideas?

    /DM

  • Jan. 26, 2020, 11:42 p.m.

    Sorry for the late reply.

    File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkcut.py", line 38, in convert_objects_to_paths
        tempfile = inkex.os.path.splitext(file)[0] + "-prepare.svg"
    AttributeError: module 'inkex' has no attribute 'os'
    

    I pushed an update to fix this, not sure why it was done that way in the first place (see changes here github.com/inkcut/inkcut/commit/b92e1db6f1f8bc770e81c757981452888a5c404a).

    It depends on what "protocol" is selected. but yes it defaults to standard HPGL.

    It can be added as a separate protocol here github.com/inkcut/inkcut/blob/master/inkcut/device/protocols/manifest.enaml if really needed. In general most custom commands can be set before the job starts in the settings. See Device -> Setup, under Device tab scroll down to the "Job commands" or "Connection commands".

    Also it sounds like if they were making changes to the protocol, there is probably some special init command.

  • Members 20 posts
    Jan. 28, 2020, 12:50 p.m.

    Reading the stuff that was posted in the KnK forum it looks like this is the case. Unfortunately KnK have not responded to my enquiry so at this stage I don't know what it is or how the syntax is formed. I may have to set up some kind of serial monitor and see if I can sniff them out whilst using the MTC software.

    I've downloaded the build you linked to and now get a file not found error:

    Progress of sorts

    inkcut_open.py:27: DeprecationWarning: inkex.localize was moved to inkex.localization.localize
      inkex.localize()
    inkcut_open.py:66: DeprecationWarning: Effect.affect is now `Effect.run()`. The `output` argument has changed.
      effect.affect()
    inkcut_open.py:53: DeprecationWarning: self.args[-1] is now self.options.input_file
      document = convert_objects_to_paths(self.args[-1], self.document)
    /Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkcut.py:57: DeprecationWarning: inkex.etree was removed, use "from lxml import etree"
      return inkex.etree.parse(tempfile).getroot()
    Traceback (most recent call last):
      File "inkcut_open.py", line 66, in <module>
        effect.affect()
      File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex/deprecated.py", line 181, in affect
        return self.run(args=args)
      File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex/base.py", line 114, in run
        self.save_raw(self.effect())
      File "inkcut_open.py", line 60, in effect
        close_fds=sys.platform != "win32")
      File "/Applications/Inkscape.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 775, in __init__
        restore_signals, start_new_session)
      File "/Applications/Inkscape.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 1522, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    FileNotFoundError: [Errno 2] No such file or directory: 'inkcut': 'inkcut'
    
  • Members 20 posts
    Jan. 28, 2020, 12:58 p.m.

    BTW I've installed inkcut in my applications folder. Not sure if this is appropriate as no directory was specified in the install instructions. File permissions seem okay so I'm guessing that it's looking in the wrong place for inkcut (or I should have installed it elsewhere)

  • Members 5 posts
    Jan. 28, 2020, 6:40 p.m.

    I'm not at my Linux computer right now but I think you might find it in ~/.local/bin/inkcut
    I think this is where it goes if you try to run the install not as root.

    StratO

  • Feb. 1, 2020, 4:17 a.m.

    It seems like they changed the plugin api. Hopefully they included a version so it can be made compatible with both inkscape 1.0 and older.

  • Feb. 1, 2020, 4:20 a.m.

    Also the error is because the inkcut command isn't found in whatever path its looking for. You can try to hard code it to use the full path instead.

  • Members 20 posts
    Feb. 2, 2020, 6:10 a.m.

    Thanks Strato.

    On the Mac everything normally just goes into the applications folder, so I've built it there. My inkscape is installed in my applications folder as well.

    It should be noted that there are however two applications folders, one at root and one in each users home folder, the difference being whether apps are installed per user or for all users.

    frmdstryr, yes I suspected this may be the case.

    Unfortunately I have been a bit time-poor recently so have not had any time to look at this further.

  • Members 20 posts
    Aug. 13, 2020, 12:43 a.m.

    OK.

    It's been a massive amount if time since I started to look at this and like so many things I'm only driven to pick it up again when I most desperately need to use it. It's amazing what you can get done when there's no other option.

    So I've since moved to a new Mac, the old native KnK 'Make the Cut' software no longer works on 64 bit machines and even the Make the Cut website is no more. KnK are recommending migrating to 'Sure cuts a lot' software (who thinks of these names), but at a cost of US$200 to get the same features I had with the Make the Cut software i'm left with a bitter taste. The cutter probably has no more than a few hours work on it over the 6 years we've owned it and that is almost entirely due to the shoddy software. TBH 'Sure cuts a lot' doesn't really look any better than 'Make the Cut'. So here I am again, determined to get this to work.

    So after persevering with trying to figure out the connection I now have movement via the control panel.

    There are two things that I have had to change to get this far.

    Connection baud rate: I'm currently using 57600.
    Device connection commands: ZG;

    With these changes made and using the generic HPGL driver, I have movement using the arrow buttons in the control section of inkcut.

    BTW even on the current version there is still no button in the OSX version to access the device setup, it is still only available by pressing 'COMMAND + OPTION + P'.

    I have yet to try a test cut using a file / image but things are looking promising.

    Will keep you posted

    /DM

  • Members 20 posts
    Aug. 13, 2020, 12:49 a.m.

    Hmmmnnnn, Cannot open a file.

    The missing file menu from the top of the dialog is a bit of an issue

    Screen Shot 2020-08-13 at 10.17.44 am.png

    Is there a fix for this yet?

    Screen Shot 2020-08-13 at 10.17.44 am.png

    PNG, 324.2 KB, uploaded by DeeEmm on Aug. 13, 2020.

  • Members 20 posts
    Aug. 13, 2020, 1:39 a.m.

    Okay so manage to open a file using keyboard shortcut (COMMAND + O).

    The file runs but the scaling of the job is off.

    • I had to increase the 'graphic size' setting by 1000% before the machine moved a reasonable distance.
    • There are long pauses in between moves.
    • The cutting head also does not move up / down. (I note that there is no manual control under the Control menu for lifting / lowering the head. )

    It's close, but not yet usable.

    Where do I go from here? Commands are nearly there but not quite. Is it the wrong protocol?

    So I tried HPGL

    And That's it!!!!

    Working :D

    WOOT!

    To recap.

    Find the path to your USB connected printer:
    - open terminal and use the following command 'ls /dev/tty.'
    - connect printer and turn it on
    - use the 'ls /dev/tty.
    ' command again and note the difference - that's the path to your printer
    - note the path - for me it was 'dev/tty.usbserial-A603LB0M'
    -

    Install printer driver via cups:
    - Go to http://127.0.0.1:631/admin in your favourite browser
    - Click 'add printer'
    - Select LPD/LPR Host or Printer
    - For connection use: usb://dev/tty.usbserial-A603LB0M (or whatever YOUR connection path was - NOTE you need to add usb:// to the front to declare it's using the USB protocol)
    - For 'Make': RAW
    - For 'Model': Raw Queue

    Then in Inkcut:
    - OPT+CMD+P to open devie setup dialog on MAC
    - Device > Connection commands: ZG;
    - Connection > port: select usb://dev/tty.usbserial-A603LB0M from the drop down
    - Baudrate: 57600
    - Protocol: HPGL

    That's it.

    Now to get on with some actual work :D

    /DM

  • Members 20 posts
    Aug. 15, 2020, 8:42 a.m.

    Update:

    So I've been testing everything out by drawing some stsickers that I need to cut. This has led me to setting up the plot material / layout / preview so that it makes some kind of sense to me. This relationship between screen layout and what the plotter plots was one of the things that I never really liked about the MTC software as what you saw on the screen bore no resemblance to what actually happened on the plotter. My personal preference would be for the bottom right of my screen to be the bottom right of the job as I face the plotter. (The KnK Zing has the origin at the bottom right of the plot)

    After playing around with the settings I've managed to get the layout on the screen to mimic the plotter, except that the screen plot is rotated 180 degrees from the plotter output.

    These are the settings I have:

    Device > Setting > Output

    Swap x/y: yes
    Mirror x: yes
    Mirror y: no

    If anyone has any ideas or suggestions?

  • Members 20 posts
    Aug. 15, 2020, 11:32 a.m.

    So it appears that this is almost as frustrating a user experience as MTC :(

    Still trying to work out device output settings for correct orientation of preview / live / job output. The preview & live displays do not match each other and neither match the device output.

    Screen Shot 2020-08-15 at 8.16.38 pm.png

    As you can see the image is aligned to the left of the material in the preview (incorrect for my machine), however the output it aligned to the right (which is correct.)

    After playing with the various permutations of output orientation in the device setup, I have come to the conclusion that it is not possible to get the preview / live view and output to match and it's not possible to get the software to represent my machine. I can fool it into producing the correct output, but this is not what is represented on the screen

    Some observations:

    • Device > Output > Orientation: Mirror X, Mirror Y, Swap X / Y - Changes are not shown in preview but are shown in Live
    • Device > Output > Scale: Changing scale to negative value (a shown on your webpage) does flip preview image (which is what I would expect Mirror X / Mirror Y to do, however the live view shows job progress outside of material boundary.

    I can get my machine to plot correctly by using the following settings:

    Swap x/y: yes
    Mirror x: yes
    Mirror y: no
    Scale x: -1
    Scale y: 1

    But whilst the preview does have the correct page orientation and each item is in the correct location on the page, the orientation of each item is incorrect. The live output, whilst correct, shows the material location incorrectly:

    Screen Shot 2020-08-15 at 8.53.31 pm.png

    So I think this is a combination of a few issues with the interface:

    • Orientation changes to the setup are not shown on the preview but are shown in the live view
    • Scale changes made in the setup are shown correctly on the preview but not in the live view
    • Material location is not correctly shown in the live view (as a result of scale change issue)

    I will raise an issue for this in github

    Screen Shot 2020-08-15 at 8.53.31 pm.png

    PNG, 503.1 KB, uploaded by DeeEmm on Aug. 15, 2020.

    Screen Shot 2020-08-15 at 8.16.38 pm.png

    PNG, 366.1 KB, uploaded by DeeEmm on Aug. 15, 2020.

  • Members 20 posts
    Aug. 15, 2020, 11:40 a.m.

    Addendum:

    In addition to the orientation issues with the output the interface controls also do not change when the device settings are changed:

    The margin settings are not correct: For example with my machine setup the bottom margin changes the left margin in the preview / output...

    Screen Shot 2020-08-15 at 9.07.04 pm.png

    The same also applies to the machine control settings: For example with my machine setup, move left feeds paper through the machine.

    I think some review of the interface is required.

    /DM

    Screen Shot 2020-08-15 at 9.07.04 pm.png

    PNG, 413.7 KB, uploaded by DeeEmm on Aug. 15, 2020.