Lipko

MLCad: hiding parts in instruction step but showing in BOM

Recommended Posts

Hi all!

I'm making bent Technic flex axles in MLCad with LSynth, which is working well, but I want to show the flex axle part (the non bent version) in the Bill of Materials.

How can I do that? Hiding the part in MLCad hides it both in the instruction step and in the BOM. Ghosting hides it only from the BOM.

I can insert the official flex axle part along with the generated one and put it inside something to hide it, but it seems to be a quite nasty hack.

Thanks for any hints in advance!

Edited by Lipko

Share this post


Link to post
Share on other sites

I don't know what the "official/right" solution is, but couldn't you make every flex axle a .ldr and combine them (together with all the other pieces) in an .mpd. This way (I think) you can make LPub think the flex axle is a submodel and (after some adjusting in the settings in LPub) you can make it show the whole submodel in the parst list, in this case the flex axle. But this wouldn't work for the BOM... :sceptic:

There are probably people with a more elegant solution...

Share this post


Link to post
Share on other sites

It seems that I can't even make ghosting work. Ghosted parts are in the part list on top of the steps...

I also have universal joints in the instructions, and they are of course in pieces in the part list. If I can't get this hiding thing work than the 2 week work can be thrown out of the window.

Share this post


Link to post
Share on other sites

Okay, partly got the ghosting thing to work.

1. Make the manually assembled U-joint a submodel (as ghosting only works with MPD and submodels?)

2. Insert the said submodel to the model, and Ghost it

3. Insert a complete U-joint part too, somewhere where it's totally obscured (inside a part for example)

4.In LPub, select "Ignore this submodel"

But the Bill of Materials at the end on the instructions is totally screwed. No matter how I ghost the submodels, the parts are still shown. I can live without the BOM at the end, old instructions didn't have that.

Edited by Lipko

Share this post


Link to post
Share on other sites

Ok Lipko, first of all are you running the most recant version of MLcad (3.4)?

If you are select from the LSynth menu (near the bottom of the menu) 'flex hose..[length of hose]..

Then LSynth the hose to the required shape.

Finally open the completed file In Lpub to show the completed work.

I have also made some code below if you are unsure of anything.

0 Untitled
0 Name: Untitled.ldr
0 Author: LDraw
0 Unofficial Model
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
0 STEP
0 LPUB PLI BEGIN SUB 32201.dat 16
0 LPUB PLI BEGIN SUB 32201.dat 16
0 SYNTH BEGIN PLI_TECHNIC_AXLE_FLEXIBLE_14 16
0 1 0 -120 68 0 1 0 0 0 1 0 0 0 1 LS01.dat
0 1 0 -75 -20 0 0 -1 0 1 0 0 0 0 1 LS01.dat
0 1 0 101 -20 0 0 -1 0 1 0 0 0 0 1 LS01.dat
0 SYNTH SYNTHESIZED BEGIN
1 16 -120 28 0 1 0 0 0 1 0 0 0 1 LS40.dat
1 16 -120 28 0 1 0.0078 0 0.005 -1.5564 0 0 0 1 LS41.dat
1 16 -119.994 26.6872 0 0.9999 0.0231 0 0.0152 -1.5206 0 0 0 1 LS41.dat
1 16 -119.974 25.4151 0 0.9997 0.0379 0 0.0255 -1.4834 0 0 0 1 LS41.dat
1 16 -119.943 24.1845 0 0.9994 0.0521 0 0.036 -1.4455 0 0 0 1 LS41.dat
1 16 -119.9 22.9965 0 0.9989 0.0663 0 0.0468 -1.417 0 0 0 1 LS41.dat
1 16 -119.846 21.8425 0 0.9983 0.0802 0 0.0577 -1.3862 0 0 0 1 LS41.dat
1 16 -119.781 20.7231 0 0.9976 0.0936 0 0.0689 -1.3564 0 0 0 1 LS41.dat
1 16 -119.706 19.6392 0 0.9968 0.1075 0 0.0802 -1.3356 0 0 0 1 LS41.dat
1 16 -119.621 18.5818 0 0.9958 0.1211 0 0.0918 -1.3143 0 0 0 1 LS41.dat
1 16 -119.526 17.5516 0 0.9946 0.1345 0 0.1036 -1.2915 0 0 0 1 LS41.dat
1 16 -119.422 16.5489 0 0.9933 0.1478 0 0.1156 -1.2693 0 0 0 1 LS41.dat
1 16 -119.309 15.5743 0 0.9918 0.162 0 0.1279 -1.2559 0 0 0 1 LS41.dat
1 16 -119.185 14.6188 0 0.9901 0.1747 0 0.1404 -1.2323 0 0 0 1 LS41.dat
1 16 -119.054 13.6922 0 0.9882 0.1888 0 0.1531 -1.2184 0 0 0 1 LS41.dat
1 16 -118.913 12.7854 0 0.9861 0.2028 0 0.1661 -1.2041 0 0 0 1 LS41.dat
1 16 -118.764 11.8987 0 0.9838 0.2168 0 0.1793 -1.1894 0 0 0 1 LS41.dat
1 16 -118.606 11.0326 0 0.9812 0.231 0 0.1928 -1.1758 0 0 0 1 LS41.dat
1 16 -118.44 10.1872 0 0.9784 0.247 0 0.2065 -1.1703 0 0 0 1 LS41.dat
1 16 -118.264 9.3537 0 0.9754 0.2612 0 0.2206 -1.1551 0 0 0 1 LS41.dat
1 16 -118.081 8.5414 0 0.972 0.2775 0 0.2348 -1.1486 0 0 0 1 LS41.dat
1 16 -117.887 7.7416 0 0.9684 0.2916 0 0.2493 -1.1327 0 0 0 1 LS41.dat
1 16 -117.687 6.9635 0 0.9645 0.3085 0 0.2641 -1.1267 0 0 0 1 LS41.dat
1 16 -117.478 6.1983 0 0.9603 0.3256 0 0.2791 -1.1202 0 0 0 1 LS41.dat
1 16 -117.259 5.4463 0 0.9557 0.343 0 0.2944 -1.1134 0 0 0 1 LS41.dat
1 16 -117.031 4.7076 0 0.9507 0.3605 0 0.31 -1.1056 0 0 0 1 LS41.dat
1 16 -116.795 3.9825 0 0.9454 0.3781 0 0.3258 -1.0973 0 0 0 1 LS41.dat
1 16 -116.55 3.2713 0 0.9398 0.3957 0 0.3418 -1.0879 0 0 0 1 LS41.dat
1 16 -116.296 2.5742 0 0.9337 0.4143 0 0.3581 -1.0803 0 0 0 1 LS41.dat
1 16 -116.035 1.8912 0 0.9272 0.4367 0 0.3746 -1.0809 0 0 0 1 LS41.dat
1 16 -115.761 1.2141 0 0.9203 0.4557 0 0.3913 -1.0717 0 0 0 1 LS41.dat
1 16 -115.479 0.5516 0 0.9128 0.4789 0 0.4083 -1.0706 0 0 0 1 LS41.dat
1 16 -115.186 -0.1044 0 0.905 0.497 0 0.4255 -1.0571 0 0 0 1 LS41.dat
1 16 -114.885 -0.7453 0 0.8966 0.5162 0 0.4428 -1.0453 0 0 0 1 LS41.dat
1 16 -114.576 -1.371 0 0.8878 0.541 0 0.4602 -1.0438 0 0 0 1 LS41.dat
1 16 -114.255 -1.9895 0 0.8785 0.5648 0 0.4778 -1.0385 0 0 0 1 LS41.dat
1 16 -113.923 -2.6005 0 0.8686 0.5837 0 0.4955 -1.0233 0 0 0 1 LS41.dat
1 16 -113.583 -3.1957 0 0.8582 0.6093 0 0.5132 -1.0189 0 0 0 1 LS41.dat
1 16 -113.232 -3.7829 0 0.8473 0.6348 0 0.5311 -1.0127 0 0 0 1 LS41.dat
1 16 -112.869 -4.3618 0 0.8358 0.6582 0 0.5491 -1.0019 0 0 0 1 LS41.dat
1 16 -112.495 -4.932 0 0.8238 0.6766 0 0.5669 -0.9831 0 0 0 1 LS41.dat
1 16 -112.114 -5.4858 0 0.8113 0.7012 0 0.5847 -0.9729 0 0 0 1 LS41.dat
1 16 -111.721 -6.0305 0 0.7982 0.726 0 0.6024 -0.962 0 0 0 1 LS41.dat
1 16 -111.317 -6.5659 0 0.7846 0.75 0 0.62 -0.9491 0 0 0 1 LS41.dat
1 16 -110.902 -7.0917 0 0.7705 0.7738 0 0.6375 -0.9351 0 0 0 1 LS41.dat
1 16 -110.475 -7.6077 0 0.7558 0.797 0 0.6548 -0.9199 0 0 0 1 LS41.dat
1 16 -110.036 -8.1135 0 0.7407 0.8195 0 0.6719 -0.9034 0 0 0 1 LS41.dat
1 16 -109.587 -8.609 0 0.725 0.841 0 0.6887 -0.8853 0 0 0 1 LS41.dat
1 16 -109.126 -9.0939 0 0.709 0.8618 0 0.7052 -0.8664 0 0 0 1 LS41.dat
1 16 -108.655 -9.568 0 0.6926 0.8843 0 0.7214 -0.849 0 0 0 1 LS41.dat
1 16 -108.173 -10.0311 0 0.6756 0.9123 0 0.7372 -0.8361 0 0 0 1 LS41.dat
1 16 -107.673 -10.4892 0 0.6583 0.9304 0 0.7528 -0.8135 0 0 0 1 LS41.dat
1 16 -107.162 -10.9357 0 0.6406 0.947 0 0.7679 -0.79 0 0 0 1 LS41.dat
1 16 -106.641 -11.3704 0 0.6227 0.9651 0 0.7825 -0.768 0 0 0 1 LS41.dat
1 16 -106.109 -11.7933 0 0.6044 0.9891 0 0.7967 -0.7504 0 0 0 1 LS41.dat
1 16 -105.561 -12.2098 0 0.5859 1.0021 0 0.8104 -0.7246 0 0 0 1 LS41.dat
1 16 -105.002 -12.6139 0 0.5673 1.0161 0 0.8235 -0.7 0 0 0 1 LS41.dat
1 16 -104.433 -13.0056 0 0.5485 1.0366 0 0.8361 -0.6801 0 0 0 1 LS41.dat
1 16 -103.847 -13.3899 0 0.5296 1.0482 0 0.8483 -0.6544 0 0 0 1 LS41.dat
1 16 -103.252 -13.7615 0 0.5106 1.0662 0 0.8598 -0.6331 0 0 0 1 LS41.dat
1 16 -102.64 -14.125 0 0.4915 1.0751 0 0.8709 -0.6068 0 0 0 1 LS41.dat
1 16 -102.019 -14.4755 0 0.4725 1.0906 0 0.8813 -0.5847 0 0 0 1 LS41.dat
1 16 -101.382 -14.8173 0 0.4535 1.0968 0 0.8913 -0.5581 0 0 0 1 LS41.dat
1 16 -100.736 -15.146 0 0.4346 1.1126 0 0.9006 -0.5369 0 0 0 1 LS41.dat
1 16 -100.074 -15.4655 0 0.4158 1.1272 0 0.9095 -0.5153 0 0 0 1 LS41.dat
1 16 -99.3953 -15.7756 0 0.397 1.1408 0 0.9178 -0.4934 0 0 0 1 LS41.dat
1 16 -98.7011 -16.0759 0 0.3783 1.1534 0 0.9257 -0.4713 0 0 0 1 LS41.dat
1 16 -97.991 -16.3661 0 0.3597 1.1643 0 0.9331 -0.4489 0 0 0 1 LS41.dat
1 16 -97.2654 -16.6459 0 0.3414 1.1745 0 0.9399 -0.4266 0 0 0 1 LS41.dat
1 16 -96.5244 -16.9151 0 0.3233 1.1836 0 0.9463 -0.4043 0 0 0 1 LS41.dat
1 16 -95.7685 -17.1733 0 0.3054 1.1914 0 0.9522 -0.3821 0 0 0 1 LS41.dat
1 16 -94.9978 -17.4205 0 0.2878 1.201 0 0.9577 -0.3609 0 0 0 1 LS41.dat
1 16 -94.2127 -17.6565 0 0.2704 1.2183 0 0.9627 -0.3422 0 0 0 1 LS41.dat
1 16 -93.4044 -17.8836 0 0.2533 1.2256 0 0.9674 -0.3209 0 0 0 1 LS41.dat
1 16 -92.5824 -18.0988 0 0.2364 1.243 0 0.9716 -0.3025 0 0 0 1 LS41.dat
1 16 -91.7378 -18.3044 0 0.2198 1.2595 0 0.9755 -0.2838 0 0 0 1 LS41.dat
1 16 -90.8709 -18.4998 0 0.2034 1.2751 0 0.9791 -0.2649 0 0 0 1 LS41.dat
1 16 -89.9821 -18.6845 0 0.1873 1.2895 0 0.9823 -0.2459 0 0 0 1 LS41.dat
1 16 -89.0717 -18.8581 0 0.1715 1.3029 0 0.9852 -0.2268 0 0 0 1 LS41.dat
1 16 -88.1402 -19.0202 0 0.156 1.3171 0 0.9878 -0.208 0 0 0 1 LS41.dat
1 16 -87.1881 -19.1706 0 0.1407 1.3395 0 0.99 -0.1904 0 0 0 1 LS41.dat
1 16 -86.2064 -19.3102 0 0.1258 1.3515 0 0.9921 -0.1714 0 0 0 1 LS41.dat
1 16 -85.2051 -19.4373 0 0.1112 1.3751 0 0.9938 -0.1539 0 0 0 1 LS41.dat
1 16 -84.1755 -19.5525 0 0.0968 1.4062 0 0.9953 -0.1368 0 0 0 1 LS41.dat
1 16 -83.1086 -19.6563 0 0.0826 1.4268 0 0.9966 -0.1183 0 0 0 1 LS41.dat
1 16 -82.0147 -19.7471 0 0.0688 1.4567 0 0.9976 -0.1004 0 0 0 1 LS41.dat
1 16 -80.8851 -19.825 0 0.0551 1.4851 0 0.9985 -0.082 0 0 0 1 LS41.dat
1 16 -79.7207 -19.8893 0 0.0418 1.7883 0 0.9991 -0.0747 0 0 0 1 LS41.dat
1 16 -78.5224 -19.9394 0 0.0172 3.822 0 0.9999 -0.0656 0 0 0 1 LS41.dat
1 16 -75 -20 0 0 136 0 1 0 0 0 0 1 LS41.dat
1 16 61 -20 0 0 1 0 1 0 0 0 0 1 LS40.dat
0 SYNTH SYNTHESIZED END
0 SYNTH SYNTHESIZED BEGIN
0

Edited by Alasdair Ryan

Share this post


Link to post
Share on other sites

Thanks for the post, though the flex generation thing is working fine. The problem is with displaying the part properly in the part lists.

Share this post


Link to post
Share on other sites

Thanks for the post, though the flex generation thing is working fine. The problem is with displaying the part properly in the part lists.

Not exactly right,I think you selected the wrong command from the list of. if you were to load my solution it will show the part which is bent in the main window and straight in the parts list box.

Share this post


Link to post
Share on other sites

Indeed, the PLI BEGIN SUB command does precisely that: substitute a part that appears in the PLI and in BOM to the real shaped part created with LSynth.

For example,

0 !LPUB PLI BEGIN SUB 11145.dat 47
0 !LPUB PART BEGIN IGN
1 0 0 0 0 1 0 0 0 1 0 0 0 1 cable1.ldr
0 !LPUB PART END
0 !LPUB PLI END

displays a coiled EV3 cable instead of cable1.ldr that contains the LSynthed cable. Note also the PART BEGIN IGN to prevent LPub to detail "construction" of cable.

See also this.

Share this post


Link to post
Share on other sites

Philo,my solution is a bit easier than having to use a 'sub part command',it also calls out the size of hose required.

However I just discovered that the color of the part in the bill of materials does not match with the color of the part on the model. :look:

Share this post


Link to post
Share on other sites

The last parameter ("16" in your example "0 LPUB PLI BEGIN SUB 32201.dat 16 ") defines the color of substituted part. I doubt that generic color 16 is properly replaced by LPub by caller color.

Share this post


Link to post
Share on other sites

Thanks Philo,that fixed the color error.

Lipko is what is in this pdr what you are trying to achieve with a straight LSynth flex hose shown in the bill of materials as well as showing a bent version on a model?

Edited by Alasdair Ryan

Share this post


Link to post
Share on other sites

Hi everyone!

I have the same problem at the moment but wonder if there is a solution when using ribbed hoses as well. It would also be great if you could view rubber bands created in the MLCad rubber belt generator in the parts list and bill of materials.

When dealing with Power Functions motors the best way is probably making it a submodel?

Thank you in advance.

HallBricks

Edited by HallBricks

Share this post


Link to post
Share on other sites

You can use the following set of LPub commands :classic: :

0 LPUB PLI BEGIN SUB [substitute] [color]
0 !LPUB PART BEGIN IGN
[flexible part/PF motor]
0 !LPUB PART END
0 LPUB PLI END

Where the [flexible part/PF motor] is your, well, flexible part or PF motor submodel. And [substitute] is the LDraw part you want to substitute in the parts list (and is the color for the substitute). LDraw has parts for almost all flexible parts ready to use in instruction's parts list (although I don't know if they're official yet).

So, when you have a submodel called powerfuncmotorm.ldr, you can use this:

0 LPUB PLI BEGIN SUB 58120.dat 71
0 !LPUB PART BEGIN IGN
1 71 20 0 -10 -1 0 0 0 1 0 0 0 -1 powerfuncmotorm-1.ldr
0 !LPUB PART END
0 LPUB PLI END

Share this post


Link to post
Share on other sites

You can use the following set of LPub commands :classic: :

0 LPUB PLI BEGIN SUB [substitute] [color]
0 !LPUB PART BEGIN IGN
[flexible part/PF motor]
0 !LPUB PART END
0 LPUB PLI END

Where the [flexible part/PF motor] is your, well, flexible part or PF motor submodel. And [substitute] is the LDraw part you want to substitute in the parts list (and is the color for the substitute). LDraw has parts for almost all flexible parts ready to use in instruction's parts list (although I don't know if they're official yet).

So, when you have a submodel called powerfuncmotorm.ldr, you can use this:

0 LPUB PLI BEGIN SUB 58120.dat 71
0 !LPUB PART BEGIN IGN
1 71 20 0 -10 -1 0 0 0 1 0 0 0 -1 powerfuncmotorm-1.ldr
0 !LPUB PART END
0 LPUB PLI END

Thank you! That worked perfectly!

Share this post


Link to post
Share on other sites

Another question about basically the same subject.

I have used a couple of PF extension wires in my model and created them using LSynth. I would like to get them shown in the parts list as well and don't no how to do that, since they aren't available as completed parts as far as I know.

/HallBricks

Share this post


Link to post
Share on other sites

Well, if there aren't any standard parts available, you can always create your own :classic:

Just create another submodel that only has the cable how you want it to appear in the parts list (for example completely straight, or rolled up).

Then instead of using xxxxx.dat as substitute, you use submodelname.ldr as substitute. That should work I believe.

Share this post


Link to post
Share on other sites

Well, if there aren't any standard parts available, you can always create your own :classic:

Just create another submodel that only has the cable how you want it to appear in the parts list (for example completely straight, or rolled up).

Then instead of using xxxxx.dat as substitute, you use submodelname.ldr as substitute. That should work I believe.

Okay, Thank you! I'll try that :)

Share this post


Link to post
Share on other sites

If you get stuck or unsure, I have written a tutorial on how to do this on my blog. :classic:

Thank you! I think I know how to do it now, but I can always check if I'm unsure. I also saw that you have a tutorial about buffer exchange which will be useful to me in the future. I tried to do that with my current instructions but failed :hmpf_bad: . Next time I'll try again following your tutorial. :wink:

Edited by HallBricks

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.