Author Topic: Add layer pairs later in a project  (Read 693 times)

0 Members and 1 Guest are viewing this topic.

Offline gandiTopic starter

  • Newbie
  • Posts: 8
  • Country: at
Add layer pairs later in a project
« on: January 24, 2024, 02:57:49 pm »
Hi,

I am currently running into an issue where the project had no layer pairs defined for mechanical layers and has a pretty progressed layout with lots of parts on top and bottom layer.

If we define a layer pair e.g. for Mechanical 15 as part courtyard on top layer and 16 as bottom layer the courtyards for bottom parts stays on layer 15.

Is there a way to select the content of layer 15 for bottom parts and switch them to layer 16?

Thanks, BR Martin
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: us
Re: Add layer pairs later in a project
« Reply #1 on: January 24, 2024, 05:05:11 pm »
If a bottom-side part has its courtyard primitives on layer 15, they will not automatically move to layer 16 when you configure the layer 15/16 pair, because Altium has no real way of knowing that those primitives represent the courtyard or that they should be on the top or bottom until you tell it so.  It would be perfectly valid for a top side part to have a bottomside courtyard, or vice versa, or for a part to have both top and bottom courtyard (imagine something like an edge-mount connector).

Ideally, all of your library components should have a consistent set of layers, and those layers should all be set to the appropriate layer types before you add them to a PCB, and that PCB should also have all of its layers defined to match the parts.  If your project didn't start out that way, then ideally you would correct the PCB layer settings, correct the layers settings in the library parts if necessary, and then update footprints in the PCB from libraries. 

As a quick fix, you can select a component, unlock its primitives in the properties window, change whatever primitives to whatever layer, and then re-lock primitives -- but you will have to do that on each instance of each component, so might not be very 'quick' after all.
 

Offline tszaboo

  • Super Contributor
  • ***
  • Posts: 7391
  • Country: nl
  • Current job: ATEX product design
Re: Add layer pairs later in a project
« Reply #2 on: January 24, 2024, 05:14:41 pm »
You can move it. There is the "PCB list" window in the menu, you can select features based on a criteria, and quickly change it en masse if it's in the edit view.
Or you can rename freely mechanical layers. "Mechanical 15" can easily be renamed to anything. You can also add as many mechanical layers, or regular copper layers later to the design as you want. I think the old limit was 99 layers, maybe it's more now.
 

Offline gandiTopic starter

  • Newbie
  • Posts: 8
  • Country: at
Re: Add layer pairs later in a project
« Reply #3 on: January 24, 2024, 06:49:41 pm »
Is it possible to concat selection queries like: Components on Bottom -> Mechanical M15 elements which are part of these components?
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6389
  • Country: ca
  • Non-expert
Re: Add layer pairs later in a project
« Reply #4 on: January 24, 2024, 10:16:12 pm »
Is it possible to concat selection queries like: Components on Bottom -> Mechanical M15 elements which are part of these components?

You can 'And' queries, or use single layer mode and switch to M15.
https://www.altium.com/documentation/altium-designer/working-with-the-query-language
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline gandiTopic starter

  • Newbie
  • Posts: 8
  • Country: at
Re: Add layer pairs later in a project
« Reply #5 on: January 25, 2024, 07:06:02 am »
But "AND" does not work for that kind of query or proof me wrong.

I want to select all on mechanical layer 15 where the part is on the bottom side of the PCB.

OnBottom AND OnLayer('Mechanical 15') exclude each other.
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: us
Re: Add layer pairs later in a project
« Reply #6 on: January 25, 2024, 04:59:12 pm »
OnBottom AND OnLayer('Mechanical 15') exclude each other.

Yes.  "OnBottom" is basically an alias for "OnLayer('Bottom Layer')", it isn't any kind of special 'component is on the bottom of the board' sort of thing.  So it's only selecting objects that are themselves on the bottom layer, and obviously none of those are on M15.  You would need to filter for items that 1) belong to a component that is on the bottom layer AND 2) are on M15. 

Fortunately you can do that using the implicit component classes available in the PCB: "InComponentClass('Bottom Side Components') AND OnLayer('Mechanical 15')".
 
The following users thanked this post: gandi

Offline gandiTopic starter

  • Newbie
  • Posts: 8
  • Country: at
Re: Add layer pairs later in a project
« Reply #7 on: January 25, 2024, 05:54:03 pm »
OnBottom AND OnLayer('Mechanical 15') exclude each other.

Yes.  "OnBottom" is basically an alias for "OnLayer('Bottom Layer')", it isn't any kind of special 'component is on the bottom of the board' sort of thing.  So it's only selecting objects that are themselves on the bottom layer, and obviously none of those are on M15.  You would need to filter for items that 1) belong to a component that is on the bottom layer AND 2) are on M15. 

Fortunately you can do that using the implicit component classes available in the PCB: "InComponentClass('Bottom Side Components') AND OnLayer('Mechanical 15')".

Thank you so much, exactly what I was looking for.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf