You are on page 1of 17

SR 3D Builder

User Manual

Installation
System requirements
Hardware You need at least a PIII 1GHz with 256MB Ram and 100MB free HD space equipped with a T&L graphic adapter with 128MB ram and Pixel and Vertex shader ver. 1.1 or higher I recommend using a PIV 2GHz with 1GB ram with a graphic adapter with 256MB ram or more and pixel/vertex shader 2.0 capability or higher. Notice that these graphic cards are dated 2003-2005 so it should work on near any system Software Any Microsoft operating system among Windows XP (SP2), Windows Vista, Windows 7, Windows 2000 (not tested) both 32 or 64bit.

Installing the application


To install SR 3D Builder on your PC, some prerequisite have to be installed. Microsoft DirectX 9.0c with latest update MS Framework 2.0 with latest service pack

Both of these packages can be free downloaded from Microsoft official site. I recommend you to download DirectX library following the link on this web site download page.

Download SR 3D Builder latest version from web site (currently is http://staff.polito.it/sergio.reano) and run installation following video instructions. If you choose a folder for installing LDraw part library and images different from default path (C:\LDraw), then remember your choice. At first run SR Builder may ask for that folder.

Before you start


Before start using this software, I give you a brief description of the idea, the program itself and what you can expect it to do and what not. The program is designed to allow people projecting and building their Lego models with the PC. I wrote this program because I was unsatisfied of what most popular well known program can do: mainly part selection and positioning and for the lack of most animation. I try to get best features from each of these and mix them in my program, adding that missed issues. The first thing to tell about the PROGRAM IS that is STILL IN DEVELOPMENT. I publish any stable enough version to allow people test it for me and send me feedback for changes and additional features. The building environment and part positioning are affordable and saving and loading model should never loss your work. On the other side, the animation environment is much more complex and still in development so, sometimes, the results will not be what you expect. Also consider that only a part of the possible animation is currently recognized so, be patient Other important considerations are the following: Application currently does not perform any collision detections so parts can co-penetrate. This was a choose: focus on speed rather than the detail There is no physics management so gravity, torsion, weight, elasticity etc. are not involved in your projects.

Abbreviation used in this manual


LMB RMB MW UI SRB MSP QSP = = = = = = = Left Mouse Button Right Mouse Button Mouse Wheel User Interface SR 3D Builder (the program itself) Model Space Quick Search Pane

The User Interface


In the user interface you can distinguish five main sections 1 2 3

4 6

Figure 1

1- The menu bar


Operates like a usual menu bar with file system, configuration and application specific options File: Edit: View: Preferences: Shows the Preferences dialog box where you can setup some application parameters Grouping: Shows grouping tab options Open Model : Opens an existing model loading it from a memory support (HD, USBkey or whatelse) Clear Model: Clears current model giving the opportunity to save current work Save Model: Saves current work Save As: Saves current model with a possible different name Import model: Imports an existing model in your currently working model as current selection Setup Directory: Allows user to change the folder where the LDraw part library are installed Exit: Closes the application giving the opportunity to save current work

Tools: -

Error List: Shows a list of error encountered in loading a model (typically missed parts) Statistics: Shows a brief statistics about graphics involved in displaying current model

Take Model Image: Saves an image snapshot of your model Take part Image: Save the specific part image displayed in model space. Works on single parts only and must be used only if you get a new or build your own new part and want to display in part toolbox. Normal user need NOT to use this option Rebuild database images: rebuild the entire database image of the application based on currently displayed angle. Normal users SHOULD NOT use this function Rebuild part list: Rebuild the list of parts displayed in toolbox. Use this option when you download a part update from official LDraw site and want new parts be available to your model. Restarting the application is needed after running this option to load new parts Instruction Miner: Show the Instruction Miner box allowing you changing the order in which the parts of your model are loaded and adding steps to produce visual instruction for building your model Clear Cache: Clears internal parts cache freeing up some memory. Use this option if your PC has not much memory and you clean a model and start building another one

Help Help: Shows a brief help dialog box showing main command reference About: Shows the about dialog box

2- The button toolbox


Is where you find the most used shortcuts to use while building your models. It is important to read and understand the meaning of each of this buttons to deeply appreciate the capabilities of the software. The icons from left to right are the followings

Open Model Save Model Clear Model

Undo Last operations Redo undo operation

Add building step Load model up to next building step (refer to Preference Dialog Box later in the manual)

Snap Brick to GRID: enforce selection movements to snap to nearest half-GRID point. Use this option when you need to place parts one next to another which will be linked. This ensure all parts will be connected

Align part to GRID: Reset selected part coordinate and orientation according to current GRID coordinate system and rotation, so if you have rotate a part in an inconvenient way, its fast to reset it to standard positioning Reset view: reset view, zooming and selected parts to initial state

Use these icons to choose the operation behavior of the application: the box around the button shows currently mode. Before proceed I need to introduce some name convections I used: Part: is any single part you can single select and add to your model. It can be a brick, a bush, a door glass or whatever listed in toolbox Part Block: is any number of parts solid connected each other, like 2 brick or a bush to an axle, but not an axle to the peg hole of a technic brick Connected Parts: is any number of parts someway connected each other, so 2 bricks are connected parts, but also the axle and the technic brick Part Group: is any number of parts you have decided to group together and naming them using the groups options (see later in this manual)

According to these definitions the first four icons on the left select parts in the model space by: Single part or by Solid Connected Parts or by Connected Parts or by Named Groups The fifth icon allows you to select all the parts having the same color of the one you click on

The left icon allow rotation of parts according to their connections so any solid connected parts or connected parts whose hinges are not coaxial with chosen rotation axle will rotate. If more than one rotation axle is available, all rotation axles will be displayed with a green behavior while the selected one will be red. To change rotation axle, use the \ key or point to a connection coaxial with the axle you want to rotate around.

Figure 2

The right icons allows user to show animation the application can detect in the current model based on the part you are going to click on. Actually detected animations involves: gears, differentials, technical worms, turntables, universal joint, hinges, belts, racks.

Mirror Building: allow you to position a mirror plane based on which you will build a symmetric mode. Typically first place a brick that stays in the middle of the symmetric plane and then position the plane it the same position Move mirror plane: allow you to repositioning the mirror plane

Notice: while positioning mirror plane, using mouse wheel, you can change the mirror size

The AutoOrient feature allows automatic orientation for most of the detected connection between parts. When a connection of the selection you are operating with is near enough to a connection of a part already in the model, then your selection automatically orients to facilitate the connection.

Notices: while positioning selection its orientation can change fast whenever you are near to different connection in the model The new orientation is temporary till you dont release LMB The AutoOrient features normally operate on two of the three axles so the situation in the image may occur. To enforce all three axle realign hold down ALT key while moving the part till it is fully realigned.

The Use Dense Connection option affects positioning of part connected to an axle. Most cases this option could be Off since gears, bush and other parts normally connect correctly this way. Anyway some cases, with connections on sloped planes, there is the need of using dense connections to allow parts to connect near enough real life. This is a three state button: Off (default) On for next positioning part On locked until you unlock it. This is the CATEGORY Model list box allow user to choose the type of model is going to build. The selection of this list influences the content of the Brick Type list box in the toolbox. This way I can limit the number of voices listed in the toolbox allowing a bit faster selection. This is the zoom factor and let you to change the virtual distance from where you are looking to your model. You can change this values with keyboar (+ / -) or with CTRL-Mouse Wheel Selection Opacity determines the transparency of the model, while in animation mode, and the selection one while selecting parts hidden by selected bricks

3- The Part/Colors Toolbox


Is the most used part of the interface, and it has many section:

The Parts tab


The BrickType list selection allows you to choose what kind of part is displayed in the below window. The content of the list is influenced by the item selected in the Category Model list described above. Initially only the most common item types are listed in this list, but they are enough for building 90% of any models The search text box is a powerful function allowing you searching part based on their description in many ways: Typing a word, or a part of it, the entire part library is searched for what you type and the result is displayed in the below window Typing a - before the word, the selected brick type is searched for what you type Typing a * before the word (in this case the number) the database is search by part number according to LDraw/Peeron part numbering convention.

The Reload button allows you reload the currently selected part type. Use this after displaying a subset selection using - in the search text The QuickSearch panes are a great and fast feature that is part type sensitive allowing you to quick display a subset of the selected part type. I experienced that 80-90% of the parts you need can be found this way. The red crosshair indicates that more panes are available. To switch between panes, use RMB.

This is the part selection list. Double click on any image icon to load in the model space. Hovering mouse over icons displays the part name and description in the window below. Grey background parts are Unofficia, black ones are Official according to LDraw library.

This option allow you to hide (default) patterned parts. This will help you having fewer parts displayed to choose among These icons let you switch between icons view (default) and icon + description view part list

The four buttons let you choose to display Solid Colors, Transparent Colors, Special Effect Colors (like rubbers) and Used Colors that are already in your model. NOTICE: for multicolor parts (like patterned ones), this affects only base part color. For assemblies (parts that are added together but can be selected one by one) this affects base color of all parts. If they have different color, a warning will be displayed saying that all base color will be reset.

The Group tab


Needs work

The Minifig tab


Still not working

4- The Model Space


It is a 3D view of your assembled model. When adding o selecting a part, a reference GRID is displayed to facilitate part positioning. The selected part(s) are bounded with pink boundaries while yellow boundaries surround the part mouse is hovering. When a part is added to the model space its boundaries turn to green. Important notice: when you move the mouse over the toolbox, it gets the focus even if you dont click on it. The same happens when you move back to model space: it gets the focus. ANY MODEL OPERATION CAN BE PERFORMED ONLY IF MOUSE IS OVER THE MODEL SPACE WINDOW.

5- The information bar


Is where SRB gives you information about what you are doing or what the application need. It is updated often and has several parts: The progress indicator shows that some long work is taking place (and that application is not hanging). Is the current model rendering frame rate. If it gets too low (under 15) the model movement fluidity may be compromised and you can get stuck of using this application. In this case, consider upgrading your graphic card or building a bit little models or reduce image quality modifying graphic preference (see later in this manual). This shows grouping information about selected part.

This shows most important application information, specifically about what you or the application is doing or what the application expect you to do. CHECK THIS OFTEN. This shows information about current selection. It is actually more for debugging purpose than for real utility.

6- The Displacement Caddy (D-Caddy)


This is one of the latest additions to the application interface. Its purpose is to assist the user in quick part positioning, simplifying most commonly operations in Model Space. With the D-Caddy you can: - Rotate your current selection (a single part, a mixed selection or the whole model) around an axle simply by clicking over the arrows. If you combine the click with <CTRL> or <SHIFT> key it will result in a smoother rotation. - Add your current selection to MS by Right-Click over the yellow center. Deselect (clear) your current selection by Left+Right Click over the yellow center.

Starting up
User Interface principle
Selection in MSP follows mouse movements over the grid when LMB is pressed. Selection moves proportionally to the distance the mouse moves on the GRID, but dont move where the mouse is. The movements are relative to the original selection position. This has many advantages: You move the selection only if you want pressing LMB, otherwise mouse is free When you rotate the GRID to change perspective point, selection DOES NOT MOVE The selection movement speed is proportional to GRID density: if you move the mouse where the GRID is coarse then selection movement are more precise; if the mouse is over a fit GRID, then selection movement is faster Selection rotation will take place around the axles origin at the centre of the part (notice that coordinate 0,0,0 of the selected part could be not in the centre of the part)

Also remember that the <ESC> key cancels any pending operation and your current selection. You can use Undo/Redo functionality, while the <DEL> key deletes your current selection. Remember that any model changes (adding/deleting/changing) takes place starting from current selection. To add a part, you select it from the toolbox by double-click on it and it becomes your current selection in the MSP. Pressing <SPACE> or <ENTER> or right clicking the yellow centre of the D-caddy to add it to the model. To delete a part from the model, you first select it with the mouse. It becomes your current selection and then you can delete it by pressing the <DEL> key or clicking both buttons at the centre of the D-caddy. To change a part color, you again first select it, it becomes your current selection, you change its color choosing one from the color palette and then re-add the selection to the model.

Five operations to start building


To start building simply follow these steps: 1. 2. 3. 4. 5. Choose a BrickType in the toolbox to show corresponding part list Double click on the part you choose to display it in the Model Space Left click and keep moving the part in MSP to positioning it. Move mouse wheel to rise/lower your part Rotate the part as needed by clicking on colored arrow of the D-Caddy Fix the part in the Model by Right-Clicking on yellow center o by pressing space key

Repeat these steps to add different parts.

The first little model


Lets start building a really stylized house like this. So, lets start the application or, if already started, clean anything using the clear model button (3rd on button toolbox). Press Reset View (the one with four green arrows) button to ensure the application has the default parameters.

Step 1: the Plate 4x4


In the part toolbox select PLATE brick type. After few seconds a list of all plates will be displayed.

Left click on QuickSearch pane over 4x and all plates with a 4 in the description will be filtered. Scroll left to show the Plate 4x 4 and double click on it. It will be displayed in the model space. Still in the toolbox, click on light yellow color (or what else color you like) to change from grey to your choice. Look at MSP. You will probably see a perspective view of the plate with the GRID orthogonal to screen. Move mouse over MSP and press RMB. Moving the mouse will rotate the GRID around the centre of the plate changing the view perspective. If you are used to play with videogames or any CAD you will easily find a comfortable perspective view. Leave RMB button. If the image is too near or too far you can zoom on it using +/- keys or CTRL+MouseWheel Ensure the mouse is still in the MSP (not necessary over the plate), press LMB and move the mouse. The plate will keep moving following mouse movements. When you find a good location to place the plate release LMB, ensure your mouse is over the model space and not over the toolbox and press <Spacebar> or <Enter> or right-click on the yellow and blue center. The boundaries will turn to green and the place is fixed in the model. If you still move the mouse with LMB pressed you will see another copy of the plate with pink boundaries still following the mouse allowing you to add the same part again. This is a really step-by-step instruction and seems complex, but is really faster to do than to write!!!

Step 2: the Brick 2x4 Using the GRID


Choose Brick from BrickType listbox and wait for list population (a few seconds) In the quick search pane left click on 4x to display the correct brick subset and scroll left to display the Brick 2x4 part Double click on it to load in the MSP. It will replace your current selected part (the plate 4x4 if you do nothing in the while) and the boundaries are pink. Change the color to white (or any other color if you want). As before move the part over the GRID with LMB (mouse must be in MSP). Raise or lower the position of the brick with MW or, if you havent, use keyboard Page Up/Page Down buttons. Use the GRID as reference to know the current height. Pressing G key change GRID positioning cycling into Botton/Top/Middle/No GRID allowing you choosing best reference for brick positioning Notice that while moving the part, it snaps to already in model part connections allowing an easy positioning. When the part is at the correct place, ensure the mouse is in MSP and press <SpaceBar> or right-click on center to add to the model.

Step 3: the Roof Rotating parts


The roof is built by 2 slope bricks 2x3 at 33 In the BrickType choose Slope; in the QSP hit 3x and find Slope Brick 33 3 x 2 (should be in view). Raise the slope over previous 2x4 brick and rotate around blue axle using L key (or clicking on the blue arrow or by pressing RMB while LMB is pressed). Ensure that AutoOrient feature is ON. Move the slope to the correct position (movements are now smoother), but when a connection is in range then the selection snaps to correct position. Notice that even if a snap occurs this does not means that the brick is at the correct position respect the model you are building. It simply says that in that position the selected brick will be connected to the existing model. When you are satisfied of the positioning, add the part and, since a copy remain selected, perform a 180 rotation of the slope and add another instance of the same part.

Things become easy now!!! Notice: to rotate selection you can click on axle arrow or use the following keys when they are hidden by other parts of the model: J/L rotates around blue axle (this is the most commonly used rotation axle and for this you can also use the mouse: while LMB is pressed, press RMB to perform a 90 rotation) I/M rotate around red axle O/N rotate around green axle Using the same keys in conjunction with CTRL key will cause a rotation by discrete values to the most common angles: 22.5, 30, 45, 60, 67.5, 90 Using with Shift key will cause a rotation of 0.5 step

Step 4 Completing the model


Completing the model should now be easy so try by your-self. The chimney is build by two 1x1 plates plus a 1x1 tile

Deeper in the User Interface


Basic parts selection
Learning the better way to selecting part in your model is a must for working fast. As shown in the toolbox description above, the application has four ways for selecting parts in the model. We now skip the Group selection mode since it is not complete, and start working with the remaining three. Selecting parts occurs when you left click on a part already in the model. Since the application tracks mouse movement bounding parts with yellow boundaries, the selected part will be the bounded one. Notice: if the mouse is over the peghole of a technic brick, the brick is not bounded and the selection will not takes place. The best way is to try so you need to build an example model. Try building the technic model shown in figure 2. You should now be able to do it, but here are some hints: Clear the model before start building and reset view Start building from red technic brick After inserting first brick, choose a comfortable viewpoint All parts can be found in Brick or Technic brick types. The QSP are different!! If you take more than 2 min to build the model, rebuild it again. Its for exercise!

When you are done with the example model, try selecting the red brick with all three selection mode available. You should gain the following results choosing any of the three icons in order :

Part selection

Block selection

Connection selection

Hope now is clear the difference among part, block and connected bricks

Advanced parts selection


Multi selection
May often occur that you need to select more than one brick; if you have selected one, mouse tracking is disabled and clicking on a part doesnt select it. To allow system selecting more than one part, hold down CTRL key and go selecting what you need. You can perform multi selection of parts and block but NOT of connected bricks Selected parts maintain their relative distance at the moment of their selection. The consequence is that if you move your first selected part before selecting another with CTRL key, than the two selected parts will not have original relative positioning.

Selecting hidden parts


Less often occur that you need to select two parts one behind the other. In most programs this is not possible, but in this it is. Hit the T key to make selection transparent so you can view behind it and select further parts there. This is useful for selection repositioning also. Another pressing of T disables the transparency mode. Moreover, you can choose selection opacity using the slide on the button bar

The first click (IMPORTANT)


The first part you click is the most important of your selection. Based on it, all rotation will takes place and it is used as a reference for Auto Orienting functionality. As always, an example is more exhaustive. Look at the following image and build this small model. Imagine you need to put the gear train connected to tech brick. All you have to do is to use the select block tool, click on the gear train and move it to connect to red brick. Try doing this in 2 different ways: first try clicking on bigger gear, second try clicking on the axle (use Undo functionality to return to starting point). In both cases, verify if the connection between red brick and axle takes place using the Select Connected functionality. What is the difference? In first case the auto alignment features did not operate and positioning was hard (probably the connection has not take place at all), while in the second case it was fast and automatic. This is because the axle can connect to brick, while gears could not: they can connect to the axle that is connected to the brick. So, when you perform a multi selection, think where you are going to move it and choose the better brick to start selecting from.

Working with selections


You can do with selection anything you can do with single parts, but consider than any movement, rotation or what else is relative to first selected part. So you can add a selection (multi instance of selection also), rotate, delete, change color About this last one, remember that all parts in the selection will be repainted with new selected color (a warning is displayed to confirm operation). Notice that adding big selection is a time consuming operation. If a selection is active, DoubleClick anywhere over the GRID will cause the selection to move next to where you double clicked

Rotating and panning


To rotate the model, press the right button and move the mouse. There are two ways the system rotates the model: If there is an active selection, the rotation take place in the centre of the first selected part If there is no active selection, rotation will take place in a arbitrary Rotation Center that is by default at coordinate (0,0,0) in MSP, but it can be moved pressing RMB on any part already in the model and choosing the option from the context menu displayed.

You can Pan-move your model in two ways: pressing both mouse buttons and moving the mouse OR pressing the MidMouseButton (if you have it).

The Dynamic Grid power


The GRID is the base of positioning part and is an extremely powerful and flexible object. Any selected part move over the GRID of a number of unit proportional to distance and direction of mouse movements in GRID units. This allows you to perform fine or coarse selection movement based on the position of the mouse over the GRID. The GRID follows selection movement to offer a reference plane in performing connection and can be aligned to top/bottom/middle of the selected part by pressing the G key You can enforce selection movements to snap to GRID. While the movements are not so smooth in this mode, this allows you to position part in a way that can be successfully connected later. Look at these images to understand what I mean: Even more: building on sloped planes has always been a problem for any LEGO software I try, but not for this application. If you need to place just one or two part connected to a sloped plane, then the AutoOrient features is good enough, even if probably you need to raise and/or lower your selection to find correct placement. But consider the example in the figure: placing a lot of brick on all three planes and the brick have to be really connected. Doing this is quite easy if you know the technique! - Build some sloped planes, or simply add some plates to a new model rotating them in any of the 3 possible axles. - Select any brick (a 1x1 brick is a good one) and move it in MSP. When it cross a possible connection it will auto orient to allow it. Releasing LMB and pressing <SPACE> add the part correctly. If you have many to add, then there is another and by far better way for doing it. - Move the mouse over the plate you wish to connect to and right click on it. From the contest menu select the Set GRID to Brick option The GRID will be repositioned based on the orientation of the brick you click on and any movements are now relative to the new coordinate system. Simply choose a better viewpoint and work like if you are in your default horizontal plane. When finished with that plate, Set GRID to Brick to another plate, rotate your viewpoint and you are done!! To return to initial (default) orientation and viewpoint, press the Reset view button in the toolbar.

The connections principles


Connecting parts is the first effort of the application. Each connection is represented by a position, an orientation and a type. The program automatically tries to find best combination of these elements to align parts and perform real connection in between. Based on type of connection involved, two parts (or block of parts) in the model can or cannot move in specific ways: these are called mobility grades. I currently consider the following possibility represented by the following images:

Fixed

Translation

Roto-Translation

Rotation

Spherical

Notice: translations are currently implemented only with racks! Furthermore, when more than one connection occurs between two parts, the resulting mobility will be the combination of two connections effect. In the image, even if two brick are in no way solid connected, the resulting connection is a FIXED Connection (check it with real LEGO bricks). On the other side the red axle is free to rotate and translate!!! Many complex movements can be achieved by combining these basic ones.

Hinges and rotation


Hinges are the simplest movement type you can obtain. Usually two parts are required to have such movement The Hinge Move icon on the toolbar allows you to move two hinge-connected parts. The explanation given in the toolbar is exhaustive. Actually roto-translations work like hinges. To start a rotation, simply click on the part you want to rotate. While rotating, if the selected part cross a possible connection, it will snap to it leaving you the possibility to perform the connection!

The Connection Solver


When you move the mouse in your models you see that a small pink pyramid is displayed when the mouse is, for example, over a stud or near a peghole. This pyramid represents the presence of a connection oriented with the pyramid top. There is some functionality in the application that requires you to select a connection like the following. Consider the need to align the two highlighted connection to allow an axle to pass trough. Doing this with other application involves a long try with LDD or some trigonometric calculation using MLCAD. Using SR 3d Builder you need just two clicks. Move the mouse over one of two interested connection till the small pyramid is displayed showing the correct connection. While the pyramid is shown, right click on it and choose the Connection Solver feature. Now move over the other connection and repeat the pyramid operation. You are done! The program performs the alignment and an axle can be used trough both axle holes.