[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Specification of Rotations for Auto Assembly
Hi,
> -----Original Message-----
> From: geda-user-bounces@xxxxxxxxxxxxxx
> [mailto:geda-user-bounces@xxxxxxxxxxxxxx] On Behalf Of Armin Faltl
> Sent: Monday, August 16, 2010 1:04 PM
> To: gEDA user mailing list
> Subject: Re: gEDA-user: Specification of Rotations for Auto Assembly
>
>
>
> Rick Collins wrote:
> > This seems like a pretty sharp group. One of the problems I
> > consistently have is generating an XYRS file for auto
> assembly of my
> > boards. The X and Y require a specified origin and
> orientation of the
> > board, which is done in the fab drawing. The side is
> pretty clear as
> > well. But I always have trouble with the rotations. There are two
> > sides and even if you pick a convention for the angle of origin and
> > the direction of rotation, you still have to decide if the
> bottom side
> > is viewed from the top or the bottom.
> >
> > When I have asked assembly houses about what they assume as
> > convention, I never get an answer. They just tell me that
> they need
> > the X and Y data along with the side. They basically
> figure out or at
> > least verify the rotation data for themselves.
> >
> > Is that what you find? It just seems very odd that there is no
> > accepted and widely used convention for rotations. I found
> info from
> > IPC that says pin 1 in upper left corner is 0 degrees for ICs. But
> > I've seen nothing that addresses how to spec the bottom side
> > components. A FreePCB companion program. FpcPlace assumes all
> > rotations are CCW and viewed from the top. But the footprint
> > generator makes the footprint with pin 1 in the lower left which
> > screws everything up, or so the FpcPlace developer says.
> It looks to
> > me like the FpcPlace program is not correct.
>
> One of the things I dislike about pcb is the coordinate
> system: it's lefthanded, or z+ is going into the screen
> instead of pointing out.
> The right hand rule says: if you spread your first 3 fingers
> (starting with thumb) orthogonal to each other, thumb = X,
> point = Y, middle = Z ( or if you hook your fingers to
> indicate a rotation that will move X into Y, spreaded thumb
> poins to Z+). This is the basis for all math definition on
> vector operations in 2D and 3D, it defines the mathematically
> positive sense of rotation (CCW from above).
> All mechanical CAD systems and robotics controls adhere to
> this. So to define a rotation consistent with production, the
> first thing one must do is set up a proper 3D coordinate system.
>
As long as the internal coordinate system of pcb is consistent within the
code base, and the proper coordinate system is used for the exporter for
each purpose, then why change and have the risk of implementing (new)
errors.
When it works, don't fix it.
> As a SCARA robot can only access one side of the board at a
> time, it's now a matter of convention, whether your "designer
> procomputed" rotation fixes the base coordinate system to the
> board (that gets flipped, so Z+ points up or down) or to the
> robot base.
> If I were to come up with a convention, I'd fix it to the
> board, since the actual placement of the board in the robot
> system (position and rotation) is unknow to the designer anyways.
> Next convention would be X is longer side, Y is short for rectangles.
> To define the complete position, one has to carry out 2
> rotations (I know they can be combined to one oblique) for
> the backside: flip the board, then somehow rotate the chip.
> As the rotations can be combined, they can't be independent:
> you could flip the board around it's X-axis (makes most sense to
> designer) or it's Y-axis
> or around robot-X (what they fabs probably do) or around any
> other axis in the XY-plane, yielding completely different
> angles for the chip rotation.
>
> That's what the fabs actually tell you: if you believe the
> XY-plane to be in the center of the laminate, indicate which
> side is Z+.
>
> HTH, Armin
>
>
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user