Here is my feeble attempt at Vincent's challenge. Round pads is a bitch if it has to be done individually. Still looking for some copy and paste solution.
Close ... You have an opening between the wings and the central tab, that should be connected copper. Only the soldermask is supposed to divide that, there is still copper under the soldermask.
Did you draw the backside ?
Can we see the soldermask ?
Pastemask ? (This could be drawn on the documentation layer or silkscreen. As long is it is made.)
I would like to see the process how this is created. That is the difficulty I am experiencing in using DEX. Some basic object manipulations I am used to, not only in Altium but also in Illustrator, Solidworks , heck even PowerPoint ) I cannot find, or they don't exist, in DEX; and I'm searching for workarounds or alternate ways. That is the difficulty in learning any program , not only DEX.
Here is a short sequence of what I typically do ( note : this is NOT Altium specific. Cadence and Mentor tools, and most other vector based drawing programs like Illustrator (which is not a pcb tool) can do these operations too.
- Set X-grid to 25mils , Y-grid to 14.2mm.
Problem: DEX only has 1 grid dimension , and can only accept numerical entry in 1 unit type at a time. I have raised this multiple times. It would be really great to be able to type a number followed by the unit designation in any coordinate entry field. This avoids having to fidget between metric and imperial (which is common the PCB world) . It should not be that hard to implement.
In visual basic :
function ReturnUnitLessNumber (text as string) as double
dim number = val(text)
scaling = currentunits ' currentunits holds the scaling factor. 1 for millimeter , 25.4/1000 for mils so we translate all to millimeters. ( for example). currentunits is set from the menu.
if instr ucase(text),"mm" then number = number * mmscale
elseif instr ucase(text,"mil") then number = number * milscale
elsif instr ucase .... ' you get the idea : add your others like in , m or whatever here
else
number = number * currentunits
end if
return number
end function
Something along those lines. ( not responsible for typos and bugs, code above is principle only and was typed by hand using two fat fingers on a keyboard with coffee stains and not sent through a linter or compiler)
- I Set my grid x and y spacing.
- Now I select the place-pad operation .
- I Set up the pad as a rectangle 0.6mm wide 2mm tall. Rectangle, pad number 1. Set soldermask opening to 4 mils over pad.
- Click 10 times in a row left to right. Go one row up, click 10 times right to left. Done. I Could simplify this by doing an array placement. I Could also select the first 10 and then duplicate but my CAD program does not increment pad numbers in that case.
Note: Bonus points for DEX here: it does increment pad numbers in the copies!
. I Wish Altium had that. In DEX: select the pasted group and do a flip around vertical axis to get them to count backwards. I'm going to suggest to Altium they implement that. (There is array paste in Altium but I don't think it increments. I've never tried it on single pads.)
So now i have my base structure.
- Set origin to center ( 1 command, cad software figures out where the center is of what i have already drawn.) My origin point now neatly sits in the center of this structure.
Note : DEX does not have such a command. I Need to calculate numbers by hand or position 'by eye'. I suggested this as an improvement. In the right clock menu you can set origin but have to click yourself where you want it. With this imperial pat pitch and metric column pitch... that is a whacky number... so, on that menu all that is need is an additional selection ' set origin to center'. I Have suggested that before.
- Set grid to 1mm for both x and y.
- Somewhere outside what I already made I now draw a rectangle of 10mm by 16mm and set the width of the line to 6mils. I Have a toolbar that shows me how long a line is as I am drawing it.
Bonus points for DEX : DEX displays the x and y directly on the object being drawn! I Do not need to take my eyes off where i am working to go read some numbers somewhere on the UI
(I'm going to be on the phone on Monday with Altium suggesting they could learn a thing or two from DEX when it comes to userfriendlyness.
.Not a week goes by without them getting an earful from me about something that does not work as expected. But they appreciate feedback. Of course working for one of their largest accounts with several hundred licences all on subscription does help a bit
Maybe I should buy 100 licences of DEX. Only 4500$, cheaper than an Altium seat.)
- Select the rectangle, invoke cut-command, click on the center point of the rectangle because that is where I want to 'grab it'. The center point is indicated on a selection. Not only the center point, but also the corners and centers of all edges. The software snaps to it automatically if I approach it with the mouse.
- I Now approach the origin point and the mouse snaps to that. I Click again to drop the selection. (paste operation)
DEX does not have a notion of a pickup point or drop point. You can drag a selected group but you have no idea where you are headed. There is no way to position elements centered, apart from you figuring out numbers, and looking at the scale rules, to see if you are there. If you type in numbers to apply an offset to the selection, only one element moves. If you move the selection, and inside the selection there are off-grid elements: they move on-grid. That is frustrating as DEX 'undoes' any relational positioning I already did inside the group , simply because I move the group. DEX can also not pick up a 'hollow object' inside the object. Draw an empty rectangle and try to pick it up by click-drag inside the rectangle. DEX thinks you want to make a selection. You can only grab a selection by grabbing an edge. Be careful not to grab a corner because then DEX will scale it ! ( That in itself is not a problem for a vector drawing program, but is a problem for a PCB program. It upsets everything )
At this point I am frustrated with DEX as I cannot do these simple graphical operations without the software trying to 'help' (Which is no help at all : moving things to grid which i do not want to move to grid). All drawing programs, even PowerPoint, do not touch spatial relations inside a group if you move that group. This is a basic graphic operation. Draw a few rectangles in PowerPoint , select them and move the selection around: they move in unison and nothing inside the group re-positions. DEX does re-position inside the selection. (See my video on manipulating pads)
Missing basic operation : move a group as-is
OK, back to me drawing.I Have two rows of pads and the silkscreen placed.
- Invoke Place pad command , set width and height to 6.3mm and 9.5mm, soldermask opening to 4, number to 21.
- Move mouse to center, it snaps, click to drop pad. Pad was already 'held' by its center. I Can hit space-bar to rotate the pad or X and Y to flip horizontally or vertically. DEX has similar shortcuts. No problem there, although the traditional windows style <ALT>+ key is crippled. Not Iliya's fault : a problem with a toolkit called Dev Express he is using , but nonetheless a bit annoying
OK, pad tweaking time.
- Select all on top layer
- Shift click on pad 1 and pad 21 as I do not want those
- In the properties panel change rectangle to rounded rectangle. Done.
Under certain circumstances , and I can't remember if pads are one of em, DEX will not apply settings to a group. It will only alter 1 element in the group. This makes the manipulation of common parameters for a group impossible. So you need to do this for each individual element. Note : I could have, during placement of the pad, altered the pad shape. But since I have group editing capability I don't bother. I Have finer grain control in group edit than every time having to toggle pad shape settings when I need a different kind of pad. That's just how i'm wired. All software i use has group editing. So it gets very frustrating when dealing with a program that cannot do such a basic operation.
So now i have to draw the wings.
- I Start by drawing a polygon 1cm wide with 'some' height, grab the polygon by its edge and drag it over to meet the silkscreen edge. My cad tool 'snaps' as I approach. I now grab the top edge of that polygon and drag that upward. The large crosshair looks for far-aligned objects. When i approach the upper edge of the top row of pads the cursor snaps. ( It snapped also on the bottom edge , but I kept on dragging).
For people used to programming in visual studio: if you draw a button, and then a second button, and you move the second button you get these blue lines. These are alignment guides. As you approach such a line you get a snap effect. This allows you to position two elements vertically and horizontally and size them to each other. This again is base CAD operations , even non cad programs like PowerPoint and Inkscape and Photoshop can do such things.
DEX: haven't found this functionality. I Tried, but i couldn't find it. So this bugs me. I Need to'fidget' to align two objects. If I had from-to operations I could have clicked on the edge of the drawn pad, then clicked on the edge of the silkscreen and it would have been done, but that is also not possible.
OK, so now i have a copper pad 1cm wide, top edge aligned to 'toe' of upper row of pads.
- Repeat operation: grab the bottom edge and drag it so it snaps to the toe of the bottom row of pads.
Note : Maybe some people do not know what 'toe' is. Maybe i should explain : an SMD pad is to a pin ,what a shoe is to a foot. Meaning: the edge of the pad pointing towards the body of the part is called the heel. And the edge of the pad pointing away from the package body is called the toe of the pad. Toe and heel also apply to the pin itself. Toe is the tip of the pin furthest away from the body ,heel is the last piece of the pin that touched the pad before the pin bends upwards. ( the ankle). Design rules for manufacturability say that the toe of a pin should fall in between the center of the pad to 85% of the pad length. The heel of the pin should sit no closer than 15% to the heel of the pad. This is to allow a nice fillet to form during reflow for mechanical strength.
OK, so now i have rectangle there.
I Now set my grid to 10 mils spacing and draw a rectangle 170 mils tall. ( the connection piece between center pad and the wing. ) . Width doesn't matter for now.
I copy this piece and set the copy's width to 23 mils (numerical entry). I Move the 23 mil wide, 170mil tall copy so it snaps against the edge of the thermal pad. ( It goes off-grid here. CAD program allows going off grid if you approach an electrical object. DEX has no such concept making such operations harder than need be. It's always on-grid).
Now I move the previously drawn piece so it butts against the 23 mil wide one and I stretch its other side so it butts against the wing.
Why 23 mils? I need a sliver of soldermask 15 mils wide. The opening in the mask is set to 4 mils over pad. I will set the 'opening over copper' for the wing also to 4 mils. So, by making a piece that is 23 mils wide , I have 4 mils under the opening of the center pad, 15 mils covered in soldermask and 4 more mils under the opening of the wing structure. Mission accomplished.
-I now select the connecting piece and the wing, and apply soldermask opening 4 mils over edge. That is just a numerical property of an object, no drawing is involved in this. DEX only has a slider that affects all soldermask. Anything else needs to be drawn as polygons. Pads and tracks have no property in of themselves that defines the mask associated with that particular object. Room for improvement.
-I now shift-click on the 23 mil wide piece to add it to the selection. (The others were still selected)
- Select the copy function.
- Point to the center of the thermal pad (it snaps) and click to specify that as the pickup point.
- Invoke the paste operation. Hit the Y button to flip the the pasted selection around the mouse point and click again on the center of the thermal pad.
- Left wing and the connecting stubs are now in place. I used the snapping functionality, flipping operations and pick and place points to my advantage to do a very quick mirror image placement. Everything falls into place.
- Switch to bottom layer.
- Invoke the place-fill command, set soldermask as 4 mils over copper, go to the top left corner of the left wing, the mouse snaps, I click , I move to bottom right corner of right wing, the mouse snaps again and I click again. My bottom pad is now done.
Via time !
- I Set my X grid to 50 , Y grid to 75 mils, and invoke the place-via command : set via drill to 10 mils, pad to 20 mils. Three clicks vertically and I have a column of vias. Select colum, copy , click the center of the top via (as pickup point) , click 1 grid space to the right(as drop point). Select the, now 6, vias ,mouse two grid space to the right : paste , move two more grid spaces : paste.
- Select the group of via's , set the pickup point as the center of the group. Drop point as the center of the thermal pad. Now those are in place and aligned properly
- Making the paste mask is a similar process. We know we need 20 mil spokes. I Conveniently set my via pad width to 20. So i can draw filled rectangles simply by allowing the cad tool to snap to the edges of the vias. Once I have 1 rectangle: copy, set pickup point to the center of a via, move two via's over ,click to drop. Repeat. I don't care if I go over the edge of the pad for now.
-Once all are placed : switch grid to 1 mil.
-Select a row or column that is 'over' and drag the edge that is over, 4 grid spaces inside the thermal pad. Do this for top row , bottom row and left column and right column. (selection editing)
Paste mask is done. Footprint is done. Import step model and paste. Save to library , use for the L6203 and L298 and some other devices that have this footprint.
This is another question that has popped up in this topic a couple of times. Not just by me : how to tie 1 footprint to mulitple schematic symbols. No answer yet. Maybe i missed it.
So that should give you an insight in what kind of object operations I use. These operations are common in almost any drawing program. PowerPoint, Illustrator, Photoshop, Cadence, Mentor. Doesn't matter. These are basic operations. Some of which are missing in DEX , some of which I can not find in DEX.
Having to work with a smaller toolset gets very annoying very quickly. Especially if lots of other software has the same tools.
Note : if anyone can find spelling errors in the post please inform me. I will ask for my money back. I bought Dragon Dictation. Since now i have a headset might as well use it
(note: that code segment was typed by hand)