I’ve been attempting to set up the creepage custom design rule. The only current information I can find on it is in the v9 announcement, and then just a couple of lines in the documentation which are less helpful than the code snippet from the announcement. Here’s what I’ve got so far, which is basically just the example duplicated and using what I think should be the correct values swapped in:
(version 1)
(rule HV_HV
(constraint creepage (min 2.50mm))
(condition "A.hasNetclass('HVHPT') && B.hasNetclass('HVLPT')")
)
(rule HV_HV
(constraint creepage (min 2.50mm))
(condition "A.hasNetclass('HVH1') && B.hasNetclass('HVLPT')")
)
(rule HV_HV
(constraint creepage (min 220.50mm))
(condition "A.hasNetclass('HVH1') && B.hasNetclass('HVHPT')")
)
(rule HV_HV
(constraint creepage (min 2.50mm))
(condition "A.hasNetclass('HVH2') && B.hasNetclass('HVLPT')")
)
(rule HV_HV
(constraint creepage (min 2.50mm))
(condition "A.hasNetclass('HVH2') && B.hasNetclass('HVHPT')")
)
I’ll explain what I’m doing, and I hope someone can tell me where I’m going wrong.
(rule HV_HV // no change needed here I guess
(constraint creepage (min 2.50mm)) // minimum creepage distance desired
(condition "A.hasNetclass('HVH2') && B.hasNetclass('HVHPT')") // "A" is the first net I want to compare against, "B" is the second.
)
I am assuming that I can only compare 2 nets, since there are only two nets included in the example, and though I would also imagine that you could have the HV net compared against every other net, I don’t see any evidence for that. What I do see is that even if I crank the creepage distance up to 220mm, I get no hits on my DRC. The clearance distance on my pins throws errors, but I didn’t get anything on the creepage rules. I read the feature requests which date back 5 years or more, and followed the discussion to the current feature update, but other than finding out that I probably had to move my slots to the edge.cuts layer, I’m still not sure what’s going wrong. I suspect my slots might not be up to snuff. I’m using thick line segments to indicate the slots. I set the thickness to 2mm to accommodate a 2mm endmill, and in the past PCBWay has used those to make the slots I need. I didn’t put them on edge.cuts in the past because it interferes with the 3D view of the board shape.
If I need different edge.cut shapes, which shapes do I need to use? I don’t mind a little work remaking things in a way that I can DRC creepage, but I just don’t really know how to get this to work yet. If someone can help me figure it out faster than I can do it alone, I’d appreciate it. Either way I’m willing to update the documentation with an excruciatingly detailed explanation.
Thanks to any help in advance.