element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Altium CircuitStudio
  • Products
  • Manufacturers
  • Altium CircuitStudio
  • More
  • Cancel
Altium CircuitStudio
Altium CircuitStudio Forum How to make a component keepout that allows tracks?
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Altium CircuitStudio to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Locked Locked
  • Replies 6 replies
  • Subscribers 90 subscribers
  • Views 2243 views
  • Users 0 members are here
  • clearance rule
Related
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to make a component keepout that allows tracks?

bigbaldjohn
bigbaldjohn over 5 years ago

Hi,

I'm using CS 1.5.2.

I'm designing a PCB for a housing that has support pillars placed all over the PCB and need to be sure I don't place components in these areas. Tracks are OK.

If I put the contact areas onto the keep-out layer I can't put tracks there, which is not what I want.

I've tried putting a Fill onto Mechanical 15 layer (Courtyard Top), which is OK for eyeballing but I don't get a clearance violation in DRC.

I've added the following Clearance rule but it didn't help:

SELECTION=FALSE|LAYER=TOP|LOCKED=FALSE|POLYGONOUTLINE=FALSE|USERROUTED=TRUE|UNIONINDEX=0|UNIQUEID=RIRCENJA|

RULEKIND=ComponentClearance|NETSCOPE=AnyNet|LAYERKIND=SameLayer|

SCOPE1EXPRESSION=(OnLayer('Mechanical 15') OR OnLayer('Courtyard Top'))|

SCOPE2EXPRESSION=All|

NAME=ComponentClearance_Courtyard|

ENABLED=TRUE|PRIORITY=2|COMMENT= |DEFINEDBYLOGICALDOCUMENT=FALSE|

GAP=0mil|

COLLISIONCHECKMODE=3|VERTICALGAP=0mil|SHOWDISTANCES=FALSE¶

(all one line in the .RUL file)

 

What am I doing wrong please?

 

Cheers

John

  • Cancel

Top Replies

  • tarribred61
    tarribred61 over 5 years ago in reply to frog +1
    Yes, that is what I was trying to say but perhaps unclearly. What I was suggesting further is that the pillar component could be put into a newly added component class and then a separate clearance rule…
  • tarribred61
    0 tarribred61 over 5 years ago

    It is a good question and it has come up before in the forum.  I found that if you use the rule wizard you can start to define a rule based on a selection of a named polygon.  However, if you try that the rule ends up showing as 'all'.  If you export the rule and look at the text in a text editor you will see the text SCOPE1EXPRESSION=(InNamedPolygon('MyNamedPolygon')  but it does not appear to be recognized in CircuitStudio.

     

    I have worked around this by placing 3D bodies where I want height restrictions.  You can define simple 3D bodies and place them as free models.

     

    Expanded rule capabilities are something CS badly needs to be a professional tool.

     

    Perhaps someone else has a solution?

     

    [I think in AD this is done by defining rules based on rooms that you place]

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tarribred61
    0 tarribred61 over 5 years ago in reply to tarribred61

    I tested this a bit more and found that the component clearance rule works sort of.  You can set one criteria to be a component class (for example top side components) and then the second criteria could be all.  Then any 3D body you bring within the horizontal or vertical clearance zone would cause a violation.  What this lacks is ability to define a zone to apply the rule.

     

    You can, perhaps, make that zone by making a section of the pillar as a mechanical component with a 3D body that you place on the PCB at the location you want to keep things out of.  Then the normal component clearance rule should work.

     

    If you need to, you might add a new component class that contains the mechanical component and then you could base a rule off that component class.  Then you could have special clearance rules that differ from the normal clearance cases.

     

    If you put the mechanical part on the PCB but not on the schematic, when you update the PCB it will likely want to remove the part on the PCB.  You can put a corresponding part on the schematic.  Its schematic symbol might just be a text box or something simple and the schematic part would call out a PCB footprint.  That footprint would have the 3D body (or enough of it to act as the keep out zone).

     

    This is then just like putting any other part on your board that you can route under.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bigbaldjohn
    0 bigbaldjohn over 5 years ago in reply to tarribred61

    Wow, thank you Thomas. I appreciate you spending the time, I'll experiment along the same lines.

     

    But what a faff for something that must be a fairly common requirement. Pity Altium aren't listening...

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • frog
    0 frog over 5 years ago

    An alternative approach, which I've used to good effect, is to create a step file representing the pillars and use it to create a component that can then be placed on the PCB.  I don't know whether that will do exactly what you want, but it will give a design rule error if any components collide with the pillars.  This has the potential advantage that it works in 3D rather than assuming that obstacles are projections of 2D shapes.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tarribred61
    0 tarribred61 over 5 years ago in reply to frog

    Yes, that is what I was trying to say but perhaps unclearly.  What I was suggesting further is that the pillar component could be put into a newly added component class and then a separate clearance rule can be based on the pillar's component class.  This would allow some expanded clearance to account for mechanical alignments.  Another way would be to make the shape of the step model slightly larger than the actual pillar diameter so as to account for the extra space that might be needed when fitting the PCB to the pillars.  The amount of extra room needed might perhaps depend on whether there is fastening screw, expansion/contraction, mechanical tolerance on the parts, etc. 

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • frog
    0 frog over 5 years ago in reply to tarribred61

    Or perhaps entirely clearly - it was late last night and I may not have given your response the attentiveness that it deserves :-)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube