-
-
Notifications
You must be signed in to change notification settings - Fork 74
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
Moving objects into and out of assembly container causes unintentional displacement #39
Comments
This is expected. The final position of an object in 3D view is determined by the accumulated placement of the object and all its containers. When you drag and drop the object, its parent changes, hence its 3D view position changes as well. |
Objection: While it's completely required by design to calculate objects' positions relatively, "dragging and dropping an object into another container" would never be performed with the intention of position change, the "drag and drop" event must never change the objects position. ProposalWhen an object is dropped into or out of a container, its own placement should be recalculated regarding the container it's dragged into or out of and then overwritten. This will still satisfy the relative calculation requirement and also let us group some objects with a new Assembly container in the middle of the design process, change their position by moving the new Assembly container and then take them out of the container without breaking any previous valuable placement adjustments. |
This should be an option IMO. In many cases it is useful to drag an object inside a container and let the object get the placement multiplied by the container. So if this behavior is going to change, it would be nice to have an option to keep the old one when dragging in/out objects. |
This staionary drag and drop does seem useful in many use cases. But yes, it may also break some other existing mechanism (although I couldn't think of one immediately). I think I'll add a FC parameter to enable this behavior. |
@ceremcem I have just added this feature in my LinkStage3 branch. Since you are very active in testing my branch, it is better for you to use your own build to test the latest feature and fix. To activate the feature, right click anywhere in the tree, select |
I was about to say that I'm able to build LinkStage3 from source for a while with a virtual machine, so, anyway, here we are: It seems a permanent setting, which is great. |
This feature works, thank you! |
VersionOS: Debian GNU/Linux 9.5 (stretch) FileDescriptionStarting over, here I have two components and I will cut the Prepare the socket cuts(Fail) I'm creating a solid which describes the windows to be cut: (Success) It seems it's not supported explicitly, so I need to go to parent object and create the shape: (Fail) Cut the panel by directly using
|
I am aware of this issue. There is a potential fix but involves quite significant core changes. I put it to low priority. For an explanation of the cause of the problem, see here. In short, you are in fact seeing the same object appear in more than one coordinate space, and this time they located at the exact same spot. To hide the object in the global coordinate space, select it in the 3D view, and press space. You need to select it twice, to hide both it in both coordinate space.
Part/PartDesign feature only works when all its tool and base features are inside the same coordinate space. Binder is a way to bring in objects from another coordinate space. In my tutorial, the cut shape, and the USB socket are contained in a sub-assembly, which has its own coordinate space. The binder binds the cut shape, and bring it to the parent assembly at the same location in 3D view. Without the binder, if you directly create a Cut using objects from two different coordinate system, it will be out of place, similar to when you drag an object across different assembly container. My new added feature recalculate the drag object's coordinate and changed its placement so that it appears stationary, binder does the same thing.
In my tutorial, the cut shape stays with the socket model. The socket and cut shape sub-assembly is then assembled with the PCB in a higher assembly.
This is not a regular drag and drop. It does not move any object, but creates a link inside the assembly. I'll see if I can do the same trick on this case. On the other hand, since you are using assembly workbench, you shouldn't rely too much on the manual placement, but use constraint to configure the parts. With the blueprint you showed in the other post, I would create a master sketch to define each components place exactly as shown in the blueprint, and then place each component by as simple PlaneConicident. |
I'm trying to create a
Binder
for a shape.Binder
changes unintentionallyModel: test2.zip
The text was updated successfully, but these errors were encountered: