New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assembly: Fixes #10748 (Card 4: Elements should highlight) #11158
Conversation
howie-j
commented
Oct 23, 2023
- Added methods to change JCS pick properties
- Joints are unpickable when creating new joints, pickable elsewhere
- Lowered JCS transparency to make selection highlighting more visible
for more information, see https://pre-commit.ci
This is not exactly what I had in mind but probably good too. Perhaps you could make a short video and post it here so that other can weight in if they think it's the good way to go? I build it before but don't remember exactly what it was doing. I will build again to see. As a side note it will conflict with my card 9 PR. But I can rebase later. |
Actually a video is present here : #10748 |
So initially from the discussion we had during testing the previous PR we made 2 issues :
So put together that meant :
Now if we want to achieve that, making the JCS pickable is useless because they would be hidden until selected. Besides as they would be hidden until selected, highlighting them doesn't have any use. So in this context this PR would be useless. Having said that perhaps our initial discussion was not ideal. So here the workflow you are offering is :
I guess more feedback from the community would help |
This is caused by non-optimal lightning, viewing angle and selection colors. Changing the
Screencast.from.2023-11-07.20-36-44.webm |
I can try to explain this PR a bit better 😀
Hiding the joint when edit mode is closed is trivial, just set visibility to false. All other objects in freecad highlights when selected in the tree, so i could not figure out why joints would not highlight, until i saw they were deliberately set unpickable (to make selection in edit mode possible). Setting them pickable felt very natural to me from a UX perspective, to be able to double click on them to edit, click to hide, select them in tree view to highlight them, select to delete etc. I also discovered that highlighting the elements looked a bit "messy", say if a large face is highlighed you wouldn't know where exactly on the face the JCS were connected, and hidden edges would not show. Example: So in my opinion, highlighting the JCS's looked better and felt better (highly subjective of course). Another point is that when you double click a JCS and enter edit mode, the elements will highlight, so that's a simple option if you need to see which element the JCS is connected to. After that, my plan to solve these cards were the following:
That could be, but in my experience with other cad systems such as onshape, it can be very beneficial when working with large assemblies to show all joints, and then select them in the 3d view to find the correct one to edit/delete/modify. Feedback is very much welcome, and i guess when the solver is working and merged there will be more than enough feedback :) |
Your explications are convincing for me, and the workflow you describe seems good. So with your workflow the point 4 :
Does not feel necessary. We can just hide the JCS when creation is done. Then let the user handle the visibility of it like he would for any other Object. |
And indeed you are right, with double click now (in card9 pr) you start edition of the joint and the elements are highlighted. |
Sounds good 👍 These small details and workflow optimalizations are probably going to be much easier to figure out once we can start making assemblies and using the workbench, so probably not necessary to spend too much time on before we know if they will be needed or not. |
@howie-j so we wait until the card9 PR merges to m erge this one right? Or you prefer to merge this now? |
@PaddleStroke Yep we can absolutely wait, card9 is much more important. And this one is small, I can rebase as soon as card 9 is merged 👍 |
@howie-j do you want me to cherry-pick these changes into the card9 branch so that we can close this PR? |
@PaddleStroke That would be great! I can probably rebase on card 9 and resolve the merge conflicts if you want, but i won't have the time before this weekend the earliest. If you want to do the rebase please go ahead :) |
@howie-j I am merging your changes in card9 now. One remark/question : double clicking on a JCS in the 3d view does not open the task for the joint edition, as double clicking in the tree does. Instead is selects the whole assembly. Do you know how to do this already? |
Hmm, no i don't think i know why this happenes. When i worked on this PR last, the double click to edit joint feature did not exist. If you hide the assembly model, but keeps the joint visible, does double clicking work then? |
Nah same happen. It's not the same function that gets triggered on view double clicked than on tree double click I guess. I need to look in more details. |
I cherry picked the changes to card9, this can be closed |
Per @PaddleStroke, closing |