trevorsandy / lpub3d

An LDraw™ editor for LEGO® style digital building instructions.
https://trevorsandy.github.io/lpub3d/
131 stars 19 forks source link

PLI adjustment #685

Closed ErfinderDesRades closed 1 year ago

ErfinderDesRades commented 1 year ago

During the last weeks I have been dealing a lot with LPub3D. I learned a lot and the cases where I get the expected results are getting more and more. But when it comes to adjusting the objects on a multi step page, there are stil a lot of situations where I experience results I didn't expect. As I'm still far away from being an expert in LPub3D I'm not sure whether these behaviour are are to considere as issues or are caused by mistakes on my side.

When it comes to aligning the PLI in relation to the assembly there are a lot of preset adjustments, which do not show the expected result.

The following adjustments work as expected:

image

image

image

image

image

Interesting: When you go back from here to, for example Top:Center, the adjustment of the PLI jumps back to Top:Left.

image

image

When choosing the other preset positions, the PLI jumps back to Top:Left or remains at the last position.

Also interesting:

It would really be highly appreciated, if you could clarify these "issues". Or maybe tell me, what are my mistakes.

To be sure I attached the model file code, althought I haven't changed any formatting, execpt the scale of the PLIs in order to make changes more obvious.

0 Example Pyramid for Demonstration of LDRAW Library 0 Name: pyramid.ldr 0 Author: James Jessiman 0 !LPUB MULTI_STEP BEGIN 0 !LPUB PLI MODEL_SCALE 0.4000 1 1 -40 -24 60 1 0 0 0 1 0 0 0 1 3001.dat 1 1 40 -24 60 1 0 0 0 1 0 0 0 1 3001.dat 1 1 60 -24 0 0 0 1 0 1 0 -1 0 0 3001.dat 1 1 40 -24 -60 1 0 0 0 1 0 0 0 1 3001.dat 1 1 -40 -24 -60 1 0 0 0 1 0 0 0 1 3001.dat 1 1 -60 -24 0 0 0 1 0 1 0 -1 0 0 3001.dat 0 STEP 1 4 -20 -48 40 1 0 0 0 1 0 0 0 1 3001.dat 1 4 40 -48 20 0 0 1 0 1 0 -1 0 0 3001.dat 1 4 20 -48 -40 1 0 0 0 1 0 0 0 1 3001.dat 1 4 -40 -48 -20 0 0 1 0 1 0 -1 0 0 3001.dat 0 STEP 1 14 0 -72 20 1 0 0 0 1 0 0 0 1 3001.dat 1 14 0 -72 -20 1 0 0 0 1 0 0 0 1 3001.dat 0 STEP 0 !LPUB MULTI_STEP END 1 0 0 -96 0 1 0 0 0 1 0 0 0 1 3003.dat 0 STEP 0 STEP 0 // These 6 command lines were auto-generated for highlight current step. 0 // These lines are not saved and should not be modified, but they can be replaced. 0 // Remove comment lines and replace MODEL with DISPLAY_MODEL to override this behaviour. 0 STEP 0 // These 6 command lines were auto-generated for highlight current step. 0 // These lines are not saved and should not be modified, but they can be replaced. 0 // Remove comment lines and replace MODEL with DISPLAY_MODEL to override this behaviour. 0 STEP

_Environment Version of LPub3D - 2.4.6.0.3111_20230111 Windows 11, Processor 12th Gen Intel(R) Core(TM) i7-12700H 2.70 GHz Architecture 64-Bit, 32 GB Ram Configuration LPub3D installation path Windows: C:\Program Files\LPub3D246 Application data path Until now I couldn't find any workaround

Best regards and thanks a lot in advance.

trevorsandy commented 1 year ago

Thank you for reporting this behaviour.

I'll take a look.

Cheers,

trevorsandy commented 1 year ago

This behaviour has been corrected and will be available in the next release build

When you go back from here to, for example Top:Center, the adjustment of the PLI jumps back to Top:Left.

Corrected.

when changing the position in the menu, the new code line containing the new adjustment will be written above the old one. So even if the preset position is one of the working ones, it will not work before deleting the "old" line.

I was not able to reproduce this behaviour using the sample model file you provided after implementing the correction.

It would really be highly appreciated, if you could clarify these "issues". Or maybe tell me, what are my mistakes.

The unexpected behaviour was caused by the LOCAL meta command flag not being properly persisted when the multi-step page is sized for display. If you remove LOCAL from the meta command (you will have to place a 'restore' meta command in any subsequent page STEP that you do not wish to inherit the 'local' placement), this behaviour will not present.

For example, set this meta command:

0 !LPUB MULTI_STEP PLI PLACEMENT LOCAL RIGHT CENTER ASSEM OUTSIDE

To:

0 !LPUB MULTI_STEP PLI PLACEMENT RIGHT CENTER ASSEM OUTSIDE

In route to correct this behaviour I've discovered other anomalies with the placement routine so I'll also correct these items before the next release build.

Cheers,