Author Topic: How to prevent silkscreen from overlapping during panelization?  (Read 10366 times)

0 Members and 1 Guest are viewing this topic.

Offline mrflibbleTopic starter

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
I'm trying to do some panelization using an Embedded Board Array, and that is working nicely except for one thing.

There's an angled 5x2 header on the original PCB, and as such the silkscreen for the pins go outside of the board outline. Now for the single PCB that's no real issue. Just define the board outline, toss gerbers over the wall and problem solved. But as you can see in the attached screenshot the silkscreen from the angled connector is showing up on the neighbouring pcb in the array.

Is there any systematic solution for this? I tried messing with polygons on keep-out layer but no luck. As a last resort I could change the header to a straight header, but that's a bit annoying and would mess up the BOM as well. Another way that would not involve messing up the BOM would be unlock the silkscreen primitives and delete the overlapping lines. So there are some workarounds, but what is the correct and clean way to solve this?

Any ideas?
 

Offline marshallh

  • Supporter
  • ****
  • Posts: 1462
  • Country: us
    • retroactive
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #1 on: April 10, 2013, 12:01:03 am »
Click on the footprint > PCB Inspector window > Uncheck 'Lock Primitives' > Delete/shorten silkscreen to your heart's desire
Verilog tips
BGA soldering intro

11:37 <@ktemkin> c4757p: marshall has transcended communications media
11:37 <@ktemkin> He speaks protocols directly.
 

Offline mrflibbleTopic starter

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #2 on: April 10, 2013, 12:15:30 am »
Thanks, but ... as per the OP:

... Another way that would not involve messing up the BOM would be unlock the silkscreen primitives and delete the overlapping lines. So there are some workarounds, but what is the correct and clean way to solve this?

And in the meantime I did just that, see attached. But preferably I'd have some way to only have it copy stuff that falls inside of the board shape of the original pcb, or some clever keep-out thingy.
 

Offline David_AVD

  • Super Contributor
  • ***
  • Posts: 2862
  • Country: au
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #3 on: April 10, 2013, 12:16:08 am »
I usually explode the offending component (tvc) and delete the bits I don't want.  I do save that version of the file separately with _tvc appended to the file name so I know it's not the original one.

I'd love to see a tool  that just limits the silkscreen to the defined edges.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #4 on: April 10, 2013, 01:23:50 am »
I think I'd just take the pin drawing out of the silkscreen permanently. What's the point of it? Perhaps move it to a different layer that doesn't actually print on the board, if you just want it for dimension when placing the part, but there's really no reason to illustrate the pins.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline mrflibbleTopic starter

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #5 on: April 10, 2013, 01:36:24 am »
For this particular case I would tend to agree. But I meant the question in a more general sense.

Essentially: "How do I put a bounding box on what shall and what shall not be imported onto the embedded board array?"
 

Offline Jon Chandler

  • Frequent Contributor
  • **
  • Posts: 539
    • Throw Away PIC
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #6 on: April 10, 2013, 03:07:32 am »
Using Eagle, I draw the part of the silk screen extending off the board on the TDOC layer.  Then it's visible for positioning or documentation, but not included in the Gerber silkscreen layer.
 

Offline David_AVD

  • Super Contributor
  • ***
  • Posts: 2862
  • Country: au
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #7 on: April 10, 2013, 03:50:24 am »
It's not always straightforward though.  The same footprint can be positioned a different distance from the board edge depending on the application, so drawing part of it on another layer doesn't help in that case.
 

Offline mrflibbleTopic starter

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #8 on: April 10, 2013, 03:08:05 pm »
Right, sorted. I just hate playing a component-unlock-exploding-selecting-pointy-clickey monkey doing busy work. I prefer to let that happen to other people. :P

PCB Filter: InComponent('*') AND IsTrack AND (OnLayer('Top Overlay') OR OnLayer('Bottom Overlay')) AND ((X1 < 0.0) OR (X2 < 0.0) OR (Y1 < 0.0) OR (Y2 < 0.0)   OR   (X1 > 50.0) OR (X2 > 50.0) OR (Y1 > 50.0) OR (Y2 > 50.0))

PCB Inspector: [ x ] Keepout ... Width: 0mm

Result: see attached. No need to unlock components and select & edit, and it works for multiple offending components in one single action. The reason for setting width to 0 and enabling Keepout? Setting line width to 0 serves as a visual cue that makes it easy to spot this line is handled differently. And the keepout makes sure it doesn't show up on the gerbers. You can also do either 0 width OR Keepout and get workable gerbers. But this combo both keeps the lines out of the gerber while still making it easy to keep track of the design intent.

Still room for improvement ... main refinement would be a better query for selection. It's a bit verbose because I currently don't know a cleaner query syntax to check for ranges. And possibly an InLayerClass or something. :P It'll get tweaked as I go along and learn more about this Altium thingy, but this'll do for now.
 

Offline mrflibbleTopic starter

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #9 on: April 10, 2013, 06:35:15 pm »
And for future victims ... easier syntax to select those offending silkscreen tracks:

Create a room that overlaps the board shape. You only need a rectangle anyways since this is for an embedded board array.

PCB Filter: InAnyComponent && IsTrack && OnSilkscreen && NOT WithinRoom('WTFROOM')

That selects all those silkscreen tracks that fall outside of the board area, either entirely or partially. And then same as above. PCB Inspector: Enable Keepout, 0 width. Done. I wanted to learn how to use rooms & regions anyways, so this was the perfect excuse. :P
 

Offline David_AVD

  • Super Contributor
  • ***
  • Posts: 2862
  • Country: au
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #10 on: April 10, 2013, 09:40:04 pm »
It's a shame that method removes the whole line(s) that extend outside the area instead of truncating them.  With the (more involved) exploding method I end up with the truncating effect.  Much more work of course and you end up with a separate file.
 

Offline mrflibbleTopic starter

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #11 on: April 10, 2013, 10:15:36 pm »
That is indeed the limitation of this method. Your edit method will result in a silkscreen that looks nicer. But personally I don't want to spend the time on something like that. If it can be scripted maybe, but I'm not going to edit it by hand. I've experimented a bit with rooms/regions/keepouts to get some sort of masking effect, but no luck.
 

Offline davide6893

  • Newbie
  • Posts: 8
  • Country: it
Re: How to prevent silkscreen from overlapping during panelization?
« Reply #12 on: May 25, 2020, 11:28:57 am »
I too have the same problem. Do you know if any new features have been introduced in AD20 to do this? I would not want to make heavy changes on the single pcb, because I would also like to use it for other purposes and I am sorry to work on a duplicate, because if I have to make changes then they will not be synchronized on the copy, but I would like to work at the panel level. Thanks
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf