bats Posted June 17, 2013 Hi. I have been trying to use the buffer-exchange tool in MLCAD. I can't get it to work. Here are the steps I took: Added previous steps BUFFER-EXCHANGE STORE A STEP Added the piece I wanted floating over its spot Added two arrows to show where it should go STEP RETRIEVE A Added the piece in the spot it should goThe problem I have is that it shows the piece I tried to show twice. It shows it hovering above where its supposed to go and in its correct spot. It also shows the two arrows still. This makes it extremely hard to add new pieces. I get confused on which is the piece in the right position! It shows it correctly in View mode, but that doesn't help me.Does anyone know how to get it so that it only shows the piece in its final correct place?? Anything helps.Thanks,Nathan Share this post Link to post Share on other sites
Alasdair Ryan Posted June 17, 2013 (edited) Hello Nathan, If you want to make a new black ldr file with note-pad or some other text editor.Then copy the 'code' below into it then open the file with Mlcad. This should give you a rough guide on how to make Buffer Exchange do what you want. Using buffer exchange can be quite tricky at times,but with every thing it takes practice. I think the problem you made is that you misplaced the 'store' command which is important to making thing work correctly. 0 Untitled 0 Name: buffer help.ldr 0 Author: LDraw 0 Unofficial Model 0 ROTATION CENTER 0 0 0 1 "Custom" 0 ROTATION CONFIG 0 0 1 0 -10 60 0 1 0 0 0 1 0 0 0 1 30071.dat 0 STEP 0 BUFEXCHG A STORE 1 0 -10 -32 0 1 0 0 0 1 0 0 0 1 30071.dat 3 4 -10 48 0 -15 33 0 -10 38 0 3 4 -10 48 0 -5 33 0 -10 38 0 3 4 -10 38 0 -12 36 0 -8 36 0 4 4 -12 36 0 -12 -4 0 -8 -4 0 -8 36 0 0 STEP 0 BUFEXCHG A RETRIEVE 1 0 -10 36 0 1 0 0 0 1 0 0 0 1 30071.dat 0 Edited June 17, 2013 by Alasdair Ryan Share this post Link to post Share on other sites
bats Posted June 18, 2013 I still don't know what I'm doing wrong. I have tried moving the 'store' command to different places but I still can't make the floating part disappear and just show the final part.This is the code I am using in MLCAD.1 0 -10 60 0 1 0 0 0 1 0 0 0 1 30071.dat (previous part-not important to what I am trying to say) 0 STEP 0 BUFEXCHG A STORE (store the screen as it looks) 1 0 -10 -32 0 1 0 0 0 1 0 0 0 1 30071.dat (the piece I show floating) 3 4 -10 48 0 -5 33 0 -10 38 0[ (an arrow pointing to where it should go) 4 4 -12 36 0 -12 -4 0 -8 -4 0 -8 36 0 (another arrow pointing to where it should go) 0 STEP 0 BUFEXCHG A RETRIEVE (retrieve the way the screen looked earlier) 1 0 -10 36 0 1 0 0 0 1 0 0 0 1 30071.dat (the piece where it should be) Share this post Link to post Share on other sites
Lipko Posted June 18, 2013 In MLCad edit view, you will see all the parts you inserted, no matter how you clear/bufferexchange them. Try in view mode, or take a look at it in LPub. Share this post Link to post Share on other sites
Alasdair Ryan Posted June 18, 2013 Hello again Nathan. I think you are just simply putting the commands in the wrong place. I have made another file below you can compare to yours to figure out were you have gone wrong. 0 ROTATION CENTER 0 0 0 1 "Custom" 0 ROTATION CONFIG 0 0 0 STEP 0 1 0 -90 36 0 1 0 0 0 1 0 0 0 1 30071.dat 0 STEP 0 BUFEXCHG A STORE 1 0 -10 -32 0 1 0 0 0 1 0 0 0 1 30071.dat 3 4 -10 48 0 -15 33 0 -10 38 0 3 4 -10 48 0 -5 33 0 -10 38 0 3 4 -10 38 0 -12 36 0 -8 36 0 4 4 -12 36 0 -12 -4 0 -8 -4 0 -8 36 0 0 STEP 0 BUFEXCHG A RETRIEVE 1 0 -10 36 0 1 0 0 0 1 0 0 0 1 30071.dat 0 Share this post Link to post Share on other sites
bats Posted June 18, 2013 Thank you all for replying. In view mode it does show the piece correctly. However since I want to add more pieces to the submodel, it is confusing trying to put pieces on. The piece I am using the buffer exchange for is pretty big and if I put a small piece near it, I won't even be able to see it. I have seen something called a Ghost command. Do I use that somehow? Also if all else fails, I guess I could build the whole model without the buffer exchange and then at the end just go back and add the buffer exchange in. That way I wouldn't have to try to build with the same piece in two positions. I would rather find a way to fix it though.Thanks,Nathan I think you are just simply putting the commands in the wrong place. Thanks for replying. I can't find where to put them though. Is it possible I have the retrieve command in the wrong spot? If you look at the code I showed I was using in my earlier post, I can't find any differences between that and the one you gave me. Do I have to use a Ghost command somehow?Thanks,Nathan I think you are just simply putting the commands in the wrong place. Thanks for replying. I can't find where to put them though. Is it possible I have the retrieve command in the wrong spot? If you look at the code I showed I was using in my earlier post, I can't find any differences between that and the one you gave me. Do I have to use a Ghost command somehow?Thanks,NathanSorry about showing the same thing twice. Share this post Link to post Share on other sites
Alasdair Ryan Posted June 18, 2013 (edited) You should not have to use the 'ghost command' unless the part/sub model in getting in your way for building the rest of the model. Try arranging the order of the parts you want to use buffer exchange on,this can be done in the parts list control window of MLcad. You have to store the highlighted location first along with any arrows,the 'store' command should sit on top of all of these parts. 0 BUFEXCHG A STORE 1 0 -10 -32 0 1 0 0 0 1 0 0 0 1 30071.dat 3 4 -10 48 0 -15 33 0 -10 38 0 3 4 -10 48 0 -5 33 0 -10 38 0 3 4 -10 38 0 -12 36 0 -8 36 0 4 4 -12 36 0 -12 -4 0 -8 -4 0 -8 36 0 Then you need to add a step and then retrieve the buffer,then you should copy the same part as you buffered (but not in a new buffer) to show the final location of the part/s. 0 STEP 0 BUFEXCHG A RETRIEVE 1 0 -10 36 0 1 0 0 0 1 0 0 0 1 30071.dat 0 Edited June 18, 2013 by Alasdair Ryan Share this post Link to post Share on other sites
bats Posted June 18, 2013 You have to store the highlighted location first along with any arrows,the 'store' command should sit on top of all of these parts. What do you mean by the highlighted location? Share this post Link to post Share on other sites
Alasdair Ryan Posted June 18, 2013 (edited) What do you mean by the highlighted location? What I mean by the highlighted location is the step that shows any arrows and/or parts 'floating in the air' to help the user add those parts to the main model. Edited June 18, 2013 by Alasdair Ryan Share this post Link to post Share on other sites
bats Posted June 18, 2013 So I have to highlight the floating piece and the two arrows pointing to where it should go before I press Add>Buffer Exchange? Share this post Link to post Share on other sites
Alasdair Ryan Posted June 18, 2013 yes highlight the parts you want to have in the air first along with any arrows. The buffer exchange 'store' needs to be on top of any bricks in the part list window in MLcad like what I shown above. Share this post Link to post Share on other sites
bats Posted June 18, 2013 Ok. First I highlighted the piece that is hovering along with the two arrows. Then I clicked 'Add Buffer Exchange'. Then I moved the store command in the Parts List Window to the very top of the screen, above all the other parts. My code now looks like this:0 BUFEXCHG A STOREAll the parts I added before I got to the piece I wanted to buffer.0 STEP1 0 -10 -32 0 1 0 0 0 1 0 0 0 1 30071.dat (the piece I show floating) 3 4 -10 48 0 -5 33 0 -10 38 0[ (an arrow pointing to where it should go)4 4 -12 36 0 -12 -4 0 -8 -4 0 -8 36 0 (another arrow pointing to where it should go)0 STEP0 BUFEXCHG A RETRIEVE 1 0 -10 36 0 1 0 0 0 1 0 0 0 1 30071.dat (the piece where it should be)I still have the same problem. Is my code still wrong? Also I have 'Draw to Selection Only' activated. Do I need to deactivate it?Thanks,Nathan Share this post Link to post Share on other sites
Alasdair Ryan Posted June 18, 2013 You are just about there. Move the '0 BUFEXCHG A STORE' between the step command and the first brick you want floating. Like this: 0 STEP 0 BUFEXCHG A STORE 1 0 -10 -32 0 1 0 0 0 1 0 0 0 1 30071.dat 3 4 -10 48 0 -5 33 0 -10 38 0 4 4 -12 36 0 -12 -4 0 -8 -4 0 -8 36 0 0 STEP 0 BUFEXCHG A RETRIEVE 1 0 -10 36 0 1 0 0 0 1 0 0 0 1 30071.dat Share this post Link to post Share on other sites
bats Posted June 18, 2013 Ok. I did that. It still has the same problem. It has the piece in two different positions in Edit Mode. It still works in View Mode though. Is there some setting that makes MLCAD show ALL pieces even if they are in a Buffer Exchange? In the Edit Mode I mean. Share this post Link to post Share on other sites
Alasdair Ryan Posted June 18, 2013 I am sorry I don't understand what you mean. Share this post Link to post Share on other sites
bats Posted June 18, 2013 While you are in Edit Mode is there some setting that makes MLCAD show every single part you add to the model even if they are in a Buffer Exchange? Maybe I have to activate or deactivate some setting to make the Edit Mode only show my piece in the final position, but still show both positions in View Mode. Share this post Link to post Share on other sites
Classicsmiley Posted June 18, 2013 No, by default it will show the pieces in both positions in Edit mode, unless you hide them. Share this post Link to post Share on other sites
bats Posted June 18, 2013 Thank you everyone for your help. I really appreciate this. It was driving me crazy.Thanks,Nathan Share this post Link to post Share on other sites
Classicsmiley Posted June 18, 2013 If you are using things like buffer exchange, rotation steps, etc., you're probably doing it to create instructions. Therefore, the output that you end up with is what you are really interested in. The behind-the-scenes file does tend to get a bit messy. :) That's why you can hide individual pieces or sections of a model, to help you keep track of things while you're actually building. Share this post Link to post Share on other sites
bats Posted June 18, 2013 That makes sense. I've been working on it again and now that I have my code right and am hiding the extra pieces, it is working great.Thanks,Nathan Share this post Link to post Share on other sites