Name
Pass

Advanced editing

Once you have the editing basics under control it might be time to unlock some of the more advanced features of both LDraw and LDCad.

Submodels

scrShot

LDraw is a recursive format which basically means you can use your models inside other models as if they were oversized bricks. On top of this LDraw also supports multiple models inside a single file (MPD). MPD files take the recursive nature of LDraw to the next level by allowing you to create modular designs while keeping everything neatly in a single file.

LDCad fully supports recursive model usage including the MPD format. To better understand this feature it's best to go and create a simple MPD model. To do this start a new file like normal but don't save it to disk right away. Next you can draw something like you used to but as I want to explain submodel usage lets limit it to a small base plate or something similar, just so we have a foundation to place the submodels on later on.

scrShot

Next we add a new (sub)model to the file by clicking on the icon on the tool bar. This will clear the editing view and opens the familiar 'edit header' dialog. Difference being this is the header of an additional (second) model inside the (new) file we were working on. Another small difference is you are allowed to edit the filename for this model as that is only allowed for models inside a MPD (the file has been upgraded to mpd the second you added a second model to it). Feel free to use the dialog like normal but for this example we will be drawing a simple tree so lets at least replace 'subModel-1.ldr' with 'tree'. After you accepted the changes it's also a good idea to save the file to disk. It's usually best to postpone saving a MPD file to after you added a second model so the save dialog will automatically name the file .mpd instead of .ldr as per the official LDraw file naming convention.

scrShot

There are no limitations on what you can draw inside a submodel but for this example lets keep it simple and just draw a small tree like object. Maybe something like shown in the picture at left but feel free to do your own thing. When finished the submodel can be used in the main model (or any other submodel) of the MPD as if it were a normal brick. You can even use it multiple times and or in different colors (more on that later).

To add the submodel to any other model you first need to go back to the base model this can be done by pressing the 'end' key while the mouse is inside the editing area as that key brings the last used model to the foreground. But as you will be needing it anyway lets use the part bin to navigate between the (sub)models. Set the part bin to an unused or less used view and navigate to the root by pressing the up arrow until it disappears. Next you click the following sequence of grid cells:

scrShot   scrShot

This opens the 'file content' part bin group. This group displays all the models contained in the current file, it therefore should look something like the picture at the right. The file content group can be used to select the (sub)model you want to edit next. This is done by pointing the mouse at the lower right bottom of the cell containing the target submodel. A 'wrench' like icon will become visible clicking it will navigate the editing view to the given model.

Besides navigating the submodels inside a MPD this group is also used to add any of them to another model as if they were a normal part. This is done exactly the same as with any other normal brick by dragging it from the bin into the editing view or by selecting it and pressing the 'ins' key inside the editing view.

TIP! disable part snapping when adding large submodels as the currently used part snapping feature of LDCad isn't optimized for such operations and might cause a very sluggish response. This small tree shouldn't be a problem though

Lets add a couple of trees to the base plate. And maybe try to create a second submodel (e.g. a boulder) and add a couple of those too. If done correctly you should end up with something like the picture below.

scrShot

You might wonder how I managed to add different colored boulders while using only a single boulder submodel. This is done using the special LDraw color number 16. Color 16 means 'use parent color'. Anything using color 16 in your submodel will render in the color you assigned to the submodel during placement, just like with normal LDraw bricks. You can assign any set of bricks color 16 so you could e.g. just make the currently green tree top bricks color 16 so you can use differnt tints of green trees whom all still have a brown trunk. You'll find the number 16 'color' in the 'special' group of the color bin. Just be sure to use color 16 and not color 24 which has a slightly different meaning.

The above is basically everything you need to to get productive with submodels. The only thing remaining, imho, are some guidelines on when to use submodels. Because you don't have to limit their usage to things you know you will be using multiple times in a model. It's perfectly normal to put things you only use once in a submodel. The main reasons for doing so are usually simplification and or a modular design. But it might also be needed to limit the size of the section you are working on so your graphics card won't have a meltdown.

Another good reason for using a submodel is angled building. Instead of placing all attached parts on such an angle consider creating a normal 'square' submodel and then place that submodel at the angle in one go. This will make adjusting said angle infinity easier in the future. It will also prevent rounding error and or alignment problems.

You might be a bit overwelmed by these 'rules' but don't worry you don't have to do all this submodel planning on the spot. LDCad offers multiple tools to reorganize things afterwards. For example you can easily move the current selection to a new submodel by using the 'reorganize' menu which is reachable by right clicking the editing view while a selection is active. This will open the 'selection', menu inside it click 'reorganize' followed by 'move to submodel'. This opens the below dialog which offers some options you usually don't need to change.

scrShot

After clicking accept it will create a new submodel and move the selection into it followed by replacing the selection by a reference to the new submodel. It then opens the header editing dialog for the new submodel so you can set it's file name etc. After closing the header dialog nothing seems changed as the model is visually the same. But as the selection is now a single submodel you can use it like any other. There are other MPD related tools available in the 'reorganize' menu but those are better explained in one of the later sections of this documentation.

Nested editing

While using submodels is extremely useful it has one major disadvantage. It limits the way you can mutate and or use parts in submodels while editing the main model it self. This forces you to continuously switch between those models editing area wise. Which in turn limits your insight of the assembled model as a whole. This problem is even more apparent while using the grid (non part snapping) building approach as parts in a similar position as a needed new one might not be individually selectable because they live in a submodel. Fortunately LDCad offers a very unique feature which completely removes this shortcoming of submodel usage, it's called the nested editing mode.

scrShot

Nested editing means all parts in submodels used by the current main model will behave like they where placed directly in the main model it self. As a result all positional and orientation information of those parts will be presented in the coordinate system of the main model. The only downside of nested editing is you loose control over the submodel references themselves, but this is simply solved by switching back to normal editing when needed or using exclusions (explained below).

You can change the current editing mode from the top right session panel which becomes visible when you move your mouse cursor over the file name normally displayed at that corner. To enable nested editing simply click the 'nested' tab, this is only useful while actually working on a model containing submodels though. The session panel also offers a couple of session related options but more about that later.

The best way to understand nested mode is by using it on a mid sized MPD, for example open the 5510.mpd example that comes with LDCad (using the file/examples menu). Moving the mouse around you'll notice the front bumper and top rollbar (among others) are submodels. Now put the editor in nested mode and move the mouse again over those regions. This time individual bricks will light up like any other 'normal' placed brick. You can also select / move them around like normal.

scrShot

While nested editing is active all new bricks added will still be added to the main model, no matter where you place them. But it's also possible to add new bricks to one of the submodels instead of the main model it self. This is done by clicking the 'Insert into' text on the session panel with left mouse button while a part in the intended target model is selected. For example if you select the front bumper's top 1x8 plate and click the 'Insert into' text any following new part will be added to the 'frontBumper.ldr' model. You can check this by switching to that model in the editor. To go back to adding parts to the main model make sure nothing is selected and click the 'Insert into' text. Alternatively a switch between nested and normal editing will also reset the insertion target.

One thing which might be a bit confusing, while using the nested editing mode, is working with models which use one or more submodels multiple times (like the tree in the previous chapter, see picture at the right). This because their individual parts will light up for all instances no matter which copy you selected. This is because you are manipulating the original (single) brick which is only rendered at multiple places when used from the main model. Moving such parts around might be a bit confusing depending on the orientation of the submodel usage references. This also goes for adding bricks while 'insert into' is set to a multiple used submodel as such bricks will pop up in all the other instances too.

While in nested editing mode it doesn't matter if the model uses a single submodel or dozens of them which on their own might again use submodels. All these models and their relation to each other is called the model tree. In this 'tree' the main model acts like the root trunk and the parts are the leaves. There are however moments you would like to work with a submodel as a whole while retaining the 'leave' behavior of all other parts. This is possible using 'Nesting exclusion'. This feature can basically 'promote' any branch of the tree to a leave.

For example try to move a specific tree in our small Forrest model during nested mode, you'll soon find this is not possible. It needs a switch back to normal editing which isn't all that bad in this case. But there are moments you would like to manipulate a submodel as a whole without leaving nested mode (e.g. while creating complicated groupings, more on that later). In such a case you simply select any brick of the tree instance you want to move and press 'e' on the keyboard (or right click open the selection menu and select 'Nesting exclusions/Exclude selection'). The brick will deselect but you will now be able to select that single tree as a whole while all the other trees still use the nested behavior.

To go back to using the tree fully nested make sure the tree is (still) selected and press ctrl+e (or use 'Include selection' from the menu). To clear all exclusions in one go at any time press ctrl+shift+e (or use 'Clear exclusions' from the menu).

Final thing you need to know about nesting, at this time, is the 'Move to current level' feature accessible from the 'selection/reorganize' menu. This will help you move stuff from one (preferably single used) submodel to another (preferably single used submodel) without visually changing the model as a whole. To do this select e.g. the front bumper 1x8 plate during nested editing in the 5510.mpd example. Then right click the editing area to open the selection menu and choose 'Reorganize/Move to current level'. This will move the 1x8 plate from the frontBumper.ldr model to the main.ldr model. You can check this by going back to normal editing and or inspecting the frontBumper.ldr model. The 'current level' referenced to in the menu item is the currently active 'insert into' model you've set using the session panel. Try to move the 1x8 plate back by changing the 'insert into' submodel and using 'Move to current level' feature again.

The above should shine enough light on LDCad's nested editing mode to get you comfortable using it, but like always it's best to just go and play with the feature to completely understand/master it.

Dynamic parts

The official LDraw library offers thousands of LEGO parts and is still growing each year. There is one shortcoming about all these parts though; they are all static non bendable representations of the real thing. This means parts like rubber bands won't stretch, pneumatic hoses won't bend and shock absorbers won't compress etc. There are multiple solutions to this problem which usually boil down to generating custom parts by using (often very complicated) third party tools.

To prevent having to use these complicated tools LDCad offers a collection of fully integrated dynamic part generators, which can be used in real time during editing. This means you can guide e.g. a pneumatic hose through your model while seeing the result / progress as you go. Another advantage of the LDCad generated dynamic parts is they will be usable / visible in any other LDraw rendering software without having to install additional libraries etc.

There are currently two kinds of dynamic parts available in LDCad, namely: Path and spring based ones. It's possible to create dynamic parts of either type from scratch but in most cases you'll be better off using one of the supplied templates. These templates contain a starting situation (of e.g. a rubber band) you can modify into the needed shape afterwards. All dynamic parts are managed in a dedicated subfile (like submodel's), which will be automaticlly created (in a MPD by default) whenever you drag a dynamic part template into your model. Afterwards you can do whatever you want with it as it's a copy of the original template.

Rubber bands

scrShot

To see what I'm talking about lets first draw a very simple collection of technic wheels you would want a rubber band around (see picture at the left). Next locate the main template group in the part bin (e.g. by using a dedicated part bin view). To do this navigate to the root of the part bin and then select the below left group. Inside it you'll find a collection of subgroups dedicated to some general category (e.g. pneumatic parts or shock absorbers etc). As we need a rubber band choose the rubber band sub group represented by a simple round (rubber) ring (right picture).

scrShot scrShot

scrShot

To add a band to our model you simply drag it from the bin like any other part. But as a rubber band can't 'snap' to the wheels you'll need to use your grid editing skills to place it at the correct place. In this case you do that by selecting one of the wheels and setting the grid to mimic the surface of the wheel like in the picture at the right. Before placing the band you also want to select a 'rubber' color in the color bin. You do this from the special rubber colors group, lets use red rubber. Now you drag the round rubber band into the model and place it around one of the wheels, don't worry about it being to small or to large. When dropped the below dialog will appear.

scrShot

scrShot

It asks if you want to add the new dynamic part as a new file or make it part of the current (MPD) file. You usally want to go with the MPD option so press 'Select'. This results in the familiar header dialog being shown. This is to edit the new subfile's header, you should be familiar with this dialog by now so use it like normal. When done close it and the model should look like the picture at the left.

scrShot

Now the band is placed we can start shaping it so it goes around all three wheels in a realistic way. To do this you need to switch to the nested editing mode. This is needed as we want to manipulate the band itself and not its general location. Once nested mode is enabled you'll see a big change in way the band is drawn as its control 'levers' are now visible. Currently the rubber band exists out a single circular 'guidance' point of which you can control the radius by dragging one of the yellow spheres. Try to make it larger to see what I mean.

While resizing the circle its current radius will be displayed in the hint bar, try to set it to 30.5 which should make it fit the belt wheel perfectly. Next we need to add two additional circles to the band's path so it also goes around the other two wheels. To do this you need to first select the center of the current circle this, however, is currently a problem as its center is obstructed by the wheel it self. You can solve this by temporary hiding the wheel or by switching to the bands own editor session (using the part bin MPD group discussed above).

lets use this situation to introduce the part hiding feature as it's very easy to use. Select the wheel and press the 'h' key, this will hide the wheel and clears up the circle's center. Now you can select it and add a new one by pressing the 'ins' key (make sure the grid is still set correctly). This will introduce a second circle object place it at the center of the other smaller wheel and resize it to a radius of 30.5. Once you done that press 'ins' again and place the third circle at the center of the large wheel. As it's bigger you need to set it to a radius of 47. You should now have something like the picture at the right.

Do note the order at which you place the guidance circles is very important as the band will follow them in the exact same order. If you had placed the larger circle before the second smaller one your band would have ended up in a cross. If you want to insert a circle between two existing ones be sure to select the one you want it to follow is selected when you using 'ins' to add the new one. This because a new guidance point will always be inserted behind the selected one unless the last one is selected and rules dictate it can't (e.g. pneumatic hose end cap). In such a case it will be inserted as the second last one.

We are done adding circles so lets make the first wheel visible again by pressing ctrl+h which undo's the last hide action. That's it your band is ready to inspect it in its neutral state switch back to normal editing so the control tools will be hidden, like in the picture below.

scrShot

Pneumatic hoses

scrShot

As you can see adding a rubber band to a model isn't that hard. The same goes for all other 'path' based dynamic parts. They are called path parts because they are all about some sort of material following a set path around/through a number of control points. The band example we've been working on only uses circle points, but working with e.g. a pneumatic hose is very similar. The only difference is the control levers in such a part are used to shape the curve of the tube between two points. To better understand this lets create a very simple pneumatic model, something like the model at the right.

When done set the current working color to e.g. rubber black and add a new pneumatic hose by selecting its template from the pneumatic templates group (one level up from the band group). While part snapping is enabled the template hose's ends will snap on the extension pins (you might need to rotate first using the arrow keys). Use part snapping to connect the hose end closest to your mouse cursor to the top connector. When done release it so it will trigger the submodel kind dialog again. Choose the MPD option again and use the following header dialog for the new subfile as you see fit.

scrShot

Once the hose is placed put the model into nested mode. This will make the control levers visible so you'll be able to route the hose through the hole in the center towards the second pneumatic connecter at its backside. To do this first just grab the still unconnected end of the hose and drag it towards the left nozzle, when it snaps onto it release it this will cause the hose to regenerate in a 'S' shape. That was easy enough but the hose seems to use very sharp corners something which will not happen in real-life.

The curve between two points is generated using the bezier algorithm The red and green control spheres are used to influence the sharpness of the bend so to improve the shape you simply move them around until things are to your liking. You should end up with something like the picture at the left.

Now lets do something more complicated, lets route the hose through the hole in the center 1x2 technic brick. This can be done by adding one or two extra guidance points. You could add just one point in the center of the brick's hole or put one on either side of the hole. The later will allow for sharper corners without having to worry about the hose going through the solid part of the brick. So lets do two as it's really not that much more work.

scrShot

While still in nested mode select the top end point of the hose. Make sure the editing grid is set to top so we can move the point in front of the selected one. Now press the 'ins' key. This will add a new guidance point to the hose, put it somewhere left in front of the selected one. It might look a bit 'wrangled' but don't worry about that during routing. It looks wrangled because the new point has the same direction as the one you used to add it (it guides the hose towards you), while the next point is on the other side the frame. To smooth this out we need to change the direction of the point so it points away from you. This is simply done by rotating it 180 degrees. After this you should have something like the picture at the right. You might have noticed the direction of a point is also indicated by the two control points as the hose always goes through them from red to green.

Fun as this is we now have a point floating in mid air which is great for general hose shaping but in this case will do nothing to get it through the hole. For this we need to position the point exactly in front of the hole, and in order to do that we need to apply some grid editing kungfu. A situation like this also lends itself for using the orthogonal (2D) projection mode I spoke of shortly in the Basic editing section. Using the 2D camera makes precision positioning much easier.

First set the grid so the editing pin points parallel to the red lever of the new point. Then we switch to the 2D camera by pressing shift+v (The shift in this command makes sure the 2D viewpoint is as close to the current 3D viewpoint as possible). Things will look something like the first picture of the below sequence. The editing pin will be gone but in its place an 'editing rectangle' is now available. This rectangle can be used to move and rotate the selection much like the editing pin does. Biggest difference being it will always be drawn on top of everything else even if the selection is obstructed by other parts etc.

Next we need to set the grid to 'fine' by clicking on the '10 8' text at the top left of the compass and selecting '1;1;1' in its menu. This is needed as the center of the technic brick's hole is off grid at the default grid resolution. Having done that you can grab the editing rectangle and move the hose's point so it sits exactly inside the 1x2 brick's hole like the second picture below. While doing this you can use the point's center cross to guide you while using a very closeup zoom. Use this to align it with the octagonal shape of the brick's hole.

Above mutations puts the point in its right place for 2 of the 3 coordinates but it's still floating in mid air as the result of its 'depth' location. So lets use the 2D view to correct the 3rd coordinate too. For this to work we need a top view of the model. This is done by going into the compass to rotate the big cube until the face saying 'top' is yellow. Just grab the cube with the left mouse button and drag the mouse around like you used to controlling the trackball camera in the 3D editing view. You should end up with a view like the 3rd picture shows.

In this view upon the model we can easily move the point towards the yellow plate to align it with the hole below it. As we only need to move the point in one direction, instead of grabbing the rectangle's inside like before try to grab it on its top side as this will restrict the movement like the editing pin arrows do. When this is done you can go back to 3D mode by pressing 'v' things will now look like the 4th picture.

scrShot scrShot scrShot scrShot

We are done with precision placement, restore the grid to its default by setting it to 10;8;10 again (or simply press '3' while the mouse is inside the editing area). Adding a second guidance point at the back of the 1x2 brick will be much easier now the first one is placed correctly, just change your view upon the model so the backside is clearly visible. Then put the grid into top/bottom mode and press 'ins' while the last added point is (still) selected. This will duplicate it so you can place a new point at the other side of the hole it should look something like the below left picture.

You are now done routing the hose, only thing left to do is smoothing its curves by adjusting the green/red levers until you're ok with the general shape/length of the hose. Afterwards it should (in normal editing mode) look something like the below right picture.

scrShot scrShot

Using above manipulation techniques you'll be able to route any kind of hose in your models. This because above technique doesn't just apply to pneumatic hoses, it will work with any of the path based templates. You can even combine the rubber band circle points and the above pass trough points if needed. This is done by changing the point type by using the point's property dialog (you open that by pressing enter while its selected or by clicking the little coordinates info panel).

Only thing I would like to add in closing is to always keep an eye on the guidance points center crosses as those tell an important story. Just take a closer look at one of them, you'll notice they are actually made out of two arrows. Those arrows indicate the points 'roll' orientation which you must keep similar to the previous point on the path. If the difference between two points is too large it might cause weird jumps and or twists in the hose's skin.

That's it for path based dynamic parts, don't worry if its all still fuzzy you'll get the hang of it more and more by just using it. You could also practice some more by drawing some simple frames like in this example and try to route hoses in various ways around/through them.

Shock absorbers

Above discussed dynamic parts are all path based, but LDCad also offers spring based ones. Compared to the path ones spring based parts are much easier to shape. To demonstrate this lets use a spring based part in a real world example. As springs are mostly used combined with technic shock absorbers lets setup a simple minimalistic suspension system similar to the one used in the 8845.mpd example model.

First let me say it's not always needed to use dynamic based shock absorbers, many models will be fine using the static official ones as long they can be used in their set length. But when you need a shock to be slightly compressed (e.g. resulting from the model's weight.) it's good to know the dynamic ones are there to be used through a selection of templates. Lets navigate to the shock absorber template group in the part bin by clicking the below sequence of cells from the root group in a view of your liking.

scrShot scrShot

scrShot scrShot

Next we draw a simple frame to demonstrate how to add a slightly compressed shock to a model. Something like the picture at the left should be clear enough. It uses two 7 hole bars and the lower one has been rotated 15 degrees by first selecting its outer pin followed by a ctrl+lmb on the beam and the center pin, this ensures the outer pin is used as the rotation point for all parts in the selection.

Now we add a grey 6.5L soft spring shock using its template. You might want to first select the top pin or beam to make sure the orientation of the new part will be neutral. Alternatively you can also press 'home' while dragging the shock into the model. Place the new shock so its grey side is connected to the top pin like in the picture at the right.

The next 'problem' to solve is getting the shock to point towards the second pin while ignoring its length for now. To do this you need to figure out the correct angle to rotate the shock with. Now while in school you might have thought when will I ever need this trigonometry stuff, well guess what... this is it :). Fortunately LDCad offers some tools to help you do the needed math. For this to work you temporary need to add a helper pin to the other end of the shock. In practice it's best to use weirdly colored parts in such cases, e.g. pink, so they are easily recognized as being temporary.

Next we use the 'Selection information' feature to get all angles of a triangle made out of these three pins. To do this select all three pins starting with the pink one in (anti) clock wise order using ctrl+lmb. If the editing pin is in your way you can temporary disable it by pressing 'p'. After this click the right mouse button to open the 'Selection menu' and choose 'Selection info'. Using this menu click 'Show info' (changes to yes) and also click 'Show distance' (becomes no). All this will result in something like the picture below.

scrShot

As you can see this easily gives you the needed angle (12.99 degrees) to get the shock to align with the target pin. You could use this angle as is but being a perfectionist myself I prefer to use the value with more digits to prevent a tiny misalignment later on. You obtain the exact value by clicking the label currently displaying 12.99 (You might want to pin the menu down to prevent it from closing first). This will put the real angle on the clipboard so you can paste it later on. Now we know the angle click 'Show info' again so rendering goes back to normal. Close the menu and delete the pink pin and optionally re-enable the editing pin by pressing 'p' again.

While it's great we now have this angle it's impossible to apply it using the editing pin rotation disc. You need to enter the angle manually to do a precision rotation. This can be done by using the manual rotation dialog which can be opened by pressing the icon while the shock is selected. Alternatively you can also use the middle mouse button to click on the rotation disk of the editing pin. Either way will open the below dialog.

scrShot

This dialog helps you rotate the selection using several methods (angle for the normal rotation, rotation vector, rotation matrix, etc) The method of rotation can be selected using the top selector field. But for this rotation the default method will do just fine. Enter -12.99420 (or use paste, and just add the '-') and press enter / click accept this will perfectly align the shock. You had to use -12.99420 and not 12.99420 because of the rotation direction of the grid which is anti-clockwise when the axis perpendicular to the grid points towards you like the X-axis does in this case. This might be a bit confusing so in practice just try the literal selection info angle and if it turns out to be wrong use undo (ctrl+z) and try it again using the negative one instead.

While the shock is now in line with the target pin, it doesn't connect to it as it's currently to long. So the next thing we need to do is set it to the correct length. To do this we first go to nested mode so we can manipulate the spring ends individually. Once the model is in nested mode and part snapping is enabled you could just 'grab' the black end of the shock and snap it to the bottom pin. But as this will not always be available depending on the used parts etc, lets (also) try this the non snapping way. If you already used the snapping method just undo it by pressing ctrl+z.

Getting the shock in the right position using just the grid might seem very complicated as it's currently off grid making it impossible to move it in a straight line. As a result of this moving it will tear it apart in all kinds of unrealistic ways. Just try this (using the editing pin arrows to prevent snapping) to see what I mean, don't worry you can undo (ctrl+z) it again afterwards.

This should be a familiar problem though if you remember the basic editing section's chapter about using the relative grid. Luckily the relative grid feature also works combined with the nested mode, so select the grey end of the shock and press 'o' to change the grid orientation. This will cause the editing pin to switch sides as the shocks' orientation is very different. Just compensate this by changing the grid so the pin points towards you again. We need to move the black end of the shock part to do this select it and change the editing pin to move mode.

Also as a result of the relative grid the top shock hole and pin will now be the origin (0,0,0) point of the grid, which means the Y value shown in the x,y,z panel is the same as the shocks length. Therefore all we need now is the exact length of the compressed shock. This can be obtained using 'Selection info' again. For this select the two tan pins the shock connects to and open the 'Selection info' menu again. But this time set 'Show distance' to Yes and set 'Show angles' to No to reduce clutter. This will give you the needed length of 98.04 click the label for the exact value and turn off the selection info again.

scrShot

Instead of using the selection info you could have also just selected the bottom pin in this particular case as its 'Y' coordinate (as shown in the picture at the left) is already at the correct place due to the custom relative grid origin and the configuration of the shock itself. Only difference would be the precision but this will matter less with movement manipulations.

Now you know the required length of 98.04 select the black part of the shock and open the manual movement dialog using the icon or by middle mouse button clicking the editing pin arrows. This will open below dialog.

scrShot

Use this dialog to change the Y coordinate of the shock end to 98.04 and press enter or click accept. This will regenerate the spring and as a result everything lines up nicely. It also marks the end of adding the shock to the model, only thing left to do is some cleanup workspace wise. For this deselect everything using the 'esc' key and press 'o' to reset the grid to absolute space. You might also want to switch back to normal editing in order to see the 'clean' version of the shock, things should resemble the picture below.

scrShot

Using groups

Pending...