[SCH_Print] Added PS, DXF and HPGL formats
This commit is contained in:
parent
0f5ada05ee
commit
f8eb021098
|
|
@ -10,8 +10,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- Support for `groups` of `outputs`
|
||||
- Internal templates import
|
||||
- Better support for wrong pre-flight options (#360)
|
||||
- New output:
|
||||
- New outputs:
|
||||
- `vrml` export the 3D model in Virtual Reality Modeling Language (#349)
|
||||
- `ps_sch_print`, `dxf_sch_print` and `hpgl_sch_print` variants of
|
||||
`pdf_sch_print`
|
||||
- New internal filters:
|
||||
- `_only_smd` used to get only SMD parts
|
||||
- `_only_tht` used to get only THT parts
|
||||
|
|
|
|||
130
README.md
130
README.md
|
|
@ -140,8 +140,8 @@ Notes:
|
|||
[**Requests**](https://pypi.org/project/Requests/) [](https://pypi.org/project/Requests/) [](https://pypi.org/project/Requests/) [](https://packages.debian.org/bullseye/python3-requests)
|
||||
- Mandatory
|
||||
|
||||
[**KiCad Automation tools**](https://github.com/INTI-CMNB/KiAuto) v2.1.0 [](https://github.com/INTI-CMNB/KiAuto) 
|
||||
- Mandatory for: `gencad`, `netlist`, `pdf_pcb_print`, `pdf_sch_print`, `render_3d`, `run_drc`, `run_erc`, `step`, `svg_pcb_print`, `svg_sch_print`, `update_xml`, `vrml`
|
||||
[**KiCad Automation tools**](https://github.com/INTI-CMNB/KiAuto) v2.1.1 [](https://github.com/INTI-CMNB/KiAuto) 
|
||||
- Mandatory for: `dxf_sch_print`, `gencad`, `hpgl_sch_print`, `netlist`, `pdf_pcb_print`, `pdf_sch_print`, `ps_sch_print`, `render_3d`, `run_drc`, `run_erc`, `step`, `svg_pcb_print`, `svg_sch_print`, `update_xml`, `vrml`
|
||||
- Optional to:
|
||||
- Compare schematics for `diff` (v2.0.0)
|
||||
- Show KiAuto installation information for `info` (v2.0.0)
|
||||
|
|
@ -1374,6 +1374,9 @@ The available values for *type* are:
|
|||
- Documentation
|
||||
- `pdf_sch_print` schematic in PDF format
|
||||
- `svg_sch_print` schematic in SVG format
|
||||
- `ps_sch_print` schematic in PS format
|
||||
- `dxf_sch_print` schematic in DXF format
|
||||
- `hpgl_sch_print` schematic in HPGL format
|
||||
- `pdf_pcb_print` PDF file containing one or more layer and the page frame
|
||||
- `svg_pcb_print` SVG file containing one or more layer and the page frame
|
||||
- `pcb_print` PDF/SVG/PNG/EPS/PS, similar to `pdf_pcb_print` and `svg_pcb_print`, with more flexibility
|
||||
|
|
@ -2082,6 +2085,43 @@ Notes:
|
|||
Internally we use 10 for low priority, 90 for high priority and 50 for most outputs.
|
||||
- `run_by_default`: [boolean=true] When enabled this output will be created when no specific outputs are requested.
|
||||
|
||||
* DXF Schematic Print (Drawing Exchange Format)
|
||||
* Type: `dxf_sch_print`
|
||||
* Description: Exports the schematic to a format commonly used for CAD software.
|
||||
This output is what you get from the 'File/Plot' menu in eeschema.
|
||||
* Valid keys:
|
||||
- **`comment`**: [string=''] A comment for documentation purposes. It helps to identify the output.
|
||||
- **`dir`**: [string='./'] Output directory for the generated files.
|
||||
If it starts with `+` the rest is concatenated to the default dir.
|
||||
- **`name`**: [string=''] Used to identify this particular output definition.
|
||||
Avoid using `_` as first character. These names are reserved for KiBot.
|
||||
- **`options`**: [dict] Options for the `dxf_sch_print` output.
|
||||
* Valid keys:
|
||||
- **`frame`**: [boolean=true] Include the frame and title block.
|
||||
- `all_pages`: [boolean=true] Generate with all hierarchical sheets.
|
||||
- `background_color`: [boolean=false] Use the background color from the `color_theme` (KiCad 6).
|
||||
- `color_theme`: [string=''] Color theme used, this must exist in the KiCad config (KiCad 6).
|
||||
- `dnf_filter`: [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
A short-cut to use for simple cases where a variant is an overkill.
|
||||
- `monochrome`: [boolean=false] Generate a monochromatic output.
|
||||
- `output`: [string='%f-%i%I%v.%x'] Filename for the output DXF (%i=schematic, %x=dxf). Affected by global options.
|
||||
- `pre_transform`: [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
||||
A short-cut to use for simple cases where a variant is an overkill.
|
||||
- `variant`: [string=''] Board variant to apply.
|
||||
Not fitted components are crossed.
|
||||
- `category`: [string|list(string)=''] The category for this output. If not specified an internally defined category is used.
|
||||
Categories looks like file system paths, i.e. **PCB/fabrication/gerber**.
|
||||
The categories are currently used for `navigate_results`.
|
||||
- `disable_run_by_default`: [string|boolean] Use it to disable the `run_by_default` status of other output.
|
||||
Useful when this output extends another and you don't want to generate the original.
|
||||
Use the boolean true value to disable the output you are extending.
|
||||
- `extends`: [string=''] Copy the `options` section from the indicated output.
|
||||
Used to inherit options from another output of the same type.
|
||||
- `output_id`: [string=''] Text to use for the %I expansion content. To differentiate variations of this output.
|
||||
- `priority`: [number=50] [0,100] Priority for this output. High priority outputs are created first.
|
||||
Internally we use 10 for low priority, 90 for high priority and 50 for most outputs.
|
||||
- `run_by_default`: [boolean=true] When enabled this output will be created when no specific outputs are requested.
|
||||
|
||||
* Excellon drill format
|
||||
* Type: `excellon`
|
||||
* Description: This is the main format for the drilling machine.
|
||||
|
|
@ -2360,6 +2400,45 @@ Notes:
|
|||
Internally we use 10 for low priority, 90 for high priority and 50 for most outputs.
|
||||
- `run_by_default`: [boolean=true] When enabled this output will be created when no specific outputs are requested.
|
||||
|
||||
* HPGL Schematic Print (Hewlett & Packard Graphics Language)
|
||||
* Type: `hpgl_sch_print`
|
||||
* Description: Exports the schematic to the most common plotter format.
|
||||
This output is what you get from the 'File/Plot' menu in eeschema.
|
||||
* Valid keys:
|
||||
- **`comment`**: [string=''] A comment for documentation purposes. It helps to identify the output.
|
||||
- **`dir`**: [string='./'] Output directory for the generated files.
|
||||
If it starts with `+` the rest is concatenated to the default dir.
|
||||
- **`name`**: [string=''] Used to identify this particular output definition.
|
||||
Avoid using `_` as first character. These names are reserved for KiBot.
|
||||
- **`options`**: [dict] Options for the `hpgl_sch_print` output.
|
||||
* Valid keys:
|
||||
- **`frame`**: [boolean=true] Include the frame and title block.
|
||||
- `all_pages`: [boolean=true] Generate with all hierarchical sheets.
|
||||
- `background_color`: [boolean=false] Use the background color from the `color_theme` (KiCad 6).
|
||||
- `color_theme`: [string=''] Color theme used, this must exist in the KiCad config (KiCad 6).
|
||||
- `dnf_filter`: [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
A short-cut to use for simple cases where a variant is an overkill.
|
||||
- `monochrome`: [boolean=false] Generate a monochromatic output.
|
||||
- `origin`: [string='bottom_left'] [bottom_left,centered,page_fit,content_fit] Origin and scale.
|
||||
- `output`: [string='%f-%i%I%v.%x'] Filename for the output HPGL (%i=schematic, %x=plt). Affected by global options.
|
||||
- `pen_size`: [number=0.4826] Pen size (diameter) [mm].
|
||||
- `pre_transform`: [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
||||
A short-cut to use for simple cases where a variant is an overkill.
|
||||
- `variant`: [string=''] Board variant to apply.
|
||||
Not fitted components are crossed.
|
||||
- `category`: [string|list(string)=''] The category for this output. If not specified an internally defined category is used.
|
||||
Categories looks like file system paths, i.e. **PCB/fabrication/gerber**.
|
||||
The categories are currently used for `navigate_results`.
|
||||
- `disable_run_by_default`: [string|boolean] Use it to disable the `run_by_default` status of other output.
|
||||
Useful when this output extends another and you don't want to generate the original.
|
||||
Use the boolean true value to disable the output you are extending.
|
||||
- `extends`: [string=''] Copy the `options` section from the indicated output.
|
||||
Used to inherit options from another output of the same type.
|
||||
- `output_id`: [string=''] Text to use for the %I expansion content. To differentiate variations of this output.
|
||||
- `priority`: [number=50] [0,100] Priority for this output. High priority outputs are created first.
|
||||
Internally we use 10 for low priority, 90 for high priority and 50 for most outputs.
|
||||
- `run_by_default`: [boolean=true] When enabled this output will be created when no specific outputs are requested.
|
||||
|
||||
* IBoM (Interactive HTML BoM)
|
||||
* Type: `ibom`
|
||||
* Description: Generates an interactive web page useful to identify the position of the components in the PCB.
|
||||
|
|
@ -3584,9 +3663,9 @@ Notes:
|
|||
|
||||
* PDF Schematic Print (Portable Document Format)
|
||||
* Type: `pdf_sch_print`
|
||||
* Description: Exports the PCB to the most common exchange format. Suitable for printing.
|
||||
* Description: Exports the schematic to the most common exchange format. Suitable for printing.
|
||||
This is the main format to document your schematic.
|
||||
This output is what you get from the 'File/Print' menu in eeschema.
|
||||
This output is what you get from the 'File/Plot' menu in eeschema.
|
||||
* Valid keys:
|
||||
- **`comment`**: [string=''] A comment for documentation purposes. It helps to identify the output.
|
||||
- **`dir`**: [string='./'] Output directory for the generated files.
|
||||
|
|
@ -3598,7 +3677,7 @@ Notes:
|
|||
- **`frame`**: [boolean=true] Include the frame and title block.
|
||||
- `all_pages`: [boolean=true] Generate with all hierarchical sheets.
|
||||
- `background_color`: [boolean=false] Use the background color from the `color_theme` (KiCad 6).
|
||||
- `color_theme`: [string='_builtin_default'] Color theme used, this must exist in the KiCad config (KiCad 6).
|
||||
- `color_theme`: [string=''] Color theme used, this must exist in the KiCad config (KiCad 6).
|
||||
- `dnf_filter`: [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
A short-cut to use for simple cases where a variant is an overkill.
|
||||
- `monochrome`: [boolean=false] Generate a monochromatic output.
|
||||
|
|
@ -3820,6 +3899,43 @@ Notes:
|
|||
Internally we use 10 for low priority, 90 for high priority and 50 for most outputs.
|
||||
- `run_by_default`: [boolean=true] When enabled this output will be created when no specific outputs are requested.
|
||||
|
||||
* PS Schematic Print (Postscript)
|
||||
* Type: `ps_sch_print`
|
||||
* Description: Exports the schematic in postscript. Suitable for printing.
|
||||
This output is what you get from the 'File/Plot' menu in eeschema.
|
||||
* Valid keys:
|
||||
- **`comment`**: [string=''] A comment for documentation purposes. It helps to identify the output.
|
||||
- **`dir`**: [string='./'] Output directory for the generated files.
|
||||
If it starts with `+` the rest is concatenated to the default dir.
|
||||
- **`name`**: [string=''] Used to identify this particular output definition.
|
||||
Avoid using `_` as first character. These names are reserved for KiBot.
|
||||
- **`options`**: [dict] Options for the `ps_sch_print` output.
|
||||
* Valid keys:
|
||||
- **`frame`**: [boolean=true] Include the frame and title block.
|
||||
- `all_pages`: [boolean=true] Generate with all hierarchical sheets.
|
||||
- `background_color`: [boolean=false] Use the background color from the `color_theme` (KiCad 6).
|
||||
- `color_theme`: [string=''] Color theme used, this must exist in the KiCad config (KiCad 6).
|
||||
- `dnf_filter`: [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
A short-cut to use for simple cases where a variant is an overkill.
|
||||
- `monochrome`: [boolean=false] Generate a monochromatic output.
|
||||
- `output`: [string='%f-%i%I%v.%x'] Filename for the output postscript (%i=schematic, %x=ps). Affected by global options.
|
||||
- `pre_transform`: [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
||||
A short-cut to use for simple cases where a variant is an overkill.
|
||||
- `variant`: [string=''] Board variant to apply.
|
||||
Not fitted components are crossed.
|
||||
- `category`: [string|list(string)=''] The category for this output. If not specified an internally defined category is used.
|
||||
Categories looks like file system paths, i.e. **PCB/fabrication/gerber**.
|
||||
The categories are currently used for `navigate_results`.
|
||||
- `disable_run_by_default`: [string|boolean] Use it to disable the `run_by_default` status of other output.
|
||||
Useful when this output extends another and you don't want to generate the original.
|
||||
Use the boolean true value to disable the output you are extending.
|
||||
- `extends`: [string=''] Copy the `options` section from the indicated output.
|
||||
Used to inherit options from another output of the same type.
|
||||
- `output_id`: [string=''] Text to use for the %I expansion content. To differentiate variations of this output.
|
||||
- `priority`: [number=50] [0,100] Priority for this output. High priority outputs are created first.
|
||||
Internally we use 10 for low priority, 90 for high priority and 50 for most outputs.
|
||||
- `run_by_default`: [boolean=true] When enabled this output will be created when no specific outputs are requested.
|
||||
|
||||
* QR_Lib
|
||||
* Type: `qr_lib`
|
||||
* Description: Generates a QR code symbol and footprint.
|
||||
|
|
@ -4318,7 +4434,7 @@ Notes:
|
|||
|
||||
* SVG Schematic Print
|
||||
* Type: `svg_sch_print`
|
||||
* Description: Exports the PCB. Suitable for printing.
|
||||
* Description: Exports the schematic in a vectorized graphics format.
|
||||
This is a format to document your schematic.
|
||||
* Valid keys:
|
||||
- **`comment`**: [string=''] A comment for documentation purposes. It helps to identify the output.
|
||||
|
|
@ -4331,7 +4447,7 @@ Notes:
|
|||
- **`frame`**: [boolean=true] Include the frame and title block.
|
||||
- `all_pages`: [boolean=true] Generate with all hierarchical sheets.
|
||||
- `background_color`: [boolean=false] Use the background color from the `color_theme` (KiCad 6).
|
||||
- `color_theme`: [string='_builtin_default'] Color theme used, this must exist in the KiCad config (KiCad 6).
|
||||
- `color_theme`: [string=''] Color theme used, this must exist in the KiCad config (KiCad 6).
|
||||
- `dnf_filter`: [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
A short-cut to use for simple cases where a variant is an overkill.
|
||||
- `monochrome`: [boolean=false] Generate a monochromatic output.
|
||||
|
|
|
|||
|
|
@ -682,6 +682,34 @@ outputs:
|
|||
# [string=''] Board variant to apply
|
||||
variant: ''
|
||||
layers: all
|
||||
# DXF Schematic Print (Drawing Exchange Format):
|
||||
# This output is what you get from the 'File/Plot' menu in eeschema.
|
||||
- name: 'dxf_sch_print_example'
|
||||
comment: 'Exports the schematic to a format commonly used for CAD software.'
|
||||
type: 'dxf_sch_print'
|
||||
dir: 'Example/dxf_sch_print_dir'
|
||||
options:
|
||||
# [boolean=true] Generate with all hierarchical sheets
|
||||
all_pages: true
|
||||
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
||||
background_color: false
|
||||
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
||||
color_theme: ''
|
||||
# [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
# A short-cut to use for simple cases where a variant is an overkill
|
||||
dnf_filter: '_none'
|
||||
# [boolean=true] Include the frame and title block
|
||||
frame: true
|
||||
# [boolean=false] Generate a monochromatic output
|
||||
monochrome: false
|
||||
# [string='%f-%i%I%v.%x'] Filename for the output DXF (%i=schematic, %x=dxf). Affected by global options
|
||||
output: '%f-%i%I%v.%x'
|
||||
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
||||
# A short-cut to use for simple cases where a variant is an overkill
|
||||
pre_transform: '_none'
|
||||
# [string=''] Board variant to apply.
|
||||
# Not fitted components are crossed
|
||||
variant: ''
|
||||
# Excellon drill format:
|
||||
# You can create a map file for documentation purposes.
|
||||
# This output is what you get from the 'File/Fabrication output/Drill Files' menu in pcbnew.
|
||||
|
|
@ -950,6 +978,38 @@ outputs:
|
|||
# [string=''] Board variant to apply
|
||||
variant: ''
|
||||
layers: all
|
||||
# HPGL Schematic Print (Hewlett & Packard Graphics Language):
|
||||
# This output is what you get from the 'File/Plot' menu in eeschema.
|
||||
- name: 'hpgl_sch_print_example'
|
||||
comment: 'Exports the schematic to the most common plotter format.'
|
||||
type: 'hpgl_sch_print'
|
||||
dir: 'Example/hpgl_sch_print_dir'
|
||||
options:
|
||||
# [boolean=true] Generate with all hierarchical sheets
|
||||
all_pages: true
|
||||
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
||||
background_color: false
|
||||
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
||||
color_theme: ''
|
||||
# [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
# A short-cut to use for simple cases where a variant is an overkill
|
||||
dnf_filter: '_none'
|
||||
# [boolean=true] Include the frame and title block
|
||||
frame: true
|
||||
# [boolean=false] Generate a monochromatic output
|
||||
monochrome: false
|
||||
# [string='bottom_left'] [bottom_left,centered,page_fit,content_fit] Origin and scale
|
||||
origin: 'bottom_left'
|
||||
# [string='%f-%i%I%v.%x'] Filename for the output HPGL (%i=schematic, %x=plt). Affected by global options
|
||||
output: '%f-%i%I%v.%x'
|
||||
# [number=0.4826] Pen size (diameter) [mm]
|
||||
pen_size: 0.4826
|
||||
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
||||
# A short-cut to use for simple cases where a variant is an overkill
|
||||
pre_transform: '_none'
|
||||
# [string=''] Board variant to apply.
|
||||
# Not fitted components are crossed
|
||||
variant: ''
|
||||
# IBoM (Interactive HTML BoM):
|
||||
# For more information: https://github.com/INTI-CMNB/InteractiveHtmlBom
|
||||
# This output is what you get from the InteractiveHtmlBom plug-in (pcbnew).
|
||||
|
|
@ -2305,9 +2365,9 @@ outputs:
|
|||
layers: all
|
||||
# PDF Schematic Print (Portable Document Format):
|
||||
# This is the main format to document your schematic.
|
||||
# This output is what you get from the 'File/Print' menu in eeschema.
|
||||
# This output is what you get from the 'File/Plot' menu in eeschema.
|
||||
- name: 'pdf_sch_print_example'
|
||||
comment: 'Exports the PCB to the most common exchange format. Suitable for printing.'
|
||||
comment: 'Exports the schematic to the most common exchange format. Suitable for printing.'
|
||||
type: 'pdf_sch_print'
|
||||
dir: 'Example/pdf_sch_print_dir'
|
||||
options:
|
||||
|
|
@ -2315,8 +2375,8 @@ outputs:
|
|||
all_pages: true
|
||||
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
||||
background_color: false
|
||||
# [string='_builtin_default'] Color theme used, this must exist in the KiCad config (KiCad 6)
|
||||
color_theme: '_builtin_default'
|
||||
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
||||
color_theme: ''
|
||||
# [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
# A short-cut to use for simple cases where a variant is an overkill
|
||||
dnf_filter: '_none'
|
||||
|
|
@ -2512,6 +2572,34 @@ outputs:
|
|||
# Only used to plot pads and tracks
|
||||
width_adjust: 0
|
||||
layers: all
|
||||
# PS Schematic Print (Postscript):
|
||||
# This output is what you get from the 'File/Plot' menu in eeschema.
|
||||
- name: 'ps_sch_print_example'
|
||||
comment: 'Exports the schematic in postscript. Suitable for printing.'
|
||||
type: 'ps_sch_print'
|
||||
dir: 'Example/ps_sch_print_dir'
|
||||
options:
|
||||
# [boolean=true] Generate with all hierarchical sheets
|
||||
all_pages: true
|
||||
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
||||
background_color: false
|
||||
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
||||
color_theme: ''
|
||||
# [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
# A short-cut to use for simple cases where a variant is an overkill
|
||||
dnf_filter: '_none'
|
||||
# [boolean=true] Include the frame and title block
|
||||
frame: true
|
||||
# [boolean=false] Generate a monochromatic output
|
||||
monochrome: false
|
||||
# [string='%f-%i%I%v.%x'] Filename for the output postscript (%i=schematic, %x=ps). Affected by global options
|
||||
output: '%f-%i%I%v.%x'
|
||||
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
||||
# A short-cut to use for simple cases where a variant is an overkill
|
||||
pre_transform: '_none'
|
||||
# [string=''] Board variant to apply.
|
||||
# Not fitted components are crossed
|
||||
variant: ''
|
||||
# QR_Lib:
|
||||
# This output creates a library containing a symbol and footprint for a QR code.
|
||||
# To refresh the generated symbols and footprints use the `update_qr` preflight.
|
||||
|
|
@ -2990,7 +3078,7 @@ outputs:
|
|||
# SVG Schematic Print:
|
||||
# This is a format to document your schematic.
|
||||
- name: 'svg_sch_print_example'
|
||||
comment: 'Exports the PCB. Suitable for printing.'
|
||||
comment: 'Exports the schematic in a vectorized graphics format.'
|
||||
type: 'svg_sch_print'
|
||||
dir: 'Example/svg_sch_print_dir'
|
||||
options:
|
||||
|
|
@ -2998,8 +3086,8 @@ outputs:
|
|||
all_pages: true
|
||||
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
||||
background_color: false
|
||||
# [string='_builtin_default'] Color theme used, this must exist in the KiCad config (KiCad 6)
|
||||
color_theme: '_builtin_default'
|
||||
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
||||
color_theme: ''
|
||||
# [string|list(string)='_none'] Name of the filter to mark components as not fitted.
|
||||
# A short-cut to use for simple cases where a variant is an overkill
|
||||
dnf_filter: '_none'
|
||||
|
|
|
|||
|
|
@ -41,6 +41,9 @@ MISSING_WKS = 27
|
|||
MISSING_FILES = 28
|
||||
DIFF_TOO_BIG = 29
|
||||
NETLIST_DIFF = 30
|
||||
PS_SCH_PRINT = 31
|
||||
DXF_SCH_PRINT = 32
|
||||
HPGL_SCH_PRINT = 33
|
||||
error_level_to_name = ['NONE',
|
||||
'INTERNAL_ERROR',
|
||||
'WRONG_ARGUMENTS',
|
||||
|
|
|
|||
|
|
@ -63,7 +63,8 @@ class Any_SCH_PrintOptions(VariantOptions):
|
|||
self._files_to_remove.append(sch_dir)
|
||||
else:
|
||||
sch_file = GS.sch_file
|
||||
cmd = [command, 'export', '--file_format', self._expand_ext, '-o', name]
|
||||
fmt = 'hpgl' if self._expand_ext == 'plt' else self._expand_ext
|
||||
cmd = [command, 'export', '--file_format', fmt, '-o', name]
|
||||
if self.monochrome:
|
||||
cmd.append('--monochrome')
|
||||
if not self.frame:
|
||||
|
|
@ -74,5 +75,9 @@ class Any_SCH_PrintOptions(VariantOptions):
|
|||
cmd.extend(['--color_theme', self.color_theme])
|
||||
if self.background_color:
|
||||
cmd.append('--background_color')
|
||||
if hasattr(self, '_origin'):
|
||||
cmd.extend(['--hpgl_origin', str(self._origin)])
|
||||
if hasattr(self, 'pen_size'):
|
||||
cmd.extend(['--hpgl_pen_size', str(self.pen_size)])
|
||||
cmd.extend([sch_file, os.path.dirname(name)])
|
||||
self.exec_with_retry(self.add_extra_options(cmd), self._exit_error)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2020-2023 Salvador E. Tropea
|
||||
# Copyright (c) 2020-2023 Instituto Nacional de Tecnología Industrial
|
||||
# License: GPL-3.0
|
||||
# Project: KiBot (formerly KiPlot)
|
||||
"""
|
||||
Dependencies:
|
||||
- from: KiAuto
|
||||
role: mandatory
|
||||
command: eeschema_do
|
||||
version: 2.1.1
|
||||
"""
|
||||
from .gs import GS
|
||||
from .out_any_sch_print import Any_SCH_PrintOptions
|
||||
from .misc import DXF_SCH_PRINT
|
||||
from .macros import macros, document, output_class # noqa: F401
|
||||
from . import log
|
||||
|
||||
logger = log.get_logger()
|
||||
|
||||
|
||||
class DXF_SCH_PrintOptions(Any_SCH_PrintOptions):
|
||||
def __init__(self):
|
||||
with document:
|
||||
self.output = GS.def_global_output
|
||||
""" Filename for the output DXF (%i=schematic, %x=dxf)"""
|
||||
super().__init__()
|
||||
self._expand_ext = 'dxf'
|
||||
self._exit_error = DXF_SCH_PRINT
|
||||
|
||||
|
||||
@output_class
|
||||
class DXF_SCH_Print(BaseOutput): # noqa: F821
|
||||
""" DXF Schematic Print (Drawing Exchange Format)
|
||||
Exports the schematic to a format commonly used for CAD software.
|
||||
This output is what you get from the 'File/Plot' menu in eeschema. """
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
with document:
|
||||
self.options = DXF_SCH_PrintOptions
|
||||
""" *[dict] Options for the `dxf_sch_print` output """
|
||||
self._sch_related = True
|
||||
self._category = 'Schematic/docs'
|
||||
|
||||
@staticmethod
|
||||
def get_conf_examples(name, layers, templates):
|
||||
return BaseOutput.simple_conf_examples(name, 'Schematic in DXF format', 'Schematic') # noqa: F821
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2020-2023 Salvador E. Tropea
|
||||
# Copyright (c) 2020-2023 Instituto Nacional de Tecnología Industrial
|
||||
# License: GPL-3.0
|
||||
# Project: KiBot (formerly KiPlot)
|
||||
"""
|
||||
Dependencies:
|
||||
- from: KiAuto
|
||||
role: mandatory
|
||||
command: eeschema_do
|
||||
version: 2.1.1
|
||||
"""
|
||||
from .gs import GS
|
||||
from .out_any_sch_print import Any_SCH_PrintOptions
|
||||
from .misc import HPGL_SCH_PRINT
|
||||
from .macros import macros, document, output_class # noqa: F401
|
||||
from . import log
|
||||
|
||||
logger = log.get_logger()
|
||||
|
||||
|
||||
class HPGL_SCH_PrintOptions(Any_SCH_PrintOptions):
|
||||
def __init__(self):
|
||||
with document:
|
||||
self.output = GS.def_global_output
|
||||
""" Filename for the output HPGL (%i=schematic, %x=plt)"""
|
||||
self.origin = 'bottom_left'
|
||||
""" [bottom_left,centered,page_fit,content_fit] Origin and scale """
|
||||
self.pen_size = 0.4826
|
||||
""" Pen size (diameter) [mm] """
|
||||
super().__init__()
|
||||
self._expand_ext = 'plt'
|
||||
self._exit_error = HPGL_SCH_PRINT
|
||||
|
||||
def config(self, parent):
|
||||
super().config(parent)
|
||||
self._origin = ['bottom_left', 'centered', 'page_fit', 'content_fit'].index(self.origin)
|
||||
|
||||
|
||||
@output_class
|
||||
class HPGL_SCH_Print(BaseOutput): # noqa: F821
|
||||
""" HPGL Schematic Print (Hewlett & Packard Graphics Language)
|
||||
Exports the schematic to the most common plotter format.
|
||||
This output is what you get from the 'File/Plot' menu in eeschema. """
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
with document:
|
||||
self.options = HPGL_SCH_PrintOptions
|
||||
""" *[dict] Options for the `hpgl_sch_print` output """
|
||||
self._sch_related = True
|
||||
self._category = 'Schematic/docs'
|
||||
|
||||
@staticmethod
|
||||
def get_conf_examples(name, layers, templates):
|
||||
return BaseOutput.simple_conf_examples(name, 'Schematic in HPGL format', 'Schematic') # noqa: F821
|
||||
|
|
@ -32,9 +32,9 @@ class PDF_SCH_PrintOptions(Any_SCH_PrintOptions):
|
|||
@output_class
|
||||
class PDF_SCH_Print(BaseOutput): # noqa: F821
|
||||
""" PDF Schematic Print (Portable Document Format)
|
||||
Exports the PCB to the most common exchange format. Suitable for printing.
|
||||
Exports the schematic to the most common exchange format. Suitable for printing.
|
||||
This is the main format to document your schematic.
|
||||
This output is what you get from the 'File/Print' menu in eeschema. """
|
||||
This output is what you get from the 'File/Plot' menu in eeschema. """
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
with document:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2020-2023 Salvador E. Tropea
|
||||
# Copyright (c) 2020-2023 Instituto Nacional de Tecnología Industrial
|
||||
# License: GPL-3.0
|
||||
# Project: KiBot (formerly KiPlot)
|
||||
"""
|
||||
Dependencies:
|
||||
- from: KiAuto
|
||||
role: mandatory
|
||||
command: eeschema_do
|
||||
version: 2.1.1
|
||||
"""
|
||||
from .gs import GS
|
||||
from .out_any_sch_print import Any_SCH_PrintOptions
|
||||
from .misc import PS_SCH_PRINT
|
||||
from .macros import macros, document, output_class # noqa: F401
|
||||
from . import log
|
||||
|
||||
logger = log.get_logger()
|
||||
|
||||
|
||||
class PS_SCH_PrintOptions(Any_SCH_PrintOptions):
|
||||
def __init__(self):
|
||||
with document:
|
||||
self.output = GS.def_global_output
|
||||
""" Filename for the output postscript (%i=schematic, %x=ps)"""
|
||||
super().__init__()
|
||||
self._expand_ext = 'ps'
|
||||
self._exit_error = PS_SCH_PRINT
|
||||
|
||||
|
||||
@output_class
|
||||
class PS_SCH_Print(BaseOutput): # noqa: F821
|
||||
""" PS Schematic Print (Postscript)
|
||||
Exports the schematic in postscript. Suitable for printing.
|
||||
This output is what you get from the 'File/Plot' menu in eeschema. """
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
with document:
|
||||
self.options = PS_SCH_PrintOptions
|
||||
""" *[dict] Options for the `ps_sch_print` output """
|
||||
self._sch_related = True
|
||||
self._category = 'Schematic/docs'
|
||||
|
||||
@staticmethod
|
||||
def get_conf_examples(name, layers, templates):
|
||||
return BaseOutput.simple_conf_examples(name, 'Schematic in PS format', 'Schematic') # noqa: F821
|
||||
|
|
@ -33,7 +33,7 @@ class SVG_SCH_PrintOptions(Any_SCH_PrintOptions):
|
|||
@output_class
|
||||
class SVG_SCH_Print(BaseOutput): # noqa: F821
|
||||
""" SVG Schematic Print
|
||||
Exports the PCB. Suitable for printing.
|
||||
Exports the schematic in a vectorized graphics format.
|
||||
This is a format to document your schematic. """
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
|
|
|||
Loading…
Reference in New Issue