How to "pack" components so that their courtyards touch? - Page 1
Forum section: electronics / general

author: incf
author_rank: Frequent Contributor
timestamp: January 26, 2025, 09:54:48 pm
content: What are some of the most efficient ways to "pack" the components shown below so that their courtyards touch? (or rather, how to do it so that the courtyard distances are at exactly the minimum value permitted by DRC?)In other CAD programs you can just drag components and they would automatically push together without overlapping. Or more commonly CAD programs have a tool (eg. "Tools->Nudge Components" PADS/DxDesigner) to instruct it to pack components in a particular axis. Surely Altium must have something similar, but I have yet to find it.

author: Pseudobyte
author_rank: Frequent Contributor
timestamp: January 27, 2025, 02:25:30 pm
content: Yeah I don't think there is a built-in tool to do what you want.The closest thing might be changing your placement mode from the default "ignore" to "avoid". You can change it by pressing R while dragging a component around. The mode you are in will be displayed on the status bar "[Push: Avoid]". This will avoid DRC violations during placement of components.But generally the DRC doesn't give a shit about your courtyard and it is purely a visual indication for whoever is doing the layout.I would recommend you stick to a grid. Layouts look so much better when done on a uniform grid.Happy placing!

author: incf
author_rank: Frequent Contributor
timestamp: January 27, 2025, 02:39:56 pm
content: Quote from: Pseudobyte on January 27, 2025, 02:25:30 pmThis may be a silly question, but when you setup a grid for placement of resistors/capacitors with mixed sizes (eg. 0402 and 0603) what size do you set your gird to? (What is "too large" of a grid and what is "too small" of a gird?)Do you avoid having mixed rotations with the parts?I imagine there might be different schools of thought. A large grid (eg. the width of the largest courtyard) offers plenty of room for vias and routing, whereas a smaller gird (eg. 1/2 the width of the smallest courtyard) offers more flexibility and less space.

author: langwadt
author_rank: Super Contributor
timestamp: January 27, 2025, 02:41:53 pm
content: Quote from: Pseudobyte on January 27, 2025, 02:25:30 pmKicad DRC flags an error for overlapping courtyards

author: incf
author_rank: Frequent Contributor
timestamp: January 27, 2025, 02:50:09 pm
content: Quote from: langwadt on January 27, 2025, 02:41:53 pmThis is the Altium board.

author: Pseudobyte
author_rank: Frequent Contributor
timestamp: January 27, 2025, 02:55:39 pm
content: Quote from: langwadt on January 27, 2025, 02:41:53 pmFantastic...another tone deaf post on the Altium forum.Quote from: incf on January 27, 2025, 02:39:56 pmI tend to only go as small as the application demands. Having worked on the contract manufacturing side of things, I appreciate it when boards are not artificially made dense.That being said the smallest I will go is 0.1 or 0.2mm when things truly are very high density. Otherwise I prefer 0.4mm or 0.8mm. I like to do powers of 2 so things divide nicely and when you need to drop a grid size everything is still on grid.

author: aandrew
author_rank: Frequent Contributor
timestamp: January 27, 2025, 05:57:07 pm
content: I don't know of a way to DRC for courtyard violations, but just from experience I tend to do placement on 0.25mm grids which seems to be about right for 0603. I also tend to do silkscreen on the same grid, and my routing tends to be done on 0.1mm for the most part.Apropos of nothing, but i have had nothing but trouble getting top/bottom courtyard layer pairs working. I have the layer pairs set up before I import the design into layout but the footprints do not seem to properly flip to the corresponding layer in the pair when I put the component on the bottom layer. Super frustrating and also really difficult to try and fix after the fact.

author: incf
author_rank: Frequent Contributor
timestamp: January 27, 2025, 06:20:05 pm
content: Quote from: aandrew on January 27, 2025, 05:57:07 pmWhat I had to do: (1) chose what layer numbers got what functions / pairs / etc. , export that layer config at as .stackup file, and then and then edit every single footprint by importing that .stackup file and moving things to the correct layers.When I started, I chose nonstandard layer numbers (10/11, 20/21, 30/31, etc.), and as a result I have to clean up the mechanical/assembly layer of every part I import. (other layers are fine)

author: Siwastaja
author_rank: Super Contributor
timestamp: January 27, 2025, 06:24:07 pm
content: Snap on all layers, Move Selection. That's what I do, I feel it's pretty quick? I don't like dragging, it combines selecting stuff and making changes as a single step which supposedly saves 0.1 second of time but when wrong thing gets selected then it feels ugly that wrong things start to happen and you have to undo yourself out of the mess. Therefore, I like single click for selection, then keyboard shortcuts for actions (move selection in this case)

author: langwadt
author_rank: Super Contributor
timestamp: January 27, 2025, 07:11:22 pm
content: Quote from: Pseudobyte on January 27, 2025, 02:55:39 pmgot up on the wrong side of the bed? the point is that if Kicad has that feature I find it hard to believe Altium doesn'tdoesnt' this say it checks the courtyard? ,https://www.altium.com/documentation/altium-designer/pcb-placement-rules#component_clearanceand this that placing components with push or avoid will keep the clearance rules?https://www.altium.com/documentation/altium-designer/advanced-pcb-component-placement-tools#component-positioning-and-placement-options