1
\$\begingroup\$

I have a problem with Altium, and unfortunately, I don't even know how to google this one.

I have a board (Switch board) that is connected to another board (User interface board) via a board-to-board connector. These two boards are additionally fixed using PCB spacers. Footprint of the Switch board looks like this:

enter image description here

This footprint is used (placed) on the User interface board, and the problem is that Altium sees this component (Switch board) as a rectangle, and it doesn't allow me to place anything below it (on User interface board). To be more specific, I can't place anything on the User interface board that is within the red rectangle:

enter image description here

However, the only place that is occupied by this component (Switch board) is the connector and the two holes for PCB spacers. How can I fix this?

Thank you in advance!

\$\endgroup\$
  • 1
    \$\begingroup\$ Does Altium actually prevent you from placing components under the top board, or does it just give an error or warning? If it just gives an error message, you can probably ignore it - DRC errors will not prevent the program from producing the Gerber and drill files needed to make the board. \$\endgroup\$ – Peter Bennett Oct 29 '16 at 16:33
2
\$\begingroup\$

You can create a 3D body for the PCB, and Altium will then detect collisions based on that information.

\$\endgroup\$
  • \$\begingroup\$ Can I define a hole (for a PCB spacer) as a 3D object? I don't want this "artificial" 3D object interfere with other objects on my board in any way. \$\endgroup\$ – Marko Gulin Oct 29 '16 at 14:30
  • \$\begingroup\$ You could define the spacers and PCB as a 3D body using a .STP file. Then Altium will look at (real) interference. It's not intended to be artificial- it's the actual 3D model of the PCB and spacers, so if it intersects a part in 3D space there will be a collision. \$\endgroup\$ – Spehro Pefhany Oct 29 '16 at 14:47
  • \$\begingroup\$ First I created some unrelated 3D object, to avoid the problem. That is why I said "artificial 3D object". Your answer have helped me, thank you! \$\endgroup\$ – Marko Gulin Oct 29 '16 at 16:50
2
\$\begingroup\$

A top tip if I may, Altium can export a step model of a board including any 3D bodies you have defined.

Do this for one board and create a component with that model as the 3D body, use this on the other board with a suitable offset to match the board to board spacing.

Finally create a rule to allow the connector on the board to collide with the component you have created.

This makes checking for a clash in 3D space very easy, and means you can export a 3D model of the complete assembly for the mechanical guys trivially.

This is especially useful when you have two boards with tight spacing and components on both sides as it allows the DRC to check that for example C23 on the top of board 1 does not collide with U2 on the bottom of board two.

\$\endgroup\$
1
\$\begingroup\$

They're two separate boards, right? You can hold one in each hand? And it's only when they're in use that you'll be placing one on the other? Then don't confuse yourself or Altium, and keep them as two separate boards, beside or above/below each other, and avoid the whole problem.

You could define a "component" which represents the holes, connectors and dimensions and include the same component on both boards. That would ensure a common scale

\$\endgroup\$
  • \$\begingroup\$ Thank you for your answer. They're two separate boards, I can hold one in each hand. The Switch board has a bunch of components, and I didn't include them in the footprint. As you can see, only board-to-board connector and spacer holes are in the "Switch board" footprint. I know that I can add separately the board-to-board connector (as one footprint), and separately the two holes, but in that case, every time I need to include a switch board on a user interface board, I need to calculate where to position the holes with respect to the connector. However, I didn't understand your solution. \$\endgroup\$ – Marko Gulin Oct 29 '16 at 14:35
  • \$\begingroup\$ In the question you have two (I assume) identical layouts. Why can't you create a single (large) pseudo-component that defines the relationship between the mounting holes and the connector, and then include that component into whichever board needs it? \$\endgroup\$ – John Burger Oct 30 '16 at 9:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.