| FORUM

FEDEVEL
Platform forum

USE DISCOUNT CODE
EXPERT30
TO SAVE $30 USD

Collision < 0.2 mm after defining exception rule for feducial and user button

simeon , 11-29-2024, 02:43 AM
Hey. My user button and feducial are on top of each other and I have defined a rule for them to have 0 mm clearance as was shown in the video. The problem is that it is still showing that there is a collision between them for some reason.

What I have already done: Defined the exception rule for userbutton-feducial and made it the highest priority, still no luck..

any help would be appriacted, thanks in advance!
QDrives , 11-29-2024, 02:58 PM
And the exact error message is?
I usually create a component class for this.
simeon , 11-29-2024, 03:09 PM
these are the errors. (1st one is the one I asked about here, but the others are the same but different components)
I don't know how to do that, so just grouping components together as a class will fix it? I was just following the 'learn to design your own board' course
QDrives , 11-29-2024, 03:23 PM
You might also need to check the "Do not check components with 3D body" checkbox.
QDrives , 11-29-2024, 03:26 PM
The component class is more to keep general rules.
Use Design / classes to create a new component class and add components to it.
simeon , 11-29-2024, 04:12 PM
Amazing! that's solved it.. 'do not check components with 3d body'. Thanks a lot for the help!
simeon , 11-29-2024, 04:13 PM
One question however, so for these kinds of situations you just create a component class and then there's no need to define exception rules?
simeon , 11-29-2024, 04:21 PM
Unfortunately, for the MCU and IC socket, it didn't solve it. I created a component class as well, but that didn't fix it
simeon , 11-29-2024, 04:21 PM
QDrives , 11-29-2024, 07:38 PM
You create a rule that has the component class as criteria.
Then you add components to that class.
As mentioned, this allows you to re-use the rules.
And it is easier to add component to that class:
1) just select the components in the layout.
2) Go to Design / Classes
3) Select the component class
4) Click the add selected component button (screenshot).
simeon , 11-29-2024, 10:34 PM
Hey, yes yes I got that, thank you. The problem is, I don't understand how I can actually create a rule for the class at this point. Shall we say I tried a couple of options for rules (such as the one shown in the picture for example) but the collision doesn't go away
QDrives , 11-30-2024, 03:57 PM
simeon , 11-30-2024, 06:04 PM
I did exactly that, and it worked for all other collisions except for the socket and the MCU :/
In the pictures you can see what I have done.
QDrives , 11-30-2024, 08:08 PM
And the error message states "SCKT FOR U1" and "U1"?
simeon , 12-17-2024, 05:04 PM
Apologies for the inactivity. Was quite busy the last couple of weeks. But yep... very odd, but it does
simeon , 12-17-2024, 05:04 PM
simeon , 12-17-2024, 05:10 PM
@QDrives I will send you the project in a minute if that makes it easier
simeon , 12-17-2024, 05:10 PM
https://we.tl/t-4VuxDABlD6
QDrives , 12-17-2024, 08:10 PM
Ok. I have Altium 25.0.2 and 23.11.1 on my system.
With AD25.0 I too get errors.
QDrives , 12-17-2024, 08:11 PM
With AD23.11 I do not.
So it seems they have changed something in Altium that causes this error.
Alternatively, you make a rule to exclude all collision components and only check the others.
simeon , 12-17-2024, 08:25 PM
Interesting. Thanks a lot for the confirmation!
simeon , 12-17-2024, 08:25 PM
how do I do that. I couldn't seem to find such a rule. Is that a component clearance rule or something else?
QDrives , 12-17-2024, 08:27 PM
You need just one rule. And a component class.
QDrives , 12-17-2024, 08:28 PM
And by the way, if you want to be able to assemble this board without a lot of work, you want to change you solder mask expansion rule too.
Tenting the pads does not work very well getting the parts soldered.
QDrives , 12-17-2024, 08:30 PM
Coming back to the collisions...
I disabled all the other (collision) rules.
For R27 and R28 it would be perhaps better to also have a variant.
simeon , 12-17-2024, 08:50 PM
Thanks for the ideas. I created a PIC18F pcb design last week where I used the same trick so I'll be adjusting that. I am following RF's coures btw, and that's how he does it. Actually, now that I come to think of it... That's the idea he uses. He defines variants in the schematics (5V fixed(0 ohms res), 5V/3V3 with jumper, and fixed 3V3 (other 0ohms res). In the version I uploaded, those weren't added yet if I'm not mistaken. as I'm close to finishing the course, I just created the variants last video

About the solder mask expansion, that is how Robert had defined them in the course. **This was so that the via's were tented by rule. but from what I see, all pins are tended as they - values for solder mask expansion! ...**

Thanks for the help as well! You're a genius... Interesting how this type of rule does work compared to the 0mm clearance. For the collision class, I assume you disabled all the other collision rules but added them to the Collisions class?
QDrives , 12-17-2024, 08:53 PM
"*This was so that the via's were tented by rule*" -- But he probably has "IsVia" as a criteria.
QDrives , 12-17-2024, 08:54 PM
simeon , 12-17-2024, 08:54 PM
Yep *but from what I see, all pins are tended as they - values for solder mask expansion! ...*

I was about to look for it, but yep, undoubtebly my mistake 100%
Thanks for the catch!

Would've been quite frustrating to solder had the boards arrived that way😅
QDrives , 12-17-2024, 08:55 PM
Look in 3D, that is what caught my attention.
QDrives , 12-17-2024, 08:56 PM
The rest of the rules -- disabled.
simeon , 12-17-2024, 09:00 PM
I'll start working with classes. Definitely seems to be more convenient
simeon , 12-17-2024, 09:00 PM
How do you typically verify/check your final PCB design for such mistakes before manufacturing?
simeon , 12-17-2024, 09:03 PM
(In case you didn't spot it during the review of your design rules)
QDrives , 12-17-2024, 09:08 PM
It is 25 years of experience mostly.
Sure there are some 'standard' checks you can do, but I kind of find checklists to 'limiting'.

I posted this simple list on LinkedIn recently:
There are a number of errors that can cause a design failure:
1) Wrong footprint. Usually between BOM and PCB
2) Pin assignment wrong - swapping pin number/function.
3) Wrong part variant. Like Reverse pin-out of op-amp.
4) Forgotten pull-up/down, base resistor, decoupling cap, etc.
5) Peripheral to pin assignment.
6) Overloading of components
7) Component (space) clearance. Do dot forget contra connector!
8) DfM, DfA, DfT, etc. Thermal relief, via in pad, etc.
9) Functionality (interpretation).
10) Components or circuits not behaving as expected in certain conditions

Points 1 to 9 can be solved checking datasheets. Checking 1 to 7 is (relative) easy/quick.
If you know such simple list, you can use it as checklist.
QDrives , 12-17-2024, 09:10 PM
That is why I am so much in favor of having standard good rules that you re-use.
Using (component) classes helps with that. The class is project specific. You might even drive if from the schematic.
simeon , 12-18-2024, 03:16 PM
@QDrives Thanks a lot for this list! I have definitely come across a couple of the list already. To be fair, that is why, when creating the reference schematic, I go through all nets and check them out one by one and also verify the circuits themselves and res. and cap. values on the reference schematic. As for the pinouts, I double check them during component creation and at the end of designing the reference schematic.

All in all, I think most of the things you describe, are checks I incorporate whilst designing.
simeon , 12-18-2024, 03:19 PM
Yep! that is what I realize now... I can see their usefulness for creating rules such as the one above. I guess I will be setting up a class-based rules template soon and tune it further on the fly as I get more experience
QDrives , 12-18-2024, 03:58 PM
The list is overly simplified, but was a reaction to somebody that had to rewire a component.
The last time I had to do such a thing was 10 years ago and caused by point 5. Nowadays I check the 'software' part more before finishing the hardware.
Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?