Custom Pad shape in AD16 - Page 1
Forum section: electronics / general

author: ECEdesign
author_rank: Regular Contributor
timestamp: October 16, 2016, 03:09:21 am
content: I am trying to make the PCB footprint for an SO-8 PowerPAK for a Vishay MOSFET. It has a thermal pad on the bottom then 8 pins around it. The datasheet gives a fully defined drawing of the pad layout but I can't seem to find how you use constraints in Altium Designer.Do you really just have to estimate and then measure to get the spacing between pads right? If I was drawing something in SolidWorks this would be super simple I can just say from this edge to this edge is X mm. I couldn't find such tool in AD.

author: ECEdesign
author_rank: Regular Contributor
timestamp: October 16, 2016, 03:33:09 am
content: I attached a picture of how I'm implementing it in Altium and the design requirements from Vishay. It seems like I can't get a .66 pitch for the pins. It wants either .65 or .675.

author: ECEdesign
author_rank: Regular Contributor
timestamp: October 16, 2016, 05:11:49 am
content: So I guess it makes it easier to design if I use imperial units instead of using the metric units in the parenthesis since that is not an exact value and won't line up with the grid. It would still be helpful if Altium had constraint-based placement from CAD packages like SolidWorks or AutoCAD.

author: ajb
author_rank: Super Contributor
timestamp: October 16, 2016, 05:23:01 am
content: Once the pad is approximately placed, you can always enter the exact coordinates in the PCBLIB Inspector.Once you have one pad placed exactly, copy and paste a second one on top of it (make sure the top layer is active so you can snap to pad centers), then with the second selected, M->"Move Selection by X, Y" and enter the required X/Y offset. Once you have two pads placed the appropriate distance apart, select Pad 2, Ctrl+C, select the center of Pad 1 as the base point . Then Ctrl+V, and snap to the center of Pad 2, which will place Pad 3 the same distance from Pad 2 as Pad 2 is from Pad 1. (Copy & paste in Altium's PCB editor works like AutoCAD's COPYBASE command, if you're familiar with that, so you can use it to paste with a known offset fairly easily based on existing geometry).Or you can set your grid to the required spacing. G,G will set an arbitrary grid spacing in both X and Y in metric or imperial terms, G,Y,G to set an arbitrary Y grid spacing, G,X,G for the X. G,M will invoke the grid manager where you can do all sorts of crazy grid stuff, like piecewise grids of different pitches and polar grids.

author: Bud
author_rank: Super Contributor
timestamp: October 16, 2016, 05:23:26 am
content: It does not. I recall this issue was beaten to death in some other thread.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 16, 2016, 05:31:21 am
content: Hm. Different motivations -- PCB layout is (or, has been historically) about placing shapes in exact positions. It's a dimensionally accurate, monochrome per layer (logical-OR overlap, only), vector graphic output. All tools I know of, make assumptions about that being the end product.A constraints-based system would have some interesting features, but they'd probably just be a hassle to work with. Placement and routing would be the best applications, but the constraint space of a 2D board layout is far richer than the (usually zero or one dimensional) constraints of a 3D inverse kinematics problem! Still, heck... I'd love to have a "snap to bus" feature where parallel traces simply line up when linked together, and the result can be dragged around (all the trace segments at once, as if one very large trace segment), and it automatically spaces itself out to avoid obstacles. (Which most PCB tools offer, but to varying degrees of success and ease of use.)Anyway. Pads!If nothing else, use the IPC calculator tool to create the periphery pads. A PPSO package is basically an SON with a wonky middle pad that overlaps the rest. Okay, it's not completely leadless, but you can hack that by specifying extra pad toe length.Note that there are side 'wings' too, which are rarely specified on the drawing. I forget if Vishay specs these. I've seen at least three variants of this package, differing only in the wing places.Once made the mistake of neither drawing them nor placing keepouts in the area; that board almost shorted the switching node to a GND via!As for the pad design thingy, can't you simply change the grid size..?Tim

author: DerekG
author_rank: Frequent Contributor
timestamp: October 16, 2016, 05:51:12 am
content: Quote from: ECEdesign on October 16, 2016, 03:33:09 amPlace each pad manually after setting a grid of 0.11 pitch.

author: ajb
author_rank: Super Contributor
timestamp: October 16, 2016, 06:04:18 am
content: I have to say I sympathize with the OP, though. I realized recently that I would be a lot more satisfied with Altium if I had never used AutoCAD. "Placing shapes in exact positions" is literally all that AutoCAD does, and it is very, very, very good at it. I often find myself wishing that Altium had one or another of AutoCAD's graphical tools or UX features.One thing in particular that I think would be really helpful would be the ability to enter coordinates whenever you would normally click a point on the PCB. Like, in the midst of whatever command, you could hit a shortcut key and then just type in a coordinate position relative to the board origin or relative to the last entered point (like AutoCAD's #/@ notation), and that would be equivalent to clicking the mouse with the cursor at that position.

author: ECEdesign
author_rank: Regular Contributor
timestamp: October 16, 2016, 06:22:38 am
content: Quote from: T3sl4co1l on October 16, 2016, 05:31:21 amNot sure what you mean by the wings, there are no leads on the package it looks like that on the bottom. I have this soldered onto a breadboard breakout board which has vias which aren't solder masked so it shorted the thing(I checked continuing before I gave it power) so I had to put electrical tape down first then solder on the FET. What a pain... hence a real PCB!Yeah once I switched to imperial units things lined up a bit better.Quote from: ajb on October 16, 2016, 06:04:18 amYES! If I could just select this edge to that one is .6 in or whatever and it moves it that would be awesome. Moving things and then going back to measure 3 times is a pain... And with measurements in CAD if you move something else it keeps that dimension correct (unless you over-constrain it and it yells at you). Anyway, I will learn to get better at Altium. I thought for sure there was a dimension tool somewhere. Exact coordinates aren't that great, relative changes are more useful constraints.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 16, 2016, 06:22:31 pm
content: Quote from: ajb on October 16, 2016, 06:04:18 amJ, LMind, if you pick a location off grid, your cursor may snap back onto it...There's also M, Move by X/Y, and (more for single objects), entering coordinates manually in the Inspector Panel.Tim

author: ajb
author_rank: Super Contributor
timestamp: October 16, 2016, 09:04:38 pm
content: Quote from: T3sl4co1l on October 16, 2016, 06:22:31 pmAhh, thanks! That's part way to what I'd want; the snap-back problem would be avoided if entering the coordinate completed the mouse-click action (like it does in AutoCAD) rather than just positioning the cursor, and would mean you don't have to worry about accidentally bumping the mouse and screwing up the position. Of course with look-ahead you have the question of if entering the coordinate should be equivalent to a single click, which sets only the first segment, or two clicks, which would set both segments. And of course J,L doesn't give the option for a relative coordinate. I wonder if it's possible to do absolute/relative cursor positioning + mouse click with a user script, then you could map them to Shift+3 (#) and Shift+2 (@), so it would be like having a little piece of AutoCAD in Altium.

author: DerekG
author_rank: Frequent Contributor
timestamp: October 16, 2016, 11:22:10 pm
content: I don't know why you are having such difficulty with this.You just need to generate one pad with the correct dimensions, copy & paste it 7 times (so you have 8 pads in total).Then set your grid as I mentioned above.Now, reset your origin to be in the middle of one of your pads. You can now move each pad to the desired location.Shit, even DipTrace can do this in a flash.

author: exmadscientist
author_rank: Frequent Contributor
timestamp: October 18, 2016, 03:19:36 am
content: Use the PCB inspector a lot (it's usually open on the left side of my workspace) and change grids often to suit what you're doing right now.Also, for SO-8 FET footprints, I strongly recommend taking a look at the "universal" footprint inOn Semiconductor's AND9137 (pdf). It has worked beautifully for me and it's great to be both manufacturer-independent and have many fewer nonstandard footprints to draw!I've attached a PcbLib file with both footprints I use included. I've had zero problems with them, but I also haven't done high-volume manufacturing with either footprint. (We never do runs of more than a few dozen units around here.)