Skip to content
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

Orientation changes independently #20

Closed
ceremcem opened this issue Jul 30, 2018 · 5 comments
Closed

Orientation changes independently #20

ceremcem opened this issue Jul 30, 2018 · 5 comments

Comments

@ceremcem
Copy link
Collaborator

ceremcem commented Jul 30, 2018

Orientation of PCB changes out of my control:

orientation-bug

Files: https://github.com/ceremcem/fc-asm3-test/tree/asm3-issue-20

@realthunder
Copy link
Owner

Can you elaborate your problem a bit more? Would do you want to achieve? I can't figure out your intention based on your screencast.

@realthunder
Copy link
Owner

I guess you probably want move the cube along the plane of the PCB? If so, you need the PlaneAlignment constraint instead of PlaneCoincident. You may want to checkout the constraint introduction by forum member jpg87 here

@ceremcem
Copy link
Collaborator Author

ceremcem commented Jul 30, 2018

My actual intention is that the tiny cube represents an ethernet socket and underlying plane represents the PCB and it will finally be a RaspberryPI-3 model.

image

I draw a pcb and an ethernet socket, then place the socket on pcb, then added a PlaneCoincident, which caused ETH socket to be placed in the center of PCB but with a random orientation.

asm3-rpi-ethernet-assembly

Then I tried to add a second plane coincident which asm3 refused. Then I tried to freely move the socket. That's the history. #

@realthunder
Copy link
Owner

I see. Okay, a few things. First, for any assembly, it is recommended to first create a Lock constraint to fix a base part. If there is no explicitly fixed part, the part owner of the first element in the first constraint will be fixed. In your case, this is the cube. When you try to move a fixed component, all other parts in the assembly moves together with it. If you select the plane on th PCB, however, you can rotate it as you wish.

Second, you intention is better captured by a plane alignment, which allows the cube to move freely alone the pcb plane.You can then add a second plane alignment to further restrict its position. I'd suggest you read the link in my previous post to get familiar with various constraints.

Third, for use case like PCB assembly, I suggest you create the pcb in a part design body, and attach a sketch on the pcb plane, and mark every component position with a circle. Add that body to the assembly. Then add individual components. Component placing can be easily done by a single PlaneCoincident. There is a LockAngle option in plane coincident to let you customize the rotation of the components. Or, you can use two PlaneCoincident of each component to auto calculate the rotation for you.

@ceremcem
Copy link
Collaborator Author

There are 2 things I understand:

  1. This is not a bug, no need to worry about anything
  2. Using PlaneAlignment did what I intended to do. I should definitely understand the various constraints with their intentions.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants