Custom Icons for Custom NXT-G Bricks
Using the NXT-G My Block feature, you can make your own bricks (equivalent to “functions” or “procedures” in traditional programming languages). You can learn how to do that here.Part of the process is to select an icon for your My Block. To do this, you can select from a set of predefined icons, and you can combine those icons. But if you are like me, you’ll want to create your own icons for your blocks. And although not documented or supported, LEGO has put everything in place to do just that.
Suppose you want to create a My Block like this one:
The first thing you will need is to create an icon. The icon must be a transparent PNG file of dimensions 32x32 pixels. Amongst others, you can use the free software Paint.NET to create this kind of images. Make sure to use a transparent background, so that you can combine the icons with other icons you create.
For this particular sensor, I made two icons: one that just reads bNXT, and another with a compass rose. Then, I placed the two icons in the directory “C:\Program Files\LEGO Software\LEGO MINDSTORMS NXT\engine\Icons\MyBlock”, as seen in the next image:
The next step is rather traditional. When I now start the NXT-G software, and I create a My Block, I see my two icons in the list of icons to be used:
I simply superimposed the bNXT icon over the compass rose icon, and that was it. As you might have noticed, the My Block Builder shows the content of the “C:\Program Files\LEGO Software\LEGO MINDSTORMS NXT\engine\Icons\MyBlock” directory in alphabetical order, but it only shows the first 72 icons in the directory. That’s why LEGO uses their own naming/numbering system for the icon filenames that allows them to alphabetically sort the blocks. My blocks just sort of fell in between those, bumping out the last two blocks. So make sure that when you add your own blocks, your filename is within the first 72 files, alphabetically speaking.
Lucky for us, LEGO has decided to store the icon inside the .rbt file that stores your My Block. The icon travels with the My Block, and you can freely pass along your .rbt file. While the .rbt file is on your own computer, you can still edit the icon at any time. After copying the My Block to another machine, the original PNG files are no longer available on this new machine, and the icon can no longer be edited (but the program inside the Block can be opened and changed).
PS. The movie on the Compass correcting slippage post has finally been published by YouTube. Click here to see it.
6 Comments:
Thanks for calling out that ability! For anyone else who wants to experiment, there is a lot buried in the directory structures of the Mindstorms software... not all of it is dynamic, but a good bit is,and fun to play with.
--
Brian Davis
Yes, Filip... very cool! The only problem I found, though, is you keep saying "My Brick" instead of "MyBlock" :)
Thanks for posting this...
Jim
very cool , I will try it out .
Jim,
Strange how the mind works: I didn't even notice that! I've changed the post now to read My Block nearly everywhere.
Filip.
My Brick, My Block... we all knew what you meant :)
Still a good tutorial...
Jim
I did it but when I went to the editor the icon did not show up. what is the problem?
Post a Comment
Subscribe to Post Comments [Atom]
<< Home