Author Topic: Stupid Altium question  (Read 2453 times)

0 Members and 1 Guest are viewing this topic.

Offline FotatoPotatoTopic starter

  • Regular Contributor
  • *
  • Posts: 126
  • Country: us
  • It's probably in reverse...
Stupid Altium question
« on: October 03, 2018, 01:43:25 am »
Hey all,

So I just switched from 6 years of Eagle to Altium designer and it has been quite the experience so far... While I do like altium there are some things that just piss me off royally  |O

Anyway, I'm working on a power supply layout and I was wondering if anyone knows how to assign relief connections to specific polygons and specific parts but not others. If you look at the attached picture, I don't want any reliefs on the GND pad of the IC but I do want them on all of the MISC components around it. I also don't want reliefs on the big connection coming in from the right corner. Lastly I did set my clearance to 50mil on all polygons the Design Rules but it seems to have changed nothing and as you can see the distance between the two planes is really small.

Thanks for the help :)
 

Online ajb

  • Super Contributor
  • ***
  • Posts: 2601
  • Country: us
Re: Stupid Altium question
« Reply #1 on: October 03, 2018, 03:54:27 am »
Your polygon clearances may not have updated because you haven't repoured your polygons.  Hit T,G,A to repour all and that should take into account the new rule.

Polygon connect styles are defined by design rules.  Design Rules->Plane connect->Polygon Connect Style.  You can define multiple polygon rules based on different conditions, and assign them to different priority levels so that the different rules get applied correctly.

You can define design rules based on filter queries, so there are several ways to get the selective direct connect you want.  You could make all of your topside polygons direct connect by using OnLayer('Component Side'), or you could select all of the pads in certain components by using InComponent('foo') or InComponentClass('bar').  (Component classes have a big downside in that AFAIK there's no reliable, durable way to assign arbitrary component classes.  You can assign them in the PCB, but this won't survive a sch->pcb update.)  You can use InRegion() to select a certain area of the board, or you can also use pad classes.  My personal preference is to use polygon classes.  I find this to be the easiest to manage, and selecting the connect style polygon-by-polygon is usually what I want anyway.

The only downside to this method is that polygon classes can only be managed from the class explorer (D,C), and the only thing you can see there is the name of the polygon, which isn't super helpful if you use autonames.  So it's a good idea to give the polygons you want to connect directly distinct names when you create them so that you can find them in the class explorer--perhaps give them all a suffix of "_DC".  If I want some parts of a polygon to connect directly and other parts to be relieved, I usually just draw two polygons and overlap them. 

I general have, in ascending order of priority, I have the following rules:
- All: Relief connect
- IsVia: Direct connect
- InPolygonClass('DirectConnect')

Speaking of polygons, since you're new to Altium, you'll want to know about the polygon manager (T,G,M), which is where you assign the pour order for polygons, and temporarily turn polygons off and on.  That gets really important when you have boards with lots of polygons.
 
The following users thanked this post: Miyamoto

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8517
  • Country: us
    • SiliconValleyGarage
Re: Stupid Altium question
« Reply #2 on: October 11, 2018, 04:09:48 pm »
you need to write custom rules for that.
incomponent ('U17') and net('GND') and padxsize ...... do this .
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf