John Park wrote an excellent guide Lego Set Lighting. I used this guide to light up the LEGO Christmas Tree (set #40573) making the candles flicker away. My problem was how do I hide the electronics running everything.
I had the idea to design and build a LEGO model in the shape of a present, but the question was how.
It turns out there is an easily accessible CAD program and method of ordering parts (maybe too easy!).
The first step is to get BrickLink Studio 2.0. This CAD program is intuitive to use, includes almost all bricks available, and features to test your model strength, render 3D visuals of it, view what parts you use and even generate instructions on how to build your model. This is not a guide on how to use Studio 2.0, but it includes a built in tutorial that makes getting started a breeze.
The first step in the process is to generate a list of parts. Under the Model menu you will find Model Info. This screen will show you everything used in your project and include a button Add to Wanted List.
The Add to Wanted List button will open up a browser window and take you to a page where you upload your part list. The list can be named or you can add it to an existing list.
Next you verify the items uploaded to ensure what you uploaded is valid (which it should be).
On the next screen you can change quantities and set options to notify you if a rare brick is becomes available. For my simple design this was not an issue but for some fancy and rare pieces finding them may be more difficult.
Finally select Add to Wanted List at the bottom of the webpage.
After a final success screen you can view your uploaded part list. From here you can maintain your list, but there is a new button Buy All.
Pressing that brings you to a new screen to start helping you find and buy all the bricks you require.
On the buying screen you can filter by regions, currency and other items you may care about. There is then a button Auto-select. This button will proceed to search all the registered stores that provide bricks and find you the cheapest price. If you are using common bricks this may return just one store, but for rare items you may have to buy from several stores.
After you have found store(s) with what you need the rest of the process works like a normal purchase transaction. After you choose to buy the stores will calculate the final shipping costs and send you an invoice.
As an example my Christmas gift model had 51 bricks, and I added a few duplicates (just in case). My total was around $6 for the bricks and $5 shipping.
All that is left is to wait for your delivery, build your custom LEGO model and install your electronics inside.