LDraw Part Author/Reviewer
Registered: 4 years ago Posts: 239
After working on an instruction for a few days I came across some issues that bugged me quite a lot and the workarounds with the existing tools are either tideous or I simply did not know them, in this case I gladly take some advice from you :-)
For the issues where I did not see any obvious workaround I would have some suggestions concerning mainly MLCAD, LSYNTH and LPUB. I would like to get your opinions.
Those are the concerns:
1.) "One Part Movements" e.g. sliding a bush on an axle
2.) Moving parts later during construction
3.) Re-Routing of Cables during construction
And here are the ideas: ad 1.) "One Part Movements"
Sometimes in the instructions you want to show a part being moved or added, so you put it a bit away from the model and add an arrow.
BUFFER exchange does to job pretty well and straight forward. However, it clutters the MLCAD file quite a lot. Not so much in the code, but visually. So it gets difficult to identify parts and e.g. if you want to move them later on, you need to move the buffered parts as well.
To avoid this a META command either directly within MLCAD or in LPUB could be used that applies to the part following the command. e.g.:
0 OFFSET PART [Matrix where to show the part/or a delta position]
1 0 84 0 0 1 0 0 0 1 0 0 0 1 4519.dat
MLCAD would the show only the part in its final position
-> The command could be realized in e.g. LPUB only (make it LPUB OFFSET)
-> Additionally an arrow could be added as it is currently done in MLCAD ARROW
ad 2.) Moving parts later during construction
Sometimes a part is added during construction that will be used in a later step to fasten an additional part, e.g. pushing in the long pin with bush during technic construction or movin an axle.
The only way how to realize this is putting a lot of parts into the buffer exchange. This disadvantage here is that multiple STEPS within the BUFFER exchange commands make LPUB not displaying the amount of bricks correctly. (MLCAD does show a correct inventory) .
Also a disadvatage of this method is not so much cluttering the view, but when parts are moved, you need to take care of many parts within the buffer.
A better way to handle would be to put only this one or more parts into a buffer and retreive them, respectively replace them later. Realization would require an extension to the BUFFER meta command:
e.g. define the parts that need to be moved between a START/STOP bracket and later remove them with a REMOVE command and place the same part in the final position.
0 BUFEXCHG A START
1 4 124 0 0 1 0 0 0 1 0 0 0 1 32054.dat -> Part in pulled out position
0 BUFEXCHG A END
0 BUFEXCHG A STORE
0 BUFEXCHG A REMOVE
1 4 124 0 0 1 0 0 0 1 0 0 0 1 32054.dat -> Part in final Position
ad 3.) Re-Routing of Cables during construction
This concerns instructions where a cable needs to be included (as later parts would block the routing at the time the destination is inserted) and needs to be re.routed once or several times during constructions.
Theoretically this could already be addressed with the proposal of the second point. But to make instructions easier to do and better to read some improvements can be done like:
- entering a "name" for the cable (or LSynth element) to make identification for re-routing easier.
- adding a color identifier to the cable to show the destination when multiple cables are used.
Possibly two meta commands in LSynth could help here e.g. NAME and LABEL
0 SYNTH BEGIN ELECTRIC_POWER_FUNCTIONS_CABLE 16
0 SYNTH NAME CABLE-1
0 SYNTH LABEL START/STOP SQUARE/CIRCLE/DIAMOND/TRIANGLE UP/DOWN Size Color
0 SYNTH SHOW
0 SYNTH SYNTHESIZED BEGIN
0 SYNTH SYNTHESIZED END
0 SYNTH END
The LABEL command would add a color identifier to the cable hovering above the cable before the plugs.
The NAME command could identify a cable and when preparing instructions e.g. LPUB can take care to use now the next instance of e.g. CABLE-01
So, that was quite a lot, may be too much, but I would be happy to hear your opinions.
LDraw.org Forums are hosted by P-Sky Software powered by Phorum. LDraw.org Forum template designed by Scriptmonkeys, modified by LDraw.org LEGO® is a registered trademark of the LEGO Group, which does not sponsor, endorse, or authorize this site.
Visit the official Lego website at http://www.lego.com. LDraw is a completely unofficial, community run free CAD system which represents official parts produced by the LEGO company.