No announcement yet.

Legality of unpacking the .EV3 file

  • Filter
  • Time
  • Show
Clear All
new posts

  • Legality of unpacking the .EV3 file

    I am currently mentoring FLL Team 3344 - The Fantastic Five, and they have been struggling with getting programs in the right order on the brick. Their solution was to create a menu program, but they had some problems with that. They fixed them (with a little bit of help; the medium motor was storing position weirdly, and I'll make a post on that at some point, although the problem did get fixed), and that's their solution. I have been doing my own research, though, and discovered that the .EV3 files are simply renamed .ZIP files. If one reorders the references in the contained Project.lvprojx correctly, they can reorder the programs. I have considered writing a tool to help teams do this, but I want to know the legality of it before I do. Is this allowed by the FLL rules? I know they are supposed to use the official tool to program the robot, but this isn't really programming it, is it?

  • #2
    There are already tools for doing this and more. As for "legality", who cares? You are changing the order the files appear. Is anyone going to care about that? You can already reorder the files in the recent programs list and anyone running from the project window deserves pity, not scorn.


    • #3
      KnifesmithCode A while back I posted some C# code to sort the programs/MyBlocks inside the .ev3 file. You can run the script within the free LINQPad IDE for .NET... See

      Interestingly enough, I have recently embarked on building a LINQPad C# script to read the .ev3 file programs/MyBlocks and generate pseudo-code for easy translation to text-based programming languages (Python, et al). Now Dean would shudder at this methodology, but there just might be a team out there that has a base of MyBlock assets (Neon Supernova had a library of over 20 MyBlocks for Gyro turns, speed-up/slow-down, square-up, line following, etc. that might make for a interesting baseline library shared in github for other teams.) We already use MINDSTORM's synchronized motor blocks, so why not share other sophisticated blocks?
      Coach Brady P. Merkel
      Neon Supernova, 2016/2017 Animal Allies
      Neon Supernova, 2015/2016 Trash Trek, North Florida Regional Champions
      LEGO DestroyerZ, 2014/2015 World Class, State Champions Core Values
      LEGO Bosses, 2013/2014 Nature's Fury, Regional Rising Star