![]() |
![]() |
||||||
|
|||||||
![]() |
|||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
|
|
|||||
|
setup and tutorial for |
|||||
|
This tutorial will teach you how to set up MLCad to run the hose and band synthesizer LSynth through MLCad's interface. Furthermore it will show you tips and tricks and help troubleshoot problems you might encounter. The tutorial takes for granted that you have followed the installation advice for the LDraw Parts Library and MLCad, you have further downloaded and installed the package with unofficial parts from the LDraw Parts Tracker, your LDraw system is running smoothly and that you are at least a little familiar with the building editor. The tutorial is based on MLCad 3.2 and LSynth 3.1 and is grouped into the following sections: installing LSynth |
|||||
| installing LSynth | |||||
| Navigate to the LSynth website http://lsynth.sourceforge.net/LSynth.html and download the LSynth_3_1_setup.exe setup wizard to your harddisc. | |||||
![]() |
|||||
| 1. | Launch the setup wizard and enter C:\Programs\LSynth when asked for the install folder. This tutorial assumes that the path to the LSynth.exe file and - more important - the \Bin\ folder is C:\Programs\LSynth. All references to the location of files and directories make this assumption. Create short cuts in the Start Menu folder and a desktop icon if you want but don't launch LSynth yet . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Please download the latest LSynth.mpd file which specifies hose and band synthesis definitions, as well as the constraints for both hose and band synthesis. In older versions of the program these definitions were hard coded in the program and have been outsourced since version 3.0 to an editable file for easy modification and maintenance by the users:
download: Unzip the content to the \bin\ folder located in LSynth's root, overwriting the already existing file (but make sure you have created a backup file first ). Download also the package with the latest constraint files. The LSynth constraints will be treated as unofficial LDraw part files and stored in a special folder. Make sure you understand how unofficial parts should be included in programs such as MLCad by reading the tutorial to customize MLCad a bit through the MLCad.ini file first.: download: This tutorial assumes that the base directory for LDraw containing the \PARTS\ and \P\ folder as well as the \Unofficial\ folder is C:\Programs\LDraw. Create a subfolder named "LSynth" in \Unofficial\ and unpack the content. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| You'll further find three official part files in the constraint package. These have been edited to be visible in the parts tree window. Copy also these files in the LSynth folder. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| setting up MLCad | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Before we dive into the nuts'n'bolts of part synthesis we have to make sure that MLCad and LSynth work well together. First we have to tell MLCad the absolute path to LSynth containing the \Bin\ folder as well as the location of the constraint files. Please download the latest MLCad.ini file which ships with all the new exciting synthesis types supported by LSynth 3.1 from the MLCad.ini tutorial page. Unzip the content in MLCad's root folder overwriting the already existing file (but make sure you have created a backup file first in case you have customized the file to your needs). Open the MLCad.ini file in an editor or a word-processing program and scroll down towards the end of the document where it reads: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2. | Remove the semicolon "; " in front of :
; 3 = SHOW <LDRAWDIR>Unofficial\Parts in order to read: [SCAN_ORDER]
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
3. |
Substitute "Define the absolute path to LSynth" with: "C:\Programs\LSynth": [LSYNTH]
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Users already familiar with LSynth will also recognize the typical META commands needed to synthesize hoses and bands. At the top of the .ini file the more skilled users will also find additional information about this section. For now save your work and close the file. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
To easily access the LSynth constraint parts in the parts tree as well as the parts preview window it is wise to add a new category to MLCad's Parts Library Tree. Please launch MLCad to set up the program: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4. |
Select the Settings menu, the Parts Tree tab, then Tree Configuration... (Settings > Parts Tree > Tree Configuration...). |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
5. |
This will pop up the Parts Tree Configuration dialog. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
6. |
Enter the following two statements in the boxes at the bottom of the dialog: Name: LSynth |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
7. |
You might change the order of the categories by clicking the Move Up or Move Down buttons. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
8. |
Confirm your insertion and exit the Parts Tree Configuration dialog by selecting OK. At this point your Parts Tree should list the LSynth constraints as following: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| creating a LSynth synthesis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| You are ready for your first synthesis! LSynth distinguishes between two types of synthesis: hoses and bands, with the difference that bands are closed and its path is determined by pulleys, gears or notched wheels, while hoses meander along specific points working as pass-through. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
9. |
Select Extras > LSynth > Add Command... or click on the Add Command icon in the Expert Toolbar. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
10. |
The LSynth Command dialog will pop up. The drop down box shows all the LSynth META statement previously inserted in the MLCad.ini file.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
11. |
Pick the type you like and confirm your choice by clicking the OK button. For this tutorial we will move on using a simple TECHNIC_PNEUMATIC_HOSE. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
12. |
MLCad inserts the corresponding LSynth META statement followed by a SHOW and END statement. SYNTH BEGIN TECHNIC_PNEUMATIC_HOSE 16 The number at the end of the SYNTH BEGIN command defines the LDraw color number of the synthesized result. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
13. |
You might change the color once the synthesis has been generated by selecting all the synthesis parts using the menu Edit > Select > Same Type but, taking advantage of LSynth's color support , it's much more convenient defining the color right from the start. Select Edit > Modify... from the menu bar or click the appropriate icon in the Objectbar or directly double-click the comment in the File Parts List pane. This will open the Comment dialog. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
14. |
Substitute the default main color 16 with your desired LDraw color number and click the OK button. Make sure that Old style comment or meta command is checked.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
15. |
Select the LSynth category in the Parts Tree to get a preview of the available constraint parts. Pick your favourite - they look different but function the same - and position it in MLCad's, so called, panes. I'll go for LS02.dat - LSynth Hose Constraint Part - Type 2, a constraint I designed during LSynth's beta test.
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16. | It is good advice to color your constraints. In a file containing more than one synthesis it can become hard to spot which constraint belongs to a specific synthesis. This is especially true when LSynth returns a weird looking result because you positioned or sorted your constraints wrongly and you have to find the odd one out. Even in a file with just one synthesis I usually organize my work by coloring the start constraint green, the end constraint red and assign to all other constraints defining the pass-through a common color different from the LDraw main color 16. If your constraint overlaps with a part you can make that part [in this case a "4694c01.dat - Technic Pneumatic Switch complete assembly (neutral position)"] transparent to ease positioning. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
17. |
While the SYNTH END command is crucial only for LSynth the SYNTH SHOW statement will also be used by MLCad for internal handling, defining the hidden status of constraint parts and synthesized parts. All hose and band constraints MUST be placed between the visibility statement SYNTH SHOW or HIDE and the SYNTH END statement! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
As pointed out above the provided constraints look different but will be treated by LSynth the same with the exception that constraints with green and red rings should be used exclusively for hose-type synthesis with a fixed lenght such as Minifig chains or Strings with a "xxL" identifier.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
18. |
Once all constraints are in place choose Extras > LSynth > Run LSynth from the menu bar or click the icon with the command mirrored in the Expert Toolbar. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
19. |
When working on a new file which has never been saved, MLCad will ask you if you want to save your work before sending the package to LSynth. It is highly recommended to do so 'cos this will function as workaround for MLCad's missing Undo. This will be covered in greater detail later in the tutorial - for now save your work by naming it LSynth_Tutorial_Constraints-only.ldr. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
20. |
On a slow computer you will glimpse popping up a DOS command prompt window performing the synthesis and closing immediately afterwards. In fact MLCad does nothing else than creating a temporary file and batch-filing LSynth. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
21. |
Congratulation! At this point you should have created your first pneumatic hose. You haven't?! Have a look at the troubleshooting chapter. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22. | Right-click in one of the panes and select Bounding Box to see how the single synthesized parts have been arranged to build up the hose. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
23. |
Once the synthesis has been performed MLCad assigns a hidden status to the constraint parts. Use the visibility commands from the Extras > LSynth menu or the icons in the Expert Toolbar to: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This feature is useful when you want to redirect the path of the synthesized parts because the result doesn't quite meet your expectations. By hiding/unhiding you get a feeling which constraint has to be repositioned or deleted. But before you start tweaking you have to get rid off the synthesises and the additional meta commands LSynth has added. Since MLCad has no Undo feature we workaround by reloading the file saved earlier in the tutorial. | |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24. | Select File > Revert and discard all changes by clicking the Yes button in the pop-up. LSynth_Tutorial_Constraints-only.ldr will be reloaded. Saving your work every time before you perform a synthesis will save you from a lot of frustration! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25. | To substitute the straight section at the end with a smooth curve you would have to either reposition/rotate the selected constraint or remove it so that LSynth doesn't "see" it when it calculates the path. The fewer points a synthesis has to go through, the smoother the result will be. I go for the removal because from experience I learned that it is quite tiresome to find the perfect coordinates and rotation angle. (But also to show you some tricks ;-) The easiest way would be deleting the constraint but we would loose the data entirely - not very practical. Moving the constraint out of the synthesis section, say below the SYNTH END meta command or above SYNTH BEGIN... could be an option, but the fastest way is using the newly added support of MLCad's HIDE meta command. |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26. | Select Edit > Visibility >Hide or click the related icon in the Visibility Toolbar to hide the selected constraint. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27. | Running LSynth again, the program will ignore the hidden constraint. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28. | If the result satisfies your expectations you can delete the constrain or move it out of the synthesis section and finally save your work. It is recommended that you use the File > Save As... command and rename the file to something else like LSynth_Tutorial_Synthesis.ldr or LSynth_Tutorial_Processed.ldr or ... in order to keep a preprocessed version as backup. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are you still seeking more information on the topic? Check out also the troubleshooting chapter and the page with LSynth examples. In addition you might have a closer look at the files used for the tutorial:
Happy lsynthing! |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||
| All content is provided as is, with no warranty stated or implied regarding the quality or accuracy of any content on or off this site. LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this site. |
||