Merge pull request #14 from easyw/master
adding info on via placed, allowing '.' and ',' for decimal separator on inputs
This commit is contained in:
@ -540,6 +540,7 @@ STEP = '-'
|
||||
# How much "via steps" should be removed around a via (round up)
|
||||
clear_distance = int((self.step+l_clearance) / l_clearance)
|
||||
|
||||
via_placed = 0
|
||||
for x in xrange(len(rectangle)):
|
||||
for y in xrange(len(rectangle[0])):
|
||||
if isinstance(rectangle[x][y], ViaObject):
|
||||
@ -555,6 +556,7 @@ STEP = '-'
|
||||
ran_y = (random.random() * l_clearance / 2.0) - (l_clearance / 4.0)
|
||||
|
||||
self.AddVia(wxPoint(via.PosX + ran_x, via.PosY + ran_y), via.X, via.Y)
|
||||
via_placed += 1
|
||||
|
||||
if self.debug:
|
||||
wxPrint("\nFinal result:")
|
||||
@ -564,8 +566,8 @@ STEP = '-'
|
||||
|
||||
if self.filename:
|
||||
self.pcb.Save(self.filename)
|
||||
wxPrint("Done!")
|
||||
|
||||
msg = "{:d} vias placed\n".format(via_placed)
|
||||
wxPrint (msg+"Done!")
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) < 2:
|
||||
|
@ -57,17 +57,18 @@ class FillAreaAction(pcbnew.ActionPlugin):
|
||||
#a.m_Netname.SetValue("GND")
|
||||
a.m_ClearanceMM.SetValue("0.2")
|
||||
a.m_Star.SetValue(True)
|
||||
a.m_bitmapStitching.SetBitmap(wx.Bitmap( os.path.join(os.path.dirname(os.path.realpath(__file__)), "stitching-vias-help.png") ) )
|
||||
self.board = pcbnew.GetBoard()
|
||||
PopulateNets("GND",a)
|
||||
modal_result = a.ShowModal()
|
||||
if modal_result == wx.ID_OK:
|
||||
wx.LogMessage('Via Stitching: Version 1.3')
|
||||
wx.LogMessage('Via Stitching: Version 1.4')
|
||||
if 1: #try:
|
||||
fill = FillArea.FillArea()
|
||||
fill.SetStepMM(float(a.m_StepMM.GetValue()))
|
||||
fill.SetSizeMM(float(a.m_SizeMM.GetValue()))
|
||||
fill.SetDrillMM(float(a.m_DrillMM.GetValue()))
|
||||
fill.SetClearanceMM(float(a.m_ClearanceMM.GetValue()))
|
||||
fill.SetStepMM(float(a.m_StepMM.GetValue().replace(',','.')))
|
||||
fill.SetSizeMM(float(a.m_SizeMM.GetValue().replace(',','.')))
|
||||
fill.SetDrillMM(float(a.m_DrillMM.GetValue().replace(',','.')))
|
||||
fill.SetClearanceMM(float(a.m_ClearanceMM.GetValue().replace(',','.')))
|
||||
#fill.SetNetname(a.m_Netname.GetValue())
|
||||
netname = a.m_cbNet.GetStringSelection()
|
||||
fill.SetNetname(netname)
|
||||
|
@ -1,10 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
###########################################################################
|
||||
## Python code generated with wxFormBuilder (version Dec 21 2016)
|
||||
## Python code generated with wxFormBuilder (version Oct 26 2018)
|
||||
## http://www.wxformbuilder.org/
|
||||
##
|
||||
## PLEASE DO "NOT" EDIT THIS FILE!
|
||||
## PLEASE DO *NOT* EDIT THIS FILE!
|
||||
###########################################################################
|
||||
|
||||
import wx
|
||||
@ -15,126 +15,142 @@ import wx.xrc
|
||||
###########################################################################
|
||||
|
||||
class FillAreaDialog ( wx.Dialog ):
|
||||
|
||||
|
||||
def __init__( self, parent ):
|
||||
wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Fill Area parameters", pos = wx.DefaultPosition, size = wx.Size( 402,487 ), style = wx.DEFAULT_DIALOG_STYLE )
|
||||
|
||||
wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Fill Area parameters", pos = wx.DefaultPosition, size = wx.Size( 402,540 ), style = wx.DEFAULT_DIALOG_STYLE )
|
||||
|
||||
import sys
|
||||
if sys.version_info[0] == 2:
|
||||
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
|
||||
else:
|
||||
self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
|
||||
#self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
|
||||
|
||||
|
||||
bSizer3 = wx.BoxSizer( wx.VERTICAL )
|
||||
|
||||
|
||||
fgSizer1 = wx.FlexGridSizer( 0, 2, 0, 0 )
|
||||
fgSizer1.SetFlexibleDirection( wx.BOTH )
|
||||
fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
|
||||
|
||||
self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"Via copper size", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
|
||||
self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"Via copper size (mm)", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText3.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText3, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
self.m_SizeMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_SizeMM.SetMinSize( wx.Size( 1000,-1 ) )
|
||||
|
||||
|
||||
fgSizer1.Add( self.m_SizeMM, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
self.m_staticText9 = wx.StaticText( self, wx.ID_ANY, u"Via drill size", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
|
||||
self.m_staticText9 = wx.StaticText( self, wx.ID_ANY, u"Via drill size (mm)", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText9.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText9, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
self.m_DrillMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_DrillMM, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
self.m_staticText5 = wx.StaticText( self, wx.ID_ANY, u"Via clearance", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
|
||||
self.m_staticText5 = wx.StaticText( self, wx.ID_ANY, u"Via clearance (mm)", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText5.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText5, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
self.m_ClearanceMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_ClearanceMM, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Via grid (mm)", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText2.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText2, 0, wx.ALL, 5 )
|
||||
|
||||
self.m_StepMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_StepMM, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
fgSizer1.Add( ( 0, 0), 1, wx.EXPAND, 5 )
|
||||
|
||||
self.m_bitmapStitching = wx.StaticBitmap( self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_bitmapStitching, 0, wx.EXPAND, 5 )
|
||||
|
||||
self.m_staticText6 = wx.StaticText( self, wx.ID_ANY, u"Net name", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText6.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText6, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
m_cbNetChoices = []
|
||||
self.m_cbNet = wx.ComboBox( self, wx.ID_ANY, u"GND", wx.DefaultPosition, wx.DefaultSize, m_cbNetChoices, 0 )
|
||||
fgSizer1.Add( self.m_cbNet, 0, wx.ALL, 5 )
|
||||
|
||||
self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Step between via", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText2.Wrap( -1 )
|
||||
fgSizer1.Add( self.m_staticText2, 0, wx.ALL, 5 )
|
||||
|
||||
self.m_StepMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_StepMM, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
self.m_staticText7 = wx.StaticText( self, wx.ID_ANY, u"Debug mode", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText7.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText7, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
self.m_Debug = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_Debug, 1, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
|
||||
self.m_staticText8 = wx.StaticText( self, wx.ID_ANY, u"Random it", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText8.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText8, 0, wx.ALL, 5 )
|
||||
|
||||
|
||||
self.m_Random = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_Random, 0, wx.ALL, 5 )
|
||||
|
||||
|
||||
self.m_staticText42 = wx.StaticText( self, wx.ID_ANY, u"Star Pattern", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText42.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText42, 0, wx.ALL, 5 )
|
||||
|
||||
|
||||
self.m_Star = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_Star, 0, wx.ALL, 5 )
|
||||
|
||||
|
||||
self.m_staticText81 = wx.StaticText( self, wx.ID_ANY, u"Only under selected Zone", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText81.Wrap( -1 )
|
||||
|
||||
fgSizer1.Add( self.m_staticText81, 0, wx.ALL, 5 )
|
||||
|
||||
|
||||
self.m_only_selected = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
fgSizer1.Add( self.m_only_selected, 0, wx.ALL, 5 )
|
||||
|
||||
|
||||
|
||||
|
||||
bSizer3.Add( fgSizer1, 1, wx.EXPAND, 5 )
|
||||
|
||||
|
||||
bSizer1 = wx.BoxSizer( wx.HORIZONTAL )
|
||||
|
||||
|
||||
self.m_staticText101 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_staticText101.Wrap( -1 )
|
||||
|
||||
bSizer1.Add( self.m_staticText101, 1, wx.ALL, 5 )
|
||||
|
||||
|
||||
self.m_button1 = wx.Button( self, wx.ID_OK, u"Run", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
self.m_button1.SetDefault()
|
||||
|
||||
self.m_button1.SetDefault()
|
||||
bSizer1.Add( self.m_button1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
|
||||
|
||||
|
||||
self.m_button2 = wx.Button( self, wx.ID_CANCEL, u"Cancel", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
bSizer1.Add( self.m_button2, 0, wx.ALL, 5 )
|
||||
|
||||
|
||||
self.m_button3_delete = wx.Button( self, wx.ID_DELETE, u"Delete Vias", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
bSizer1.Add( self.m_button3_delete, 0, wx.ALL, 5 )
|
||||
|
||||
|
||||
|
||||
|
||||
bSizer3.Add( bSizer1, 0, wx.EXPAND|wx.ALIGN_RIGHT, 5 )
|
||||
|
||||
|
||||
|
||||
|
||||
self.SetSizer( bSizer3 )
|
||||
self.Layout()
|
||||
|
||||
|
||||
self.Centre( wx.BOTH )
|
||||
|
||||
|
||||
# Connect Events
|
||||
self.m_button3_delete.Bind( wx.EVT_BUTTON, self.onDeleteClick )
|
||||
|
||||
|
||||
def __del__( self ):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
|
||||
# Virtual event handlers, overide them in your derived class
|
||||
def onDeleteClick( self, event ):
|
||||
event.Skip()
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
BIN
ViaStitching/stitching-vias-help.png
Normal file
BIN
ViaStitching/stitching-vias-help.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
252
ViaStitching/stitching-vias-help.svg
Normal file
252
ViaStitching/stitching-vias-help.svg
Normal file
@ -0,0 +1,252 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="45.245544"
|
||||
width="73.978897"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="stitching-vias-help.svg"
|
||||
viewBox="0 0 69.355216 42.417698"
|
||||
inkscape:export-filename="C:\Users\userC\AppData\Roaming\kicad\scripting\plugins\ViaStitching\stitching-vias-help.png"
|
||||
inkscape:export-xdpi="270.51999"
|
||||
inkscape:export-ydpi="270.51999">
|
||||
<metadata
|
||||
id="metadata40">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1361"
|
||||
id="namedview38"
|
||||
showgrid="true"
|
||||
inkscape:snap-to-guides="false"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:zoom="14.553175"
|
||||
inkscape:cx="17.310764"
|
||||
inkscape:cy="9.229069"
|
||||
inkscape:window-x="-9"
|
||||
inkscape:window-y="-9"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
fit-margin-top="1"
|
||||
fit-margin-left="2"
|
||||
fit-margin-right="1"
|
||||
fit-margin-bottom="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3017"
|
||||
empspacing="2"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true"
|
||||
spacingx="0.5"
|
||||
spacingy="0.5"
|
||||
originx="29.615099"
|
||||
originy="14.20885" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs4">
|
||||
<filter
|
||||
id="c"
|
||||
height="1.3651"
|
||||
width="1.2097"
|
||||
y="-0.18257"
|
||||
x="-0.10484"
|
||||
style="color-interpolation-filters:sRGB">
|
||||
<feGaussianBlur
|
||||
stdDeviation="1.5978799"
|
||||
id="feGaussianBlur7" />
|
||||
</filter>
|
||||
<filter
|
||||
id="d"
|
||||
height="1.4696"
|
||||
width="1.4809999"
|
||||
y="-0.23481999"
|
||||
x="-0.24049"
|
||||
style="color-interpolation-filters:sRGB">
|
||||
<feGaussianBlur
|
||||
stdDeviation="1.5978799"
|
||||
id="feGaussianBlur10" />
|
||||
</filter>
|
||||
</defs>
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3872"
|
||||
d="m 4.146349,3.208849 v 36 h 62.000018 l -1.8e-5,-36 z"
|
||||
style="opacity:0.69599998;fill:#dfbd8a;fill-opacity:1;stroke:none;stroke-width:4.54269791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:export-ydpi="82.105263" />
|
||||
<g
|
||||
id="g1472"
|
||||
transform="translate(5.358933,5.8591988)">
|
||||
<g
|
||||
transform="rotate(90,28.381175,29.318675)"
|
||||
id="g928">
|
||||
<rect
|
||||
style="fill:#008000;fill-opacity:1;stroke:none;stroke-width:1.1333822;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.99997282;stroke-opacity:1"
|
||||
id="rect4495"
|
||||
width="26"
|
||||
height="38"
|
||||
x="1.3550172"
|
||||
y="1.3550172"
|
||||
inkscape:export-filename="C:\kicad-wb-1602\msys64\home\userC\RF-round-diff\new-solder-mask\bitmaps_png\sources\stitching-vias.png"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:export-ydpi="82.105263" />
|
||||
<g
|
||||
transform="matrix(1.6382539,0,0,1.5572263,2.6122379,1.7181587)"
|
||||
id="g16"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:export-ydpi="82.105263"
|
||||
inkscape:export-filename="C:\kicad-wb-1602\msys64\home\userC\RF-round-diff\new-solder-mask\bitmaps_png\sources\stitching-vias.png">
|
||||
<rect
|
||||
height="16"
|
||||
width="16"
|
||||
y="0"
|
||||
x="0"
|
||||
id="rect18"
|
||||
style="fill-opacity:0" />
|
||||
</g>
|
||||
<rect
|
||||
style="opacity:0.25;fill:#008000;fill-opacity:1;stroke:#b3b3b3;stroke-width:2.71003437;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.99997282;stroke-opacity:1"
|
||||
id="rect4737"
|
||||
width="26"
|
||||
height="38"
|
||||
x="1.3550172"
|
||||
y="1.3550172"
|
||||
inkscape:export-filename="C:\kicad-wb-1602\msys64\home\userC\RF-round-diff\new-solder-mask\bitmaps_png\sources\stitching-vias.png"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:export-ydpi="82.105263" />
|
||||
<g
|
||||
id="g856"
|
||||
transform="translate(1.3550172,11.417517)">
|
||||
<path
|
||||
sodipodi:nodetypes="sssss"
|
||||
inkscape:export-ydpi="82.105263"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3867-9-4-6"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffcc00;stroke-width:2.4375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 15.25,8.875 c 0,-1.932996 1.567003,-3.499999 3.500001,-3.499999 1.932996,0 3.499999,1.567003 3.499999,3.499999 0,1.932998 -1.567003,3.500001 -3.499999,3.500001 C 16.817003,12.375001 15.25,10.807998 15.25,8.875 Z" />
|
||||
<path
|
||||
sodipodi:nodetypes="sssss"
|
||||
inkscape:export-ydpi="82.105263"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3867-9-4-3"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffcc00;stroke-width:2.4375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 3.75,9 c 0,-1.932997 1.567003,-3.5 3.5,-3.5 1.932997,0 3.5,1.567003 3.5,3.5 0,1.932997 -1.567003,3.5 -3.5,3.5 -1.932997,0 -3.5,-1.567003 -3.5,-3.5 z" />
|
||||
</g>
|
||||
<g
|
||||
id="g860"
|
||||
transform="translate(0.8550172,0.91751696)">
|
||||
<path
|
||||
sodipodi:nodetypes="sssss"
|
||||
inkscape:export-ydpi="82.105263"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3867-9-4-6-5"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffcc00;stroke-width:2.4375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 15.75,30.625 c 0,-1.932996 1.567003,-3.499999 3.500001,-3.499999 1.932996,0 3.499999,1.567003 3.499999,3.499999 0,1.932998 -1.567003,3.500001 -3.499999,3.500001 C 17.317003,34.125001 15.75,32.557998 15.75,30.625 Z" />
|
||||
<path
|
||||
sodipodi:nodetypes="sssss"
|
||||
inkscape:export-ydpi="82.105263"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3867-9-4-3-2"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffcc00;stroke-width:2.4375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 4.25,30.75 c 0,-1.932997 1.567003,-3.5 3.5,-3.5 1.932997,0 3.5,1.567003 3.5,3.5 0,1.932997 -1.567003,3.5 -3.5,3.5 -1.932997,0 -3.5,-1.567003 -3.5,-3.5 z" />
|
||||
</g>
|
||||
<g
|
||||
id="g856-8"
|
||||
transform="translate(1.3550172,0.16751712)">
|
||||
<path
|
||||
sodipodi:nodetypes="sssss"
|
||||
inkscape:export-ydpi="82.105263"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3867-9-4-6-53"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffcc00;stroke-width:2.4375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 15.25,8.875 c 0,-1.932996 1.567003,-3.499999 3.500001,-3.499999 1.932996,0 3.499999,1.567003 3.499999,3.499999 0,1.932998 -1.567003,3.500001 -3.499999,3.500001 C 16.817003,12.375001 15.25,10.807998 15.25,8.875 Z" />
|
||||
<path
|
||||
sodipodi:nodetypes="sssss"
|
||||
inkscape:export-ydpi="82.105263"
|
||||
inkscape:export-xdpi="82.105263"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3867-9-4-3-8"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffcc00;stroke-width:2.4375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 3.75,9 c 0,-1.932997 1.567003,-3.5 3.5,-3.5 1.932997,0 3.5,1.567003 3.5,3.5 0,1.932997 -1.567003,3.5 -3.5,3.5 -1.932997,0 -3.5,-1.567003 -3.5,-3.5 z" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.6470588,-0.93749999,0,26.742247,5.8693535)"
|
||||
id="g835">
|
||||
<path
|
||||
style="fill:#333333;stroke:#333333;stroke-width:0.89442718px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 22.607525,15.607526 H 6.6075245"
|
||||
id="path5185"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccc"
|
||||
style="fill:#333333;stroke:#333333;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="m 16.607525,17.607526 6,-2 -6,-2"
|
||||
id="path5191"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccc"
|
||||
style="fill:#333333;stroke:#333333;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="m 12.607525,13.607526 -6.0000005,2 6.0000005,2"
|
||||
id="path5195"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#333333;stroke:#333333;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 5.6075245,12.107526 v 7"
|
||||
id="path3088"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#333333;stroke:#333333;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 23.607525,12.107526 v 7"
|
||||
id="path3088-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<text
|
||||
id="text872"
|
||||
y="18.931452"
|
||||
x="1.7110295"
|
||||
style="font-style:normal;font-weight:normal;font-size:27.82968521px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#333333;fill-opacity:1;stroke:#333333;stroke-width:0.69574213"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:9.27656174px;fill:#333333;stroke:#333333;stroke-width:0.69574213"
|
||||
y="18.931452"
|
||||
x="1.7110295"
|
||||
id="tspan870"
|
||||
sodipodi:role="line">d</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user