Add layer pairs later in a project - Page 1
Forum section: electronics / general

author: gandi
author_rank: Newbie
timestamp: January 24, 2024, 02:57:49 pm
content: 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

author: ajb
author_rank: Super Contributor
timestamp: January 24, 2024, 05:05:11 pm
content: 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 typesbeforeyou 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.

author: tszaboo
author_rank: Super Contributor
timestamp: January 24, 2024, 05:14:41 pm
content: 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.

author: gandi
author_rank: Newbie
timestamp: January 24, 2024, 06:49:41 pm
content: Is it possible to concat selection queries like: Components on Bottom -> Mechanical M15 elements which are part of these components?

author: thm_w
author_rank: Super Contributor
timestamp: January 24, 2024, 10:16:12 pm
content: Quote from: gandi on January 24, 2024, 06:49:41 pmYou can 'And' queries, or use single layer mode and switch to M15.https://www.altium.com/documentation/altium-designer/working-with-the-query-language

author: gandi
author_rank: Newbie
timestamp: January 25, 2024, 07:06:02 am
content: 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.

author: ajb
author_rank: Super Contributor
timestamp: January 25, 2024, 04:59:12 pm
content: Quote from: gandi on January 25, 2024, 07:06:02 amYes. "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 componentthat 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')".

author: gandi
author_rank: Newbie
timestamp: January 25, 2024, 05:54:03 pm
content: Quote from: ajb on January 25, 2024, 04:59:12 pmThank you so much, exactly what I was looking for.