• Members 11 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 11 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 11 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 11 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 11 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 11 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 11 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 11 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 11 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 11 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 11 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.