My team and I are trying to convert our coding framework made of myblocks into actual blocks. I made an application, that generates a "shell" of the block (the modes, and parameters). After this, we would copy our myblock's content to the VIX Editor. This works fine, except when it comes to switches. In that case, it crashes instantly. So instead, we tried using the default VIX switch (from the palette), but those don't support the wires we use to connect our blocks, and gives an error. Screen of EV3-G developer edition

It says "There is no valid source wired to this tunnel"

This is my first question here, so I probably didn't provide enough information, please tell me what else should I provide. Thanks!

1 Answer 1


So I ended up figuring out a solution:

First, I tried manually editing the vix file as a text file, and inserting this code. Picture of code inserted in ev3g

Opening this file would crash the software.
However, if you didn't open it, it would work fine on the EV3 brick!
From this, I concluded, that the problem is with the EV3 vix editor.
But identifying the problem wasn't enough, I needed to find a solution.

After looking around the ev3 program files, I noticed that they use the exact same format as a vix file.
Except this single line:

<VirtualInstrument IsTopLevel="false" IsReentrant="false" Version="" xmlns="http://www.ni.com/VirtualInstrument.xsd">


<VirtualInstrument IsTopLevel="false" IsReentrant="false" Version="" OverridingModelDefinitionType="X3VIDocument" xmlns="http://www.ni.com/VirtualInstrument.xsd">

Now, you can change this single line in your vix file, and the ev3g software will open it in the default editor. You can drag blocks, and also use the vix elements.
One disadvantage is that for some reason the vix terminals are invisible. But you can still select them, if you know where they are.

If you have any more questions, ask them in a comment, and I will answer.

  • 2
    Seeing that the question has remained unanswered for a month, I'd say there is definitely a knowledge gap which you are now best positioned to solve for the sake of people browsing this site in the future :)
    – zovits
    Sep 1, 2021 at 8:31
  • Should I keep the answer this way, or change it into instructions?
    – MoCsabi
    Sep 1, 2021 at 13:48
  • 1
    I like this answer as it is, even though I can't readily see the relevance of the long code block in the beginning. The crux seems to be in the OverridingModelDefinitionType="X3VIDocument" part of the changed line, which should be understandable to anyone who could realistically be faced with this problem. So thanks for a great answer, you made quite an impressive entrance!
    – zovits
    Sep 1, 2021 at 18:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.