(2020-09-11, 21:26)Roland Melkert Wrote: This is possible using buffer exchange.
It's fairly easy if it only needs a different rotation in the step where it is added.
This is done so:
In the source it should look something like this:
- Go to the step where the part is added.
- Move it to the bottom of the step (in the source window (view/new source window))
- Also in the source window insert a buffer exchange store meta (Part bin root/special parts/misc non visual ldraw parts) BEFORE the target part
- Go to the next step.
- Insert a buffer exchange retrieve meta so it's the first thing in the step. (this will 'delete' your target part)
- Add an identical part using the different orientation to the same step.
Code:1 14 0 0 0 1 0 0 0 1 0 0 0 1 6141.dat
1 14 0 8 0 1 0 0 0 1 0 0 0 1 6141.dat
0 BUFEXCHG A STORE
1 14 0 -8 0 1 0 0 0 1 0 0 0 1 3024.dat
0 STEP
0 BUFEXCHG A RETRIEVE
1 14 0 -8 0 0.70710678 0 -0.70710678 0 1 0 0.70710678 0 0.70710678 3024.dat
Thank you for teaching me this, I was wondering what all those "extra" items were for.
(2020-09-12, 0:08)N. W. Perry Wrote: To do it from one step onwards, on the other hand, the easiest way is probably to use a submodel. For example, if the part is added in step 10, and then rotated a different way from step 20 onwards, you could put the buffer exchange store command right before the part in step 10 (as described above), then build through step 19. At that point you'd make a submodel copying all the parts added from steps 11-19. Then add step 20, insert the buffer retrieve command (everything after step 10 disappears), and then add the submodel plus the part in its new rotated position.
To me this is the biggest drawback with buffer exchange, the need to add multiple instances of parts that only occur once in the actual model. (I've envisioned a new meta called FLOAT that would not have this problem, but unfortunately I haven't the skills to make it anything more than a vision.) :-)
Thank you for suggesting the sub-model. I followed Roland's instructions and expanded on it by copying the parts that disappear, just like a sub-model would do.
I do agree with you, on the limitation of the buffer exchange. The current instruction builder that I use Web Lic! does not appear to be compatible with the buffer exchange as it only adds the parts on top of the others without deleting the previous ones, and the part inventory counts all the additional parts included. The buffer exchange methodology seems limited to the LDCad environment.
I assume there is no unique index of the parts in a project, to would allow addressing a particular instance of a given part in order to manipulate its properties. How does the LDCad knows which part are you selecting? Is it only by the placement order in the list?