Index: index.html =================================================================== --- index.html (revision 27619) +++ index.html (revision 27620) @@ -52,6 +52,7 @@
@@ -101,12 +102,17 @@ This section is about the syntax used by the exporters export global digest of the board and not layers (e.g. XY).
-For these exporters the above apply with only the file name specified and all -the rest from the '=' (including the '=') omitted. For example the XY exporter -can be used with +For these exporters the above apply with no layergrp specified. In the simplest +for this means the '=' and the rest of the line is omitted. However, if +supplement needs to be passed, the syntax is filename=(supplement). +For example the XY exporter can be used with
--cam foo.xy+or a partial excellon export can be done using: +
+--cam foo.exc=(partial) +
The --cam option in these exporters are implemented for two reasons:
+In partial exporting the rendering code in core will draw only those object +that have the EXPORTSEL flag set. The flag is normally set by a query() action +using an expression. +
+A typical use of this feature is to export plugged/filled vias into a +separate file, assuming the padstacks have a specific attribute set. +
The CAM plugin is a way to manage output "jobs": collections of cam export @@ -170,8 +185,42 @@
cam(call, doc_png)+
+If the command partial appears in the job, a query() is executed +with the expression specified in the command's argument, marking matching +objects with the EXPORTSEL flag. The full command is used to remove +the EXPORTSEL flag from all objects. Note: to export only marked objects, +the write command will typically need the partial supplement. +A typical use case is exporting filled vias in a separate file, using +a custom object attribute called "process": +
+li:pcb-rnd-conf-v1 { + ha:overwrite { + ha:plugins { + ha:cam { + li:jobs { + holes { + desc export all holes in excellon files, sorted by whether they are filled + plugin excellon + partial @.a.process == "filled" + write filled.exc=(partial) + full + partial @.a.process != "filled" + write unfilled.exc=(partial) + full + write all.exc + } + } + } + } + } +} ++Note: the first full command is used to cancel the effect of the first +partial command. Without full, at the second partial +all the "filled" vias would still be marked and unfilled.exc would contain +both filled and unfilled vias. -
When exporting to ps, consider using the --no-show-toc. It is