Hi Tony!
Concerning the part rotation in Altium: angles are defined in the
natural mathematically positive sence, with zero degree to the right
(positive X direction) and counted counter clockwise for both, top and
bottom components. If a component is fliped to the other side, its like
rotating once hand, the component is rotated along the Y axis, so x is
translates into -x, the angle is kept unchanged. I would say, this is
the GerberX3 way.
Jan
On 22.07.2022 23:26,
tonyl...@gmail.com wrote:
> Zdenko,
>
> For individual rectangular boards, setup the job with the board top
> facing up and set the board location to match the board origin (see top
> half of the figure below). This is typically the lower left corner of
> the board. Be sure to set the width (as measured in the board's X
> direction) and length (as measured in the board's Y direction) of the
> board as well. Then to place bottom side components, flip the board
> along its width (X dimension) so that the board origin is now at the
> lower right (see the lower half of the figure below) and on the Job tab,
> just change the board side from Top to Bottom (do not change the
> location of the board in OpenPnP). OpenPnp knows that for bottom
> placements, it needs to add the width of the board to the board's
> location and then it subtracts the placement's local offset from that to
> arrive at the machine coordinates for that placement.
>
> BoardOrigin.png
>
> Now, WRT placement rotation on the bottom. Most of the board importers
> "know" how the rotations are defined in their respective tools so they
> take care of any necessary conversions for the operator. However, when
> using the "Named CSV" importer, it is your responsibility to make sure
> that the rotation of the placements in the CSV file match that as
> defined by OpenPnP (see left column of the image in my previous post).
> Most likely, Altium Designer defines bottom rotations differently than
> OpenPnP so you will need to modify the rotation angles in the CSV file
> for bottom placements prior to importing it. From your description, I
> think there are basically three possible conversions: openpnpAngle = 180
> + altiumAngle, openpnpAngle = 180 - altiumAngle, or openpnpAngle =
> -altiumAngle but I can't say which one of the three is the correct one
> (we only know that openpnpAngle = altiumAngle is not correct). If
> rotating the polarized part in the feeder by 180 works for bottom
> placements at _any orientation_, then the first is probably correct. Be
> careful though in jumping to that conclusion because if the design only
> has placements at 0 or +/-180 then either of the first two conversions
> would work but we can't say which one is the correct one (that is, would
> work for placements at other angles). If the design happens to only
> have placements at +/-90, then either the first or third could be the
> correct one. The bottom line is you need to know how Altium Designer
> defines rotation angles and figure out the conversion needed to get to
> how OpenPnP defines rotation angles. And the real test would be to have
> polarized placements at 0, +90, 180, and -90 and verify all four get
> placed correctly.
>
> Tony
> On Friday, July 22, 2022 at 2:20:02 PM UTC-5
zdenko...@gmail.com wrote:
>
> Hey Tony,
>
> The problem is with individual boards as well.
>
> Personally, I am using KiCad and I still did not try bottom side
> placement to see if rotation is OK.
>
> These boards that I am currently placing are for a friend, he is
> using Altium Designer, we needed to adjust the CSV file to get a
> good import in OpenPnP but we managed it including even component
> height. We were a bit confused when we saw that SOT-23-3 diodes are
> getting rotated by 180deg. :D
>
> For example, for *Top* side, the origin of the PCB is *Bottom Left*,
> and for the *Bottom* side origin needed to be moved to the *Bottom
> Right* but we needed to set rotation in tape from *0deg* to *180deg
> *to have it right on the Bottom, it is the same diode that was
> needed on Top and Bottom so we always needed to change rotation in tape.
>
> Importer was *"Named CSV".*
> PlacementAngleReference.png
> On Friday, July 22, 2022 at 12:24:40 PM UTC-5
>
zdenko...@gmail.com wrote:
>
> Hi Jan,
>
> You can handle *double-sided* boards in the same job file,
> just select the side, *right-click* on the job file and
> select *"set side" Top/Bottom.*
>
> One issue that I am having right now that I just want to
> mention so you can maybe observe it when you start with
> placements is that for example on some SOT-23 diodes I
> needed to change rotation in tape from 0 to 180deg between
> the*Top* and *Bottom* side (I don't know why), so for *Top*
> side rotation in the tape was *0deg* and I needed to change
> it for bottom side to *180deg* for the component to be
> placed correctly.
>
> Another issue that I noticed is if you are placing the
> components for example on two boards, and you ran out of the
> components in the middle of the job, so in case you put one
> component on one board and you ran out of it, you will get
> an empty *"red"* component like *"missing feeder"* but you
> will get a check mark as the component was *"Placed"* on
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
openpnp+u...@googlegroups.com
> <mailto:
openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/openpnp/87117718-62b9-40bd-b724-2b6100bec402n%40googlegroups.com
> <
https://groups.google.com/d/msgid/openpnp/87117718-62b9-40bd-b724-2b6100bec402n%40googlegroups.com?utm_medium=email&utm_source=footer>.