LDraw.org Discussion Forums

Full Version: Partsnapping difficult sometimes
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi all,

Currently I am working on a model that features parts like 95228 minifig bottle and 64644 minifig telescope.
I am frustrated by the fact that snapping seems to mainly attract to the top stud instead of the bottom one.
It is extremely difficult to snap the bottom (anti)stud of the bottle of telescope to a stud of a ie. a plate.
LDCad seems to react primarily to the top stud? Especially when there a lot of studs to choose from.
Alas placing this part on top of another part with a stud is very hard.

If you know what I mean and experience this too, is there something you can do about that?

For now I don't even try putting it on and live with it to snap it to the bottom of the model and just move it up ;-)

The same goes for the 1x1 round plate with/without hole 85861 and 6141. Very hard to snap.
Or is it me?

Thanks for reading and for answering or tips.

Jaco
(2024-06-27, 10:11)Jaco van der Molen Wrote: [ -> ]Hi all,

Currently I am working on a model that features parts like 95228 minifig bottle and 64644 minifig telescope.
I am frustrated by the fact that snapping seems to mainly attract to the top stud instead of the bottom one.
It is extremely difficult to snap the bottom (anti)stud of the bottle of telescope to a stud of a ie. a plate.
LDCad seems to react primarily to the top stud? Especially when there a lot of studs to choose from.
Alas placing this part on top of another part with a stud is very hard.

This is a known problem of the 1.x snapping engine. I tried to improve it in 1.7 awhile back but the problem is fairly complicated to fully solve using the current approach.

In the end I decided to adjust the snap of the part causing the issue info instead.

I think it was 64644 combined with a 1x1 plate back then.

I will look into it again.

ps: It wasn't 64644 as its shadow doesn't have the change I mentioned, I will try to find the part in question (Philo do you remember?)
pss: I helps if you rotate the camera so you look directly at the target part.
(2024-06-27, 17:29)Roland Melkert Wrote: [ -> ]ps: It wasn't 64644 as its shadow doesn't have the change I mentioned, I will try to find the part in question (Philo do you remember?)
pss: I helps if you rotate the camera so you look directly at the target part.
I do remember the problem but not the solution Smile I just tried again with the telescope, I found it a bit tricky, but not that much. As for 95228, it doesn't seem to have bottom connectivity at all!
(2024-06-27, 18:52)Philippe Hurbain Wrote: [ -> ]I do remember the problem but not the solution Smile I just tried again with the telescope, I found it a bit tricky, but not that much. As for 95228, it doesn't seem to have bottom connectivity at all!

I can't find it ether.

Added a workaround to the repo for the above two parts though.

https://github.com/RolandMelkert/LDCadSh...92c62792a9
Studio has a nice snapping function, but sometimes that one is broken, too.
(no connection data, wrong type or position...)
For these cases, I try to move another, unbroken part into that and move them together. Would that also work here?
(2024-06-27, 19:17)Rene Rechthaler Wrote: [ -> ]Studio has a nice snapping function, but sometimes that one is broken, too.
(no connection data, wrong type or position...)
For these cases, I try to move another, unbroken part into that and move them together. Would that also work here?

Yes, but the main solution is to use grid editing to put the part at its final location.

In LDcad the snapping feature was never intended to be the main building tool.
(2024-06-27, 19:23)Roland Melkert Wrote: [ -> ]Yes, but the main solution is to use grid editing to put the part at its final location.

In LDcad the snapping feature was never intended to be the main building tool.

I know that that was the intention, and if you read the tutorial it emphasizes learning the grid method first.

Unfortunately (?) I think the system just works too well now. The temptation to use it as the primary method is just too strong. Smile
(2024-06-27, 18:52)Philippe Hurbain Wrote: [ -> ]I do remember the problem but not the solution Smile I just tried again with the telescope, I found it a bit tricky, but not that much. As for 95228, it doesn't seem to have bottom connectivity at all!

The bottle has connectivity since 2015 ;-)

Code:
0 !HISTORY 2015-10-06 {Roland Melkert} Initial info for 95228.dat

0 !LDCAD SNAP_CLEAR
0 !LDCAD SNAP_CYL [gender=M] [caps=none] [secs=R 8 5  R 10 22  R 8 2  R 6 2  R 4 14  R 7 3  R 6 4] [slide=true] [pos=0 48 0]
0 !LDCAD SNAP_CYL [gender=F] [caps=one] [secs=R 6 5  R 5 19] [pos=0 48 0]
0 !LDCAD SNAP_CYL [gender=F] [caps=one] [secs=R 4 4] [pos=0 -4 0] [ori=1 0 0 0 -1 0 0 0 -1]
(2024-06-27, 23:12)N. W. Perry Wrote: [ -> ]I know that that was the intention, and if you read the tutorial it emphasizes learning the grid method first.

Unfortunately (?) I think the system just works too well now. The temptation to use it as the primary method is just too strong. Smile

Sorry, I don't like grid editing ;-)
I am so used to snapping.
(2024-06-27, 17:29)Roland Melkert Wrote: [ -> ]I will look into it again.

ps: It wasn't 64644 as its shadow doesn't have the change I mentioned, I will try to find the part in question (Philo do you remember?)
pss: I helps if you rotate the camera so you look directly at the target part.

Tnx!
It seems to get more difficult if many studs are visible and I guess the more the snap engine can choose from, the more difficult it gets.
For now just putting it under a brick and moving it upwards using arrow keys or edit pin, I'm fine.
It would be nice though if snapping would even work more smooth that it already does.
(2024-06-29, 10:46)Jaco van der Molen Wrote: [ -> ]The bottle has connectivity since 2015 ;-)

Gotcha. Snapping is in 95228 instead of s01 so 95228p01 that I used to test is missing it...
(2024-06-29, 12:06)Philippe Hurbain Wrote: [ -> ]Gotcha. Snapping is in 95228 instead of s01 so 95228p01 that I used to test is missing it...

I moved it to s01 on github.
I found another impossible snap:

It seems impossible to put a 85611 Plate 1x2 round with Open stud under a 20482 Tile 1x1 Round with Pin and Pin hole.

Try it ;-)

It works if you put the tile on the plate though.

Further more, you have to be precise or else the pin seems to find it better to go under the plate.
Depending on the camera angle and grid size.

Also, if you put the tile under the plate it always snaps 2 LDU from the bottom of the plate and you have to slightly move the mouse to put it in further.
Putting the plate on the tile also does not go all the way down. You have to move it precise.

The same goes for putting some other brick on 1x1 round plate.
Always seems 2 LDU off unless you "press" it down (if you know what I mean ;-)
Another thing that is very hard is if you have stacked a normal plate, a 1x1 round plate and another normal plate on top and then if you put another plate on that, the last plate always seems to prefer snapping 2 LDU above the stud of the 1x1 round plate?
As a consequence you again have to be very accurate to move the last plate a bit up to snap it to the normal plate, on the round plate.
This is mostly the case if other studs are near.

Try building this

[Image: AP1GczMbFQIVaFxhbdaMvWm53I8q_y6FhVIIXhoO...authuser=0]

I mostly end up with the build on the right.

[Image: AP1GczMIZvf3JLBi7fN-rNrw0JjMGRoC1q1hoeKS...authuser=0]
(2024-07-03, 13:04)Jaco van der Molen Wrote: [ -> ]It seems impossible to put a 85611 Plate 1x2 round with Open stud under a 20482 Tile 1x1 Round with Pin and Pin hole.

(2024-07-03, 13:41)Jaco van der Molen Wrote: [ -> ]Another thing that is very hard is if you have stacked a normal plate, a 1x1 round plate and another normal plate on top and then if you put another plate on that, the last plate always

Both are caused by the same problem as before.

The current engine needs improving when matching a short cylinder shape to a long one. 

The 2ldu thing is because of the slide property of the pin.

The short-term solution is to put a normal anti stud snap meta to the problem parts. It is redundant but it ensures the shorter one 'wins' the matching games.

But it might also ruin the whole point of the longer cyl meta as those are suppose to allow non stud use of the part.
(2024-07-03, 20:12)Roland Melkert Wrote: [ -> ]The short-term solution is to put a normal anti stud snap meta to the problem parts. It is redundant but it ensures the shorter one 'wins' the matching games.

But it might also ruin the whole point of the longer cyl meta as those are suppose to allow non stud use of the part.

This might defeat the intention of snapping as a supplement to grid-based editing, but…

I wonder if there might be more than one snapping mode based on the type of connection being searched for. One, perhaps, "full snapping" mode that includes (and probably prioritizes) stud and anti-stud connections, and another "lite" or mode that ignores simple studs, and only snaps to more specialized connections like clips, bar/cylinder, and so forth.

Or maybe it makes more sense as a single mode, but perhaps with a sliding control for "sensitivity" that gives varying weight to the different connections based on some parameter that's already programmed in?
(2024-07-03, 20:12)Roland Melkert Wrote: [ -> ]Both are caused by the same problem as before.

The current engine needs improving when matching a short cylinder shape to a long one. 

The 2ldu thing is because of the slide property of the pin.

The short-term solution is to put a normal anti stud snap meta to the problem parts. It is redundant but it ensures the shorter one 'wins' the matching games.

But it might also ruin the whole point of the longer cyl meta as those are suppose to allow non stud use of the part.

Right, I see.
It is somewhat annoying, but not that big a problem that we need to modify the snap info to suit "my" needs ;-)
If you can, an improvement of the engine would be great, but not a thing that we cannot overcome.