Fixed KiCad 6 text variables not expanded in `render_3d` output
- We must copy the project file to the temporal dir Fixes #173
This commit is contained in:
parent
dad1f91439
commit
bb0f86ae61
11
kibot/gs.py
11
kibot/gs.py
|
|
@ -14,6 +14,7 @@ except ImportError:
|
|||
pass
|
||||
from datetime import datetime, date
|
||||
from sys import exit
|
||||
from shutil import copy2
|
||||
from .misc import EXIT_BAD_ARGS, W_DATEFORMAT, KICAD_VERSION_5_99, W_UNKVAR
|
||||
from .log import get_logger
|
||||
|
||||
|
|
@ -326,6 +327,16 @@ class GS(object):
|
|||
logger.error('No SCH file found (*.sch), use -e to specify one.')
|
||||
exit(EXIT_BAD_ARGS)
|
||||
|
||||
@staticmethod
|
||||
def copy_project(pcb_name):
|
||||
pro_name = GS.pro_file
|
||||
if pro_name is None or not os.path.isfile(pro_name):
|
||||
return None
|
||||
pro_copy = pcb_name.replace('.kicad_pcb', GS.pro_ext)
|
||||
logger.debug('Copying project `{}` to `{}`'.format(pro_name, pro_copy))
|
||||
copy2(pro_name, pro_copy)
|
||||
return pro_copy
|
||||
|
||||
@staticmethod
|
||||
def load_board():
|
||||
""" Will be repplaced by kiplot.py """
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
# License: GPL-3.0
|
||||
# Project: KiBot (formerly KiPlot)
|
||||
import os
|
||||
from shutil import copy2, rmtree
|
||||
from shutil import rmtree
|
||||
from tempfile import mkdtemp
|
||||
from .pre_base import BasePreFlight
|
||||
from .error import KiPlotConfigurationError
|
||||
|
|
@ -68,16 +68,6 @@ class Any_PCB_PrintOptions(VariantOptions):
|
|||
super().config(parent)
|
||||
self._drill_marks = Any_PCB_PrintOptions._drill_marks_map[self._drill_marks]
|
||||
|
||||
@staticmethod
|
||||
def _copy_project(fname):
|
||||
pro_name = GS.pro_file
|
||||
if pro_name is None or not os.path.isfile(pro_name):
|
||||
return None
|
||||
pro_copy = fname.replace('.kicad_pcb', GS.pro_ext)
|
||||
logger.debug('Copying project `{}` to `{}`'.format(pro_name, pro_copy))
|
||||
copy2(pro_name, pro_copy)
|
||||
return pro_copy
|
||||
|
||||
def filter_components(self, board, force_copy):
|
||||
if not self._comps and not force_copy:
|
||||
return GS.pcb_file, None
|
||||
|
|
@ -92,7 +82,7 @@ class Any_PCB_PrintOptions(VariantOptions):
|
|||
logger.debug('Storing filtered PCB to `{}`'.format(fname))
|
||||
GS.board.Save(fname)
|
||||
# Copy the project: avoids warnings, could carry some options
|
||||
self._copy_project(fname)
|
||||
GS.copy_project(fname)
|
||||
self.uncross_modules(board, comps_hash)
|
||||
self.restore_paste_and_glue(board, comps_hash)
|
||||
if self.hide_excluded:
|
||||
|
|
|
|||
|
|
@ -187,8 +187,7 @@ class Base3DOptions(VariantOptions):
|
|||
fname = f.name
|
||||
logger.debug('Storing modified PCB to `{}`'.format(fname))
|
||||
GS.board.Save(fname)
|
||||
with open(fname.replace('.kicad_pcb', GS.pro_ext), 'wt') as f:
|
||||
pass
|
||||
GS.copy_project(fname)
|
||||
return fname
|
||||
|
||||
def apply_variant_aspect(self, enable=False):
|
||||
|
|
|
|||
|
|
@ -229,6 +229,9 @@
|
|||
(property "Config" "T1" (id 4) (at 63.5 43.18 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "default:_3D_model" "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_2010_5025Metric.wrl" (id 4) (at 63.5 43.18 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid c70d9ef3-bfeb-47e0-a1e1-9aeba3da7864))
|
||||
(pin "2" (uuid 4e3d7c0d-12e3-42f2-b944-e4bcdbbcac2a))
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,325 @@
|
|||
(kicad_pcb (version 20211014) (generator pcbnew)
|
||||
|
||||
(general
|
||||
(thickness 1.6)
|
||||
)
|
||||
|
||||
(paper "A4")
|
||||
(layers
|
||||
(0 "F.Cu" signal)
|
||||
(31 "B.Cu" signal)
|
||||
(32 "B.Adhes" user "B.Adhesive")
|
||||
(33 "F.Adhes" user "F.Adhesive")
|
||||
(34 "B.Paste" user)
|
||||
(35 "F.Paste" user)
|
||||
(36 "B.SilkS" user "B.Silkscreen")
|
||||
(37 "F.SilkS" user "F.Silkscreen")
|
||||
(38 "B.Mask" user)
|
||||
(39 "F.Mask" user)
|
||||
(40 "Dwgs.User" user "User.Drawings")
|
||||
(41 "Cmts.User" user "User.Comments")
|
||||
(42 "Eco1.User" user "User.Eco1")
|
||||
(43 "Eco2.User" user "User.Eco2")
|
||||
(44 "Edge.Cuts" user)
|
||||
(45 "Margin" user)
|
||||
(46 "B.CrtYd" user "B.Courtyard")
|
||||
(47 "F.CrtYd" user "F.Courtyard")
|
||||
(48 "B.Fab" user)
|
||||
(49 "F.Fab" user)
|
||||
)
|
||||
|
||||
(setup
|
||||
(pad_to_mask_clearance 0)
|
||||
(aux_axis_origin 139.89 89.63)
|
||||
(pcbplotparams
|
||||
(layerselection 0x00010fc_ffffffff)
|
||||
(disableapertmacros false)
|
||||
(usegerberextensions false)
|
||||
(usegerberattributes true)
|
||||
(usegerberadvancedattributes true)
|
||||
(creategerberjobfile true)
|
||||
(svguseinch false)
|
||||
(svgprecision 6)
|
||||
(excludeedgelayer true)
|
||||
(plotframeref false)
|
||||
(viasonmask false)
|
||||
(mode 1)
|
||||
(useauxorigin false)
|
||||
(hpglpennumber 1)
|
||||
(hpglpenspeed 20)
|
||||
(hpglpendiameter 15.000000)
|
||||
(dxfpolygonmode true)
|
||||
(dxfimperialunits true)
|
||||
(dxfusepcbnewfont true)
|
||||
(psnegative false)
|
||||
(psa4output false)
|
||||
(plotreference true)
|
||||
(plotvalue true)
|
||||
(plotinvisibletext false)
|
||||
(sketchpadsonfab false)
|
||||
(subtractmaskfromsilk false)
|
||||
(outputformat 1)
|
||||
(mirror false)
|
||||
(drillshape 1)
|
||||
(scaleselection 1)
|
||||
(outputdirectory "")
|
||||
)
|
||||
)
|
||||
|
||||
(net 0 "")
|
||||
(net 1 "Net-(C1-Pad2)")
|
||||
(net 2 "Net-(C1-Pad1)")
|
||||
(net 3 "Net-(C2-Pad2)")
|
||||
(net 4 "Net-(C2-Pad1)")
|
||||
(net 5 "Net-(R1-Pad2)")
|
||||
(net 6 "Net-(R1-Pad1)")
|
||||
(net 7 "Net-(R2-Pad2)")
|
||||
(net 8 "Net-(R2-Pad1)")
|
||||
|
||||
(footprint "Capacitor_SMD:C_0805_2012Metric" (layer "F.Cu")
|
||||
(tedit 5B36C52B) (tstamp 00000000-0000-0000-0000-00005f496a58)
|
||||
(at 137.16 87.63)
|
||||
(descr "Capacitor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator")
|
||||
(tags "capacitor")
|
||||
(path "/00000000-0000-0000-0000-00005f43bec2")
|
||||
(attr smd)
|
||||
(fp_text reference "C1" (at 0 -1.65) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp a17658ae-6bb1-4adb-b6b3-ef4c836b3104)
|
||||
)
|
||||
(fp_text value "1nF" (at 0 1.65) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 7a3ff137-c90e-4755-bfaa-61ac4559c1c4)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)))
|
||||
(tstamp 610d3dab-96f1-467e-a8bb-982e1a5e28b3)
|
||||
)
|
||||
(fp_circle (center 0 0) (end 0.4 0) (layer "F.Adhes") (width 0.1) (fill none) (tstamp b95c9af6-d571-4ff7-aa89-c20d6a5096f9))
|
||||
(fp_line (start -0.258578 0.71) (end 0.258578 0.71) (layer "F.SilkS") (width 0.12) (tstamp 535fb667-3ef5-4c7d-8b0e-f211f4b2598f))
|
||||
(fp_line (start -0.258578 -0.71) (end 0.258578 -0.71) (layer "F.SilkS") (width 0.12) (tstamp 877d03b3-2e6b-4283-8774-f9a3972e5d1b))
|
||||
(fp_line (start 1.68 0.95) (end -1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp 179b1cfd-2c85-4f43-a5f6-868ca3ed1710))
|
||||
(fp_line (start 1.68 -0.95) (end 1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp 68d5b6f4-dbf5-4aa8-9240-b1053c3090c9))
|
||||
(fp_line (start -1.68 -0.95) (end 1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp 7b599469-c7d3-440a-82c3-3fb41a9ddc82))
|
||||
(fp_line (start -1.68 0.95) (end -1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp f815ff74-24a8-400f-8ca4-b5af8d9ae8aa))
|
||||
(fp_line (start 1 -0.6) (end 1 0.6) (layer "F.Fab") (width 0.1) (tstamp 09f8738f-4304-4557-bcc0-63f51e2bb272))
|
||||
(fp_line (start -1 0.6) (end -1 -0.6) (layer "F.Fab") (width 0.1) (tstamp 53842113-2eed-4e07-83f9-cf62ab0b8b6b))
|
||||
(fp_line (start 1 0.6) (end -1 0.6) (layer "F.Fab") (width 0.1) (tstamp 6052d8c7-51a2-4347-a770-b463e8004a6a))
|
||||
(fp_line (start -1 -0.6) (end 1 -0.6) (layer "F.Fab") (width 0.1) (tstamp ffd4eef0-200f-473f-98ef-875ae2710211))
|
||||
(pad "1" smd roundrect locked (at -0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 2 "Net-(C1-Pad1)") (tstamp 0396208e-a401-46d6-a9d6-4fc5f29a991e))
|
||||
(pad "2" smd roundrect locked (at 0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 1 "Net-(C1-Pad2)") (tstamp c0e176e6-2b65-4e42-ab43-deafd4b2725e))
|
||||
(model "${KISYS3DMOD}/Capacitor_SMD.3dshapes/C_0805_2012Metric.step"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
(model "${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0805_2012Metric.step"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "Capacitor_SMD:C_0805_2012Metric" (layer "F.Cu")
|
||||
(tedit 5B36C52B) (tstamp 00000000-0000-0000-0000-00005f496a69)
|
||||
(at 137.16 90.58)
|
||||
(descr "Capacitor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator")
|
||||
(tags "capacitor")
|
||||
(path "/00000000-0000-0000-0000-00005f43ce1c")
|
||||
(attr through_hole)
|
||||
(fp_text reference "C2" (at 0 -1.65) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 4de8c707-0d2d-4070-9fe2-95aba800da97)
|
||||
)
|
||||
(fp_text value "1000 pF" (at 0 1.65) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 1aadc258-dafc-428e-a9e1-059c1ee3bc24)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)))
|
||||
(tstamp 210883df-9124-4ab7-9e4d-1d5de0e14436)
|
||||
)
|
||||
(fp_circle (center 0 0) (end 0.4 0) (layer "F.Adhes") (width 0.1) (fill none) (tstamp 565df081-bb0e-4272-889c-8883a6cf574f))
|
||||
(fp_line (start -0.258578 0.71) (end 0.258578 0.71) (layer "F.SilkS") (width 0.12) (tstamp b38aac83-d426-48eb-8136-075909ca0d4a))
|
||||
(fp_line (start -0.258578 -0.71) (end 0.258578 -0.71) (layer "F.SilkS") (width 0.12) (tstamp f39138bd-8e9c-4749-b1f6-ad562a76c547))
|
||||
(fp_line (start -1.68 0.95) (end -1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp 446b00b9-49fb-4d19-99d8-f7dfbf5ba90e))
|
||||
(fp_line (start 1.68 0.95) (end -1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp 8cd966ec-936a-4a2a-97a1-c162eb60f3e5))
|
||||
(fp_line (start 1.68 -0.95) (end 1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp c3bee8b2-8413-4ed0-8a3c-b25a7b938428))
|
||||
(fp_line (start -1.68 -0.95) (end 1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp cfca8046-57f9-4bad-b147-0e4cb641e71b))
|
||||
(fp_line (start -1 0.6) (end -1 -0.6) (layer "F.Fab") (width 0.1) (tstamp 55b19cfa-b606-4080-b04d-dd557256f1ba))
|
||||
(fp_line (start 1 -0.6) (end 1 0.6) (layer "F.Fab") (width 0.1) (tstamp 72ae4549-fa18-4dbf-93bb-1305330c71a6))
|
||||
(fp_line (start -1 -0.6) (end 1 -0.6) (layer "F.Fab") (width 0.1) (tstamp 7fc277fd-f98e-4d8c-95fe-9dde488db0c6))
|
||||
(fp_line (start 1 0.6) (end -1 0.6) (layer "F.Fab") (width 0.1) (tstamp ff6fa4d8-6d22-441b-96c5-4b33ac32fe1e))
|
||||
(pad "1" smd roundrect locked (at -0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 4 "Net-(C2-Pad1)") (tstamp bb444f3e-7d1f-4c82-8eb7-24fddaab885c))
|
||||
(pad "2" smd roundrect locked (at 0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 3 "Net-(C2-Pad2)") (tstamp 378300c0-8cef-4c8a-8338-6f66311fc3c2))
|
||||
(model "${KISYS3DMOD}/Capacitor_SMD.3dshapes/C_0805_2012Metric.step"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "Resistor_SMD:R_0805_2012Metric" (layer "F.Cu")
|
||||
(tedit 5B36C52B) (tstamp 00000000-0000-0000-0000-00005f496a8b)
|
||||
(at 141.57 90.58)
|
||||
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator")
|
||||
(tags "resistor")
|
||||
(path "/00000000-0000-0000-0000-00005f43d4bb")
|
||||
(attr through_hole)
|
||||
(fp_text reference "R2" (at 0 -1.65) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp a16bb11f-1ae1-452b-ab06-c0c0c5550581)
|
||||
)
|
||||
(fp_text value "1000" (at 0 1.65) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 8d62e4b1-2b78-479f-8bd0-b822c934ecc5)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)))
|
||||
(tstamp e7acb238-433c-4d0c-9ac5-aada44ae87c6)
|
||||
)
|
||||
(fp_circle (center 0 0) (end 0.4 0) (layer "F.Adhes") (width 0.1) (fill none) (tstamp 5e9a445e-d281-40e5-aa88-5a4ca0015602))
|
||||
(fp_line (start -0.258578 -0.71) (end 0.258578 -0.71) (layer "F.SilkS") (width 0.12) (tstamp 2f751c07-db61-4fb2-a551-ac48ab965e3e))
|
||||
(fp_line (start -0.258578 0.71) (end 0.258578 0.71) (layer "F.SilkS") (width 0.12) (tstamp 77b6adbd-4ea1-4b55-ac32-3d73199bfa37))
|
||||
(fp_line (start -1.68 0.95) (end -1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp 1c18e8fe-20b5-44a9-abff-9239aded7a2a))
|
||||
(fp_line (start 1.68 -0.95) (end 1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp 321cd77f-700d-4ffc-989c-fc5e37251c36))
|
||||
(fp_line (start -1.68 -0.95) (end 1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp bcb3d769-6147-42c5-ad88-f725f9c8e563))
|
||||
(fp_line (start 1.68 0.95) (end -1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp ff0028a2-d2a5-403f-bb0c-e9daef57d7dd))
|
||||
(fp_line (start 1 -0.6) (end 1 0.6) (layer "F.Fab") (width 0.1) (tstamp 10ce8a66-bf48-418c-bc77-95fd17a79c81))
|
||||
(fp_line (start -1 0.6) (end -1 -0.6) (layer "F.Fab") (width 0.1) (tstamp a40020d7-ffd1-4386-b107-b0101c1b0ce5))
|
||||
(fp_line (start 1 0.6) (end -1 0.6) (layer "F.Fab") (width 0.1) (tstamp c22ae2e3-a19d-4183-bd18-87d52e335b80))
|
||||
(fp_line (start -1 -0.6) (end 1 -0.6) (layer "F.Fab") (width 0.1) (tstamp df843824-3ab8-4db7-a313-5cb6e638d41e))
|
||||
(pad "1" smd roundrect locked (at -0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 8 "Net-(R2-Pad1)") (tstamp d82b2b32-b91d-4cb1-86e2-007ccd994e78))
|
||||
(pad "2" smd roundrect locked (at 0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 7 "Net-(R2-Pad2)") (tstamp ba5049a8-ad9a-49c4-997a-84e5c7fdd3d9))
|
||||
(model "${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0805_2012Metric.step"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "Resistor_SMD:R_0805_2012Metric" (layer "F.Cu")
|
||||
(tedit 5B36C52B) (tstamp 00000000-0000-0000-0000-00005f503c2a)
|
||||
(at 141.57 87.63)
|
||||
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator")
|
||||
(tags "resistor")
|
||||
(path "/00000000-0000-0000-0000-00005f43d144")
|
||||
(attr smd)
|
||||
(fp_text reference "R1" (at 0 -1.65) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp b6a444b7-f4ce-419c-89ef-2cfd5db7a945)
|
||||
)
|
||||
(fp_text value "1k" (at 0 1.65) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 855c640f-0598-43af-83dd-404d817a88f8)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)))
|
||||
(tstamp 6d891518-8781-400e-8095-ad01983a9315)
|
||||
)
|
||||
(fp_circle (center 0 0) (end 0.4 0) (layer "F.Adhes") (width 0.1) (fill none) (tstamp b6bf2be9-d47d-4982-baf3-f6485d5fc2fa))
|
||||
(fp_line (start -0.258578 -0.71) (end 0.258578 -0.71) (layer "F.SilkS") (width 0.12) (tstamp 3f82faa0-e76b-430f-9a3e-124be5e074a2))
|
||||
(fp_line (start -0.258578 0.71) (end 0.258578 0.71) (layer "F.SilkS") (width 0.12) (tstamp 47987321-48a0-4e03-bdbc-dad9ea6b9662))
|
||||
(fp_line (start 1.68 0.95) (end -1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp 2320c397-f9b3-417f-93bc-7684581ff540))
|
||||
(fp_line (start -1.68 -0.95) (end 1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp 76d0d3ec-964c-4d0d-9433-cb608686da84))
|
||||
(fp_line (start 1.68 -0.95) (end 1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp b02a9d87-40a3-4d0f-ba46-740e56a66166))
|
||||
(fp_line (start -1.68 0.95) (end -1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp eff8f9e3-70f6-43f8-b054-b752e97ce246))
|
||||
(fp_line (start 1 0.6) (end -1 0.6) (layer "F.Fab") (width 0.1) (tstamp 010c6a20-5856-4bad-b771-0fe13323a108))
|
||||
(fp_line (start -1 0.6) (end -1 -0.6) (layer "F.Fab") (width 0.1) (tstamp 5d794526-beca-4e0a-b441-f09f1366536c))
|
||||
(fp_line (start 1 -0.6) (end 1 0.6) (layer "F.Fab") (width 0.1) (tstamp a32c49f6-0990-4f13-ad49-4db52adad6aa))
|
||||
(fp_line (start -1 -0.6) (end 1 -0.6) (layer "F.Fab") (width 0.1) (tstamp b953df13-a55a-4953-a0fa-5fdc226f66e6))
|
||||
(pad "1" smd roundrect locked (at -0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 6 "Net-(R1-Pad1)") (tstamp 3fbca69d-47ae-4671-b766-56ad2b10b635))
|
||||
(pad "2" smd roundrect locked (at 0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 5 "Net-(R1-Pad2)") (tstamp 364ef61c-3c7f-49af-92ac-c9cb1c72df90))
|
||||
(model "${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0805_2012Metric.step"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "Resistor_SMD:R_0805_2012Metric" (layer "F.Cu")
|
||||
(tedit 5B36C52B) (tstamp 00000000-0000-0000-0000-00005f503c4a)
|
||||
(at 148.555 89.154)
|
||||
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator")
|
||||
(tags "resistor")
|
||||
(path "/00000000-0000-0000-0000-00005f43d144")
|
||||
(attr smd)
|
||||
(fp_text reference "R3" (at 0 -1.65) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 1ebe2927-938f-48bf-a28f-b1341cb4eb92)
|
||||
)
|
||||
(fp_text value "1k" (at 0 1.65) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 6639c313-6496-4cf4-b2f1-d7ac22590bf8)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)))
|
||||
(tstamp 760a8cec-d133-4ac1-9b68-2a482625bd1f)
|
||||
)
|
||||
(fp_circle (center 0 0) (end 0.4 0) (layer "F.Adhes") (width 0.1) (fill none) (tstamp e5b325c5-598d-4f6b-a413-d3a79eb95cbb))
|
||||
(fp_line (start -0.258578 0.71) (end 0.258578 0.71) (layer "F.SilkS") (width 0.12) (tstamp 02c4cbf5-9900-4c08-981d-8f9deb435440))
|
||||
(fp_line (start -0.258578 -0.71) (end 0.258578 -0.71) (layer "F.SilkS") (width 0.12) (tstamp 35b37184-c1db-4605-9bcd-675b2c4b2158))
|
||||
(fp_line (start 1.68 0.95) (end -1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp 2ad9142c-8923-4abd-b90a-c8ae2f7c9d80))
|
||||
(fp_line (start -1.68 -0.95) (end 1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp 885792c5-6361-4eb1-8fbb-77d0c940bafc))
|
||||
(fp_line (start -1.68 0.95) (end -1.68 -0.95) (layer "F.CrtYd") (width 0.05) (tstamp ab11510d-aa5c-41d7-a0b9-335045f11724))
|
||||
(fp_line (start 1.68 -0.95) (end 1.68 0.95) (layer "F.CrtYd") (width 0.05) (tstamp e1cd1c41-7c11-498a-9141-5d74c0f912c2))
|
||||
(fp_line (start -1 0.6) (end -1 -0.6) (layer "F.Fab") (width 0.1) (tstamp 3e58ad13-421d-4712-a3a6-baa45f7a50d9))
|
||||
(fp_line (start -1 -0.6) (end 1 -0.6) (layer "F.Fab") (width 0.1) (tstamp c9abcf12-7a33-4d52-8f7f-751243a70726))
|
||||
(fp_line (start 1 -0.6) (end 1 0.6) (layer "F.Fab") (width 0.1) (tstamp d540225e-b626-44df-a06e-d1355b1826a9))
|
||||
(fp_line (start 1 0.6) (end -1 0.6) (layer "F.Fab") (width 0.1) (tstamp d7ea9ea0-5b1e-4200-8463-6407ba1b21a5))
|
||||
(pad "1" smd roundrect locked (at -0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 6 "Net-(R1-Pad1)") (tstamp 7c75769f-18a4-4d0c-9703-f047e8f5ab1d))
|
||||
(pad "2" smd roundrect locked (at 0.9375 0) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
|
||||
(net 5 "Net-(R1-Pad2)") (tstamp 2b8f6242-95b2-4ff4-8124-8f1c2a171f0a))
|
||||
(model "${KISYS3DMOD}/Resistor_SMD.3dshapes/R_0805_2012Metric.step"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "Fiducial:Fiducial_0.5mm_Mask1mm" (layer "F.Cu")
|
||||
(tedit 5C18CB26) (tstamp 00000000-0000-0000-0000-00005f57ee4f)
|
||||
(at 139.6746 82.9564)
|
||||
(descr "Circular Fiducial, 0.5mm bare copper, 1mm soldermask opening (Level C)")
|
||||
(tags "fiducial")
|
||||
(path "/00000000-0000-0000-0000-00005f57eddb")
|
||||
(attr exclude_from_pos_files exclude_from_bom)
|
||||
(fp_text reference "FID1" (at 0 -1.5) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 7b643210-edc8-42fc-ae01-131c3f64b382)
|
||||
)
|
||||
(fp_text value "Fiducial" (at 0 1.5) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 0efa37b2-af85-4c04-a3a9-67fbb3deae71)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 0.2 0.2) (thickness 0.04)))
|
||||
(tstamp af5353c5-81fd-4093-969d-2b7178673638)
|
||||
)
|
||||
(fp_circle (center 0 0) (end 0.75 0) (layer "F.CrtYd") (width 0.05) (fill none) (tstamp bd1aa9f8-fd9c-4c73-ad79-67b18a6317f1))
|
||||
(fp_circle (center 0 0) (end 0.5 0) (layer "F.Fab") (width 0.1) (fill none) (tstamp b2736e48-774d-475e-b008-2b03645f9be3))
|
||||
(pad "" smd circle locked (at 0 0) (size 0.5 0.5) (layers "F.Cu" "F.Mask")
|
||||
(solder_mask_margin 0.25) (clearance 0.25) (tstamp 1dde19d5-99c8-4d8b-8f79-2b55c7e0cf67))
|
||||
)
|
||||
|
||||
(gr_line (start 133.35 80.4) (end 133.35 93.98) (layer "Edge.Cuts") (width 0.1) (tstamp 00000000-0000-0000-0000-00005f496acc))
|
||||
(gr_line (start 146.05 80.4) (end 133.35 80.4) (layer "Edge.Cuts") (width 0.1) (tstamp 00000000-0000-0000-0000-00005f57eeaf))
|
||||
(gr_line (start 146.05 93.98) (end 146.05 80.4) (layer "Edge.Cuts") (width 0.1) (tstamp 123e2e63-e5a2-438b-a092-e86abe433be1))
|
||||
(gr_line (start 133.35 93.98) (end 146.05 93.98) (layer "Edge.Cuts") (width 0.1) (tstamp db70ada3-b7ba-4225-9c00-3f7474e61b64))
|
||||
(gr_text "${text}" (at 139 92.5) (layer "F.SilkS") (tstamp b873bc5d-a9af-4bd9-afcb-87ce4d417120)
|
||||
(effects (font (size 1 1.5) (thickness 0.25)))
|
||||
)
|
||||
(gr_text "Bogus component.\nNot in schematic." (at 161.163 89.281) (layer "Cmts.User") (tstamp 5f5ef4dd-f4ae-40a8-adf2-0ac2296d03fa)
|
||||
(effects (font (size 1.5 1.5) (thickness 0.3)))
|
||||
)
|
||||
|
||||
)
|
||||
|
|
@ -0,0 +1,176 @@
|
|||
{
|
||||
"board": {
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"board_outline_line_width": 0.049999999999999996,
|
||||
"copper_line_width": 0.19999999999999998,
|
||||
"copper_text_italic": false,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"copper_text_upright": false,
|
||||
"courtyard_line_width": 0.049999999999999996,
|
||||
"dimension_precision": 4,
|
||||
"dimension_units": 3,
|
||||
"dimensions": {
|
||||
"arrow_length": 1270000,
|
||||
"extension_offset": 500000,
|
||||
"keep_text_aligned": true,
|
||||
"suppress_zeroes": false,
|
||||
"text_position": 0,
|
||||
"units_format": 1
|
||||
},
|
||||
"fab_line_width": 0.09999999999999999,
|
||||
"fab_text_italic": false,
|
||||
"fab_text_size_h": 1.0,
|
||||
"fab_text_size_v": 1.0,
|
||||
"fab_text_thickness": 0.15,
|
||||
"fab_text_upright": false,
|
||||
"other_line_width": 0.09999999999999999,
|
||||
"other_text_italic": false,
|
||||
"other_text_size_h": 1.0,
|
||||
"other_text_size_v": 1.0,
|
||||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 0.762,
|
||||
"height": 1.524,
|
||||
"width": 1.524
|
||||
},
|
||||
"silk_line_width": 0.12,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.15,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"45_degree_only": false,
|
||||
"min_clearance": 0.508
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [],
|
||||
"drc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"rule_severities": {
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"copper_edge_clearance": "error",
|
||||
"courtyards_overlap": "error",
|
||||
"diff_pair_gap_out_of_range": "error",
|
||||
"diff_pair_uncoupled_length_too_long": "error",
|
||||
"drill_out_of_range": "error",
|
||||
"duplicate_footprints": "warning",
|
||||
"extra_footprint": "warning",
|
||||
"footprint_type_mismatch": "error",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"invalid_outline": "error",
|
||||
"item_on_disabled_layer": "error",
|
||||
"items_not_allowed": "error",
|
||||
"length_out_of_range": "error",
|
||||
"malformed_courtyard": "error",
|
||||
"microvia_drill_out_of_range": "error",
|
||||
"missing_courtyard": "ignore",
|
||||
"missing_footprint": "warning",
|
||||
"net_conflict": "warning",
|
||||
"npth_inside_courtyard": "ignore",
|
||||
"padstack": "error",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
"tracks_crossing": "error",
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zone_has_empty_net": "error",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rules": {
|
||||
"allow_blind_buried_vias": false,
|
||||
"allow_microvias": false,
|
||||
"max_error": 0.005,
|
||||
"min_clearance": 0.0,
|
||||
"min_copper_edge_clearance": 0.01,
|
||||
"min_hole_clearance": 0.25,
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.19999999999999998,
|
||||
"min_microvia_drill": 0.09999999999999999,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.19999999999999998,
|
||||
"min_via_annular_width": 0.049999999999999996,
|
||||
"min_via_diameter": 0.39999999999999997,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"track_widths": [],
|
||||
"via_dimensions": [],
|
||||
"zones_allow_external_fillets": false,
|
||||
"zones_use_no_outline": true
|
||||
},
|
||||
"layer_presets": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "kibom-variant_3_txt.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"net_settings": {
|
||||
"classes": [
|
||||
{
|
||||
"bus_width": 12.0,
|
||||
"clearance": 0.2,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
"line_style": 0,
|
||||
"microvia_diameter": 0.3,
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Default",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.25,
|
||||
"via_diameter": 0.8,
|
||||
"via_drill": 0.4,
|
||||
"wire_width": 6.0
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"net_colors": null
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": []
|
||||
},
|
||||
"sheets": [],
|
||||
"text_variables": {
|
||||
"text": "Test"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
kibom-variant_3.kicad_sch
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
|
|
@ -0,0 +1 @@
|
|||
../5_1_6/kibom-variant_3-3D_top.png
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 124 KiB |
|
|
@ -72,8 +72,12 @@ def test_step_variant_1(test_dir):
|
|||
|
||||
def test_render_3d_variant_1(test_dir):
|
||||
prj = 'kibom-variant_3'
|
||||
if context.ki6():
|
||||
prj += '_txt'
|
||||
ctx = context.TestContext(test_dir, 'test_render_3d_variant_1', prj, 'render_3d_variant_1', '')
|
||||
ctx.run(extra_debug=True)
|
||||
ctx.run()
|
||||
# Check all outputs are there
|
||||
ctx.expect_out_file(prj+'-3D_top.png')
|
||||
name = prj+'-3D_top.png'
|
||||
ctx.expect_out_file(name)
|
||||
ctx.compare_image(name, fuzz='50%', tol=100)
|
||||
ctx.clean_up(keep_project=True)
|
||||
|
|
|
|||
|
|
@ -433,7 +433,7 @@ class TestContext(object):
|
|||
logging.debug(msg+' OK')
|
||||
# logging.debug(' '+m.group(0))
|
||||
|
||||
def compare_image(self, image, reference=None, diff='diff.png', ref_out_dir=False, fuzz='5%'):
|
||||
def compare_image(self, image, reference=None, diff='diff.png', ref_out_dir=False, fuzz='5%', tol=0):
|
||||
""" For images and single page PDFs """
|
||||
if reference is None:
|
||||
reference = image
|
||||
|
|
@ -464,7 +464,7 @@ class TestContext(object):
|
|||
'-colorspace', 'RGB',
|
||||
self.get_out_path(diff)]
|
||||
logging.debug('Comparing images with: '+usable_cmd(cmd))
|
||||
res = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
|
||||
res = subprocess.run(cmd, stderr=subprocess.STDOUT, check=(tol == 0), stdout=subprocess.PIPE).stdout
|
||||
# m = re.match(r'([\d\.e-]+) \(([\d\.e-]+)\)', res.decode())
|
||||
# assert m
|
||||
# logging.debug('MSE={} ({})'.format(m.group(1), m.group(2)))
|
||||
|
|
@ -474,7 +474,7 @@ class TestContext(object):
|
|||
os.remove(png_ref)
|
||||
if png_image:
|
||||
os.remove(png_image)
|
||||
assert ae == 0
|
||||
assert ae <= tol
|
||||
|
||||
def compare_pdf(self, gen, reference=None, diff='diff-{}.png'):
|
||||
""" For multi-page PDFs """
|
||||
|
|
|
|||
|
|
@ -25,3 +25,4 @@ outputs:
|
|||
type: render_3d
|
||||
options:
|
||||
variant: default
|
||||
ray_tracing: true
|
||||
|
|
|
|||
Loading…
Reference in New Issue