Hi Mario,
Here are my answers:
"As far as I understood, I only need ODB++ files, so I can erase all other "families" like Gerber, Drill. Assembly, drawings and legacy. Is this right?" - yes this is true you can remove all the other outputs because ODB++ includes all necessary image, drill and rout information. You can also customize the default configuration with layers that are not present by default (e.g.: milling).
"Then I think I don't need to send layer comp_+top to pcb manfacturer, right? So I should erase it, but if I do so, I will get a yellow triangle signing something is wrong, so what should I do?" - you should not remove either of the comp_+_top and comp+_+bot layers but instead turn off the "Export EDA data (eda/data)" option from the ODB++ Options page. If you don't want to send the components then none of the EDA data will be generated (only Gerber, Drill and Rout information will be generated). This is the way the ODB++ format works you cannot remove the components only because they are linked to the eda/data as well as the netlist.
"The rest of odb layers I understand, except prepeg_+top. What is it? Why top layer is selected? What kind of info is sent to manufacturer from this layer?" - The layers between the signal (copper) layers are dielectric layers either Core or Prepreg they are taken from the board layer stack-up (drc command). In this case it is the core dielectric laminate on which the top copper layer sits. We only export the attributes below that ODB++ format supports for these layers and no image data because none exists:
- .layer_dielectric - dielectric layer thickness as defined in the Layer Stackup;
- .dielectric_constant - dielectric constant, we use a default value at the moment because we don't have real support at the moment;
- .loss_tangent - dielectric loss tangent (dissipation factor), default value as well.
The dielectric layers information is used by 3rd party tools that use ODB++ for other purposes then fabrication (e.g.: electromagnetic simulation or signal integrity, etc.).
"I need also to add a router + milling layer (I don't see where that info is sent from standard structure), but how do I do it? The layer "rout" doesn't have any pcb layer to select, doesn't allow to select a type, and I don't use pcb layer 20 to define outline... So, please help me how to configure it." - the rout layer contains all the defined board cut-outs and it is auto generated from the board shape. For now you can add another layer called milling_+_routing to the ODB++ configuration, please see the attached picture: Add-Milling-Layer2ODB-Configuration.png. Similarly you can add any image layers you need and are not present in the default ODB++ configuration. The only thing to keep in mind is that at the moment the Drill and Rout layers are auto-generated from the drill and rout information available in the design and they cannot be customized.
"As far as I understood, I can copy a layer (for instance solder-mask+top), change the name for "milling+routing" but then which is the right option on "Type" tab?
I don't have any option for milling. I have it for router but in that case I'm not able to select any pcb layer.... so what do I do?" - yes this is the way to go the only valid Type that you can use is Document because as I mentioned the rout and drill layers are auto-generated and there is no milling type in ODB++.
I realize that this is a restriction that I haven't thought about and I'll look into relaxing it in a future update. For now you can go with the Document type and let the FAB House know that these are the milling/rout features so they can convert them to rout program.
Please let me know if you have any other questions and I'd try to help.
Kind Regards,
Constantin Popescu
Constantin Popescu
Principal Software Engineer