Maybe a bit off topic, but something like l3b2mpd would be an amazing piece of software for me.
My current workflow for making building instructions is building the model in SR3D Builder and use the groups as sub-models. Then, I export every group one by one to a seperate file (SR3D paid functionality). Then, I import everything in MLcad to make the .mpd (so the submodels actually become submodels in LPub) and add, if needed, buffer exhange, ghosting, arrows etc.
It works very well, except that I have to export every submodel one by one by hand.
If you could make something like l3b2mpd it would be very useful for me.
The groups commands aren't very difficult to use:
Note: I only found this out by modifying these things in the past, but I've never checked anything of the following with Sergio if it's correct, but I'm pretty sure.
At the beginning of a l3b document is the
Code:
0 GROUPSLIST 1
...
0 ENDGROUP
Where,
- 0 defines that this is a command and not a part
- grouplist defines the grouplist
- 1 is the grouplist number (although it's quite useles for now, since a model can have only 1 group, but who knows what will come in a future update)
The grouplist contains all the groups. Let's take and example:
Code:
0 GR Left-arm 6 3 False
Where,
- 0 defines that this is a command and not a part
- GR defines that this is a group
- Left-arm is the group name (user created)
- 6 is the group number (automaticly created)
- 3 defines the parent group. So, in this case group 3 would be the parent of group this group, group 6. If the parent group is set to 0, it isn't a child group, but a parent/base group.
- false defines that this groups must be displayed. It's quite unintuitive, because TRUE means that the group shouldn't be displayed.
Then, in the model itself you can find the group commands. Those are very simple and look like this:
Where,
- 0 defines that this is a command and not a part
- GROUP is the command name
- Is the group number
This is a little more difficult if you should make something like 13b2mpd: there's not something like endgroup. Just everything under a group command belongs to that group, until the next group command is reached. That means you can have something like this:
Code:
0 GROUP 4
1 0 -140 -140 140 0 1 0 -1 0 0 0 0 1 32013.DAT
1 4 -140 -140 110 0 1 0 0 0 -1 -1 0 0 32062.DAT
0 GROUP 5
1 0 -140 -140 90 0 1 0 -1 0 0 0 0 1 59443.DAT
1 4 -140 -140 70 0 1 0 0 0 -1 -1 0 0 32062.DAT
0 GROUP 4
1 0 -140 -140 40 0 1 0 1 0 0 0 0 -1 32016.DAT
1 4 -151.4804 -140 12.28358 -0.3826802 0.9238809 0 0 0 -1 -0.9238809 -0.3826802 0 32062.DAT
0 GROUP 5
1 0 -140 -140 90 0 1 0 -1 0 0 0 0 1 59443.DAT
1 4 -140 -140 70 0 1 0 0 0 -1 -1 0 0 32062.DAT
0 GROUP 0
1 0 -155.3072 -140 3.044769 -0.3826802 -0.9238808 0 0 0 1 -0.9238806 0.3826802 0 6536.DAT
1 0 -173.7849 -150 10.69838 0 -0.9238808 -0.3826803 -1 0 0 0 0.3826802 -0.9238809 2780.DAT
0 GROUP 4
1 0 -139.3538 -142.3763 200 0.9702954 -0.2419221 0 0.2419221 0.9702956 0 0 0 1 64393.DAT
Here you can see there are multiple parts belonging to group 4 and 5, but they are split across the file. Group 0 is also thrown in there, things in group 0 don't have a group.
Again, it would be nice if you could make something like l3b2mpd. If you have anymore questions, feel free to ask