Arch: Added Rebar object + command

This commit is contained in:
Yorik van Havre 2013-10-07 15:42:05 -03:00
parent ced0a2b6d0
commit c3cecc41d0
12 changed files with 6319 additions and 4872 deletions

View File

@ -41,3 +41,4 @@ from ArchAxis import *
from ArchRoof import *
from ArchSpace import *
from ArchStairs import *
from ArchRebar import *

View File

@ -411,7 +411,24 @@ def getShapeFromMesh(mesh):
return se
else:
return solid
def projectToVector(shape,vector):
'''projectToVector(shape,vector): projects the given shape on the given
vector'''
projpoints = []
minl = 10000000000
maxl = -10000000000
for v in shape.Vertexes:
p = DraftVecUtils.project(v.Point,vector)
projpoints.append(p)
l = p.Length
if p.getAngle(vector) > 1:
l = -l
if l > maxl:
maxl = l
if l < minl:
minl = l
return DraftVecUtils.scaleTo(vector,maxl-minl)
def meshToShape(obj,mark=True):
'''meshToShape(object,[mark]): turns a mesh into a shape, joining coplanar facets. If

View File

@ -131,7 +131,7 @@ class ComponentTaskPanel:
# the categories are shown only if they are not empty.
self.obj = None
self.attribs = ["Base","Additions","Subtractions","Objects","Components","Axes","Fixtures"]
self.attribs = ["Base","Additions","Subtractions","Objects","Components","Axes","Fixtures","Armatures"]
self.form = QtGui.QWidget()
self.form.setObjectName("TaskPanel")
self.grid = QtGui.QGridLayout(self.form)
@ -271,6 +271,8 @@ class ComponentTaskPanel:
self.treeObjects.setText(0,QtGui.QApplication.translate("Arch", "Objects", None, QtGui.QApplication.UnicodeUTF8))
self.treeAxes.setText(0,QtGui.QApplication.translate("Arch", "Axes", None, QtGui.QApplication.UnicodeUTF8))
self.treeComponents.setText(0,QtGui.QApplication.translate("Arch", "Components", None, QtGui.QApplication.UnicodeUTF8))
self.treeFixtures.setText(0,QtGui.QApplication.translate("Arch", "Fixtures", None, QtGui.QApplication.UnicodeUTF8))
self.treeArmatures.setText(0,QtGui.QApplication.translate("Arch", "Armatures", None, QtGui.QApplication.UnicodeUTF8))
class Component:
"The default Arch Component object"
@ -471,6 +473,8 @@ class ViewProviderComponent:
c = c + self.Object.Additions + self.Object.Subtractions
if hasattr(self.Object,"Fixtures"):
c.extend(self.Object.Fixtures)
if hasattr(self.Object,"Armatures"):
c.extend(self.Object.Armatures)
if hasattr(self.Object,"Tool"):
if self.Object.Tool:
c.append(self.Object.Tool)

212
src/Mod/Arch/ArchRebar.py Normal file
View File

@ -0,0 +1,212 @@
#***************************************************************************
#* *
#* Copyright (c) 2013 *
#* Yorik van Havre <yorik@uncreated.net> *
#* *
#* This program is free software; you can redistribute it and/or modify *
#* it under the terms of the GNU Lesser General Public License (LGPL) *
#* as published by the Free Software Foundation; either version 2 of *
#* the License, or (at your option) any later version. *
#* for detail see the LICENCE text file. *
#* *
#* This program is distributed in the hope that it will be useful, *
#* but WITHOUT ANY WARRANTY; without even the implied warranty of *
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
#* GNU Library General Public License for more details. *
#* *
#* You should have received a copy of the GNU Library General Public *
#* License along with this program; if not, write to the Free Software *
#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
#* USA *
#* *
#***************************************************************************
import FreeCAD,FreeCADGui,Draft,ArchComponent,DraftVecUtils,ArchCommands
from FreeCAD import Vector
from PyQt4 import QtCore
from DraftTools import translate
__title__="FreeCAD Rebar"
__author__ = "Yorik van Havre"
__url__ = "http://www.freecadweb.org"
def makeRebar(baseobj,sketch,diameter=6,amount=1,offset=30,name="Rebar"):
"""makeRebar(baseobj,sketch,[diameter,amount,offset,name]): adds a Reinforcement Bar object
to the given structural object, using the given sketch as profile."""
obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name)
_Rebar(obj)
_ViewProviderRebar(obj.ViewObject)
if hasattr(sketch,"Support"):
if sketch.Support:
if isinstance(sketch.Support,tuple):
if sketch.Support[0] == baseobj:
sketch.Support = None
elif sketch.Support == baseobj:
sketch.Support = None
obj.Base = sketch
sketch.ViewObject.hide()
a = baseobj.Armatures
a.append(obj)
baseobj.Armatures = a
obj.Diameter = diameter
obj.Amount = amount
obj.Offset = offset
return obj
class _CommandRebar:
"the Arch Rebar command definition"
def GetResources(self):
return {'Pixmap' : 'Arch_Rebar',
'MenuText': QtCore.QT_TRANSLATE_NOOP("Arch_Rebar","Rebar"),
'Accel': "R, B",
'ToolTip': QtCore.QT_TRANSLATE_NOOP("Arch_Rebar","Creates a Reinforcement bar from the selected face of a structural object")}
def Activated(self):
sel = FreeCADGui.Selection.getSelectionEx()
if sel:
obj = sel[0].Object
if Draft.getType(obj) == "Structure":
if len(sel) > 1:
sk = sel[1].Object
if Draft.getType(sk) == "Sketch":
# we have a base object and a sketch: create the rebar now
FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Rebar")))
FreeCADGui.doCommand("import Arch")
FreeCADGui.doCommand("Arch.makeRebar(FreeCAD.ActiveDocument."+obj.Name+",FreeCAD.ActiveDocument."+sk.Name+")")
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.recompute()
return
else:
# we have only a base object: open the sketcher
FreeCADGui.activateWorkbench("SketcherWorkbench")
FreeCADGui.runCommand("Sketcher_NewSketch")
FreeCAD.ArchObserver = ArchComponent.ArchSelectionObserver(obj,FreeCAD.ActiveDocument.Objects[-1],hide=False,nextCommand="Arch_Rebar")
FreeCADGui.Selection.addObserver(FreeCAD.ArchObserver)
return
elif Draft.getType(obj) == "Sketch":
# we have only the sketch: extract the base object from it
if hasattr(obj,"Support"):
if obj.Support:
if isinstance(obj.Support,tuple):
sup = obj.Support[0]
else:
sup = obj.Support
FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Rebar")))
FreeCADGui.doCommand("import Arch")
FreeCADGui.doCommand("Arch.makeRebar(FreeCAD.ActiveDocument."+sup.Name+",FreeCAD.ActiveDocument."+obj.Name+")")
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.recompute()
return
else:
print "Arch: error: couldn't extract a base object"
return
FreeCAD.Console.PrintMessage(str(translate("Arch","Please select a base face on a structural object\n")))
FreeCADGui.Control.showDialog(ArchComponent.SelectionTaskPanel())
FreeCAD.ArchObserver = ArchComponent.ArchSelectionObserver(nextCommand="Arch_Rebar")
FreeCADGui.Selection.addObserver(FreeCAD.ArchObserver)
class _Rebar(ArchComponent.Component):
"A parametric reinforcement bar (rebar) object"
def __init__(self,obj):
ArchComponent.Component.__init__(self,obj)
obj.addProperty("App::PropertyDistance","Diameter","Arch","The diameter of the bar").Diameter = 6
obj.addProperty("App::PropertyDistance","Offset","Arch","The distance between the border of the beam and the bars (concrete cover).").Offset = 30
obj.addProperty("App::PropertyInteger","Amount","Arch","The amount of bars").Amount = 1
self.Type = "Component"
def getBaseAndAxis(self,obj):
"returns a base point and orientation axis from the base sketch"
if obj.Base:
if obj.Base.Shape:
if obj.Base.Shape.Wires:
e = obj.Base.Shape.Wires[0].Edges[0]
import DraftGeomUtils
v = DraftGeomUtils.vec(e).normalize()
return e.Vertexes[0].Point,v
return None,None
def execute(self,obj):
if len(obj.InList) != 1:
return
if Draft.getType(obj.InList[0]) != "Structure":
return
if not obj.InList[0].Shape:
return
if not obj.Base:
return
if not obj.Base.Shape:
return
if not obj.Base.Shape.Wires:
return
if not obj.Diameter:
return
if not obj.Amount:
return
father = obj.InList[0]
wire = obj.Base.Shape.Wires[0]
bpoint, bvec = self.getBaseAndAxis(obj)
if not bpoint:
return
axis = obj.Base.Placement.Rotation.multVec(FreeCAD.Vector(0,0,-1))
#print axis
size = (ArchCommands.projectToVector(father.Shape.copy(),axis)).Length
#print size
if obj.Offset > size/2:
return
# all tests ok!
pl = obj.Placement
import Part
circle = Part.makeCircle(obj.Diameter/2,bpoint,bvec)
circle = Part.Wire(circle)
try:
bar = wire.makePipeShell([circle],1,0,2)
except:
print "Arch: error sweeping rebar profile along the base sketch"
return
# building final shape
shapes = []
if obj.Amount == 1:
offset = DraftVecUtils.scaleTo(axis,size/2)
bar.translate(offset)
shapes.append(bar)
else:
if obj.Offset:
baseoffset = DraftVecUtils.scaleTo(axis,obj.Offset)
else:
baseoffset = None
interval = size - 2 * obj.Offset
interval = interval / (obj.Amount - 1)
interval = DraftVecUtils.scaleTo(axis,interval)
for i in range(obj.Amount):
if i == 0:
if baseoffset:
bar.translate(baseoffset)
shapes.append(bar)
else:
bar = bar.copy()
bar.translate(interval)
shapes.append(bar)
if shapes:
obj.Shape = Part.makeCompound(shapes)
obj.Placement = pl
class _ViewProviderRebar(ArchComponent.ViewProviderComponent):
"A View Provider for the Rebar object"
def __init__(self,vobj):
ArchComponent.ViewProviderComponent.__init__(self,vobj)
def getIcon(self):
import Arch_rc
return ":/icons/Arch_Rebar_Tree.svg"
FreeCADGui.addCommand('Arch_Rebar',_CommandRebar())

View File

@ -69,7 +69,7 @@ class _CommandSectionPlane:
"the Arch SectionPlane command definition"
def GetResources(self):
return {'Pixmap' : 'Arch_SectionPlane',
'Accel': "S, P",
'Accel': "S, E",
'MenuText': QtCore.QT_TRANSLATE_NOOP("Arch_SectionPlane","Section Plane"),
'ToolTip': QtCore.QT_TRANSLATE_NOOP("Arch_SectionPlane","Creates a section plane object, including the selected objects")}

View File

@ -315,13 +315,13 @@ def makeStructuralSystem(objects,axes):
FreeCAD.ActiveDocument.recompute()
return result
def makeProfile(W=46,H=80,tw=3.8,tf=5.2):
def makeProfile(W=46,H=80,tw=3.8,tf=5.2,name="Profile"):
'''makeProfile(W,H,tw,tf): returns a shape with one face describing
the profile of a steel beam (IPE, IPN, HE, etc...) based on the following
dimensions: W = total width, H = total height, tw = web thickness
tw = flange thickness (see http://en.wikipedia.org/wiki/I-beam for
reference)'''
obj = FreeCAD.ActiveDocument.addObject("Part::Part2DObjectPython","Profile")
obj = FreeCAD.ActiveDocument.addObject("Part::Part2DObjectPython",name)
_Profile(obj)
obj.Width = W
obj.Height = H
@ -330,6 +330,7 @@ def makeProfile(W=46,H=80,tw=3.8,tf=5.2):
Draft._ViewProviderDraft(obj.ViewObject)
return obj
class _CommandStructure:
"the Arch Structure command definition"
def GetResources(self):
@ -525,6 +526,8 @@ class _Structure(ArchComponent.Component):
str(translate("Arch","The height or extrusion depth of this element. Keep 0 for automatic")))
obj.addProperty("App::PropertyLinkList","Axes","Arch",
str(translate("Arch","Axes systems this structure is built on")))
obj.addProperty("App::PropertyLinkList","Armatures","Arch",
str(translate("Arch","Armatures contained in this element")))
obj.addProperty("App::PropertyVector","Normal","Arch",
str(translate("Arch","The normal extrusion direction of this object (keep (0,0,0) for automatic normal)")))
obj.addProperty("App::PropertyIntegerList","Exclude","Arch",
@ -683,10 +686,10 @@ class _Profile(Draft._DraftObject):
"A parametric beam profile object"
def __init__(self,obj):
obj.addProperty("App::PropertyDistance","Width","Base","Width of the beam").Width = 10
obj.addProperty("App::PropertyDistance","Height","Base","Height of the beam").Height = 30
obj.addProperty("App::PropertyDistance","WebThickness","Base","Thickness of the webs").WebThickness = 3
obj.addProperty("App::PropertyDistance","FlangeThickness","Base","Thickness of the flange").FlangeThickness = 2
obj.addProperty("App::PropertyDistance","Width","Draft","Width of the beam").Width = 10
obj.addProperty("App::PropertyDistance","Height","Draft","Height of the beam").Height = 30
obj.addProperty("App::PropertyDistance","WebThickness","Draft","Thickness of the webs").WebThickness = 3
obj.addProperty("App::PropertyDistance","FlangeThickness","Draft","Thickness of the flange").FlangeThickness = 2
Draft._DraftObject.__init__(self,obj,"Profile")
def execute(self,obj):

File diff suppressed because it is too large Load Diff

View File

@ -69,7 +69,7 @@ class ArchWorkbench(Workbench):
from DraftTools import translate
# arch tools
self.archtools = ["Arch_Wall","Arch_Structure",
self.archtools = ["Arch_Wall","Arch_Structure","Arch_Rebar",
"Arch_Floor","Arch_Building","Arch_Site",
"Arch_Window","Arch_Roof","Arch_Axis",
"Arch_SectionPlane","Arch_Space","Arch_Stairs",

View File

@ -36,6 +36,8 @@
<file>icons/Arch_Space_Tree.svg</file>
<file>icons/Arch_Stairs.svg</file>
<file>icons/Arch_Stairs_Tree.svg</file>
<file>icons/Arch_Rebar.svg</file>
<file>icons/Arch_Rebar_Tree.svg</file>
<file>ui/archprefs-base.ui</file>
<file>translations/Arch_af.qm</file>
<file>translations/Arch_de.qm</file>

View File

@ -0,0 +1,440 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Arch_Axis.svg">
<defs
id="defs2987">
<linearGradient
id="linearGradient3883">
<stop
style="stop-color:#ffb400;stop-opacity:1;"
offset="0"
id="stop3885" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887" />
</linearGradient>
<linearGradient
id="linearGradient3793">
<stop
style="stop-color:#000f8a;stop-opacity:1;"
offset="0"
id="stop3795" />
<stop
style="stop-color:#0066ff;stop-opacity:1;"
offset="1"
id="stop3797" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3793-2"
id="linearGradient3799-8"
x1="12.037806"
y1="54.001419"
x2="52.882648"
y2="9.274148"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3793-2">
<stop
style="stop-color:#000f8a;stop-opacity:1;"
offset="0"
id="stop3795-6" />
<stop
style="stop-color:#0066ff;stop-opacity:1;"
offset="1"
id="stop3797-0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883"
id="linearGradient3889"
x1="3"
y1="31.671875"
x2="59.25"
y2="31.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(84.181818,-14.181818)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-6"
id="linearGradient3889-4"
x1="3"
y1="31.671875"
x2="59.25"
y2="31.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-1.2727273,-0.18181818)" />
<linearGradient
id="linearGradient3883-6">
<stop
style="stop-color:#ffb400;stop-opacity:1;"
offset="0"
id="stop3885-4" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-5" />
</linearGradient>
<linearGradient
id="linearGradient3883-63">
<stop
style="stop-color:#ffb400;stop-opacity:1;"
offset="0"
id="stop3885-6" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-51" />
</linearGradient>
<linearGradient
y2="31.671875"
x2="59.25"
y1="31.671875"
x1="3"
gradientTransform="translate(-3,-1.9375)"
gradientUnits="userSpaceOnUse"
id="linearGradient3099"
xlink:href="#linearGradient3883-63"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1"
id="linearGradient3889-9"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,40.449388,-50.080588)" />
<linearGradient
id="linearGradient3883-1">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3" />
</linearGradient>
<linearGradient
y2="31.671875"
x2="59.25"
y1="31.671875"
x1="3"
gradientTransform="translate(-3,-1.9375)"
gradientUnits="userSpaceOnUse"
id="linearGradient3950"
xlink:href="#linearGradient3883-1"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-0"
id="linearGradient3889-9-4"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(62.772175,-14.278383)" />
<linearGradient
id="linearGradient3883-1-0">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-6" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-5" />
</linearGradient>
<linearGradient
y2="37.671875"
x2="-45.659092"
y1="52.217331"
x1="-45.909092"
gradientTransform="translate(72.070588,5.7891214)"
gradientUnits="userSpaceOnUse"
id="linearGradient3983"
xlink:href="#linearGradient3883-1-0"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-5"
id="linearGradient3889-9-5"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(62.772175,-14.278383)" />
<linearGradient
id="linearGradient3883-1-5">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-3" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-2" />
</linearGradient>
<linearGradient
y2="37.671875"
x2="-45.659092"
y1="52.217331"
x1="-45.909092"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,80.903931,-30.262405)"
gradientUnits="userSpaceOnUse"
id="linearGradient3983-2"
xlink:href="#linearGradient3883-1-5"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-0"
id="linearGradient4060"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,60.176658,-40.080587)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-6"
id="linearGradient3889-9-2"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,40.449388,-50.080588)" />
<linearGradient
id="linearGradient3883-1-6">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-4" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-7" />
</linearGradient>
<linearGradient
y2="37.671875"
x2="-45.659092"
y1="52.217331"
x1="-45.909092"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,40.449388,-50.080588)"
gradientUnits="userSpaceOnUse"
id="linearGradient4058"
xlink:href="#linearGradient3883-1-6"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1"
id="linearGradient4081"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,38.508476,-48.833971)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-0"
id="linearGradient4083"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,57.431574,-39.241615)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-5"
id="linearGradient4085"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,77.313909,-29.823666)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-1"
id="linearGradient4081-3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,94.343245,-4.8301808)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
id="linearGradient3883-1-1">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-8" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-0-2"
id="linearGradient4083-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,113.26634,4.7621752)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
id="linearGradient3883-1-0-2">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-6-2" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-5-1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-5-6"
id="linearGradient4085-4"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,77.313909,-25.823666)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
id="linearGradient3883-1-5-6">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-3-2" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-2-8" />
</linearGradient>
<linearGradient
y2="37.671875"
x2="-45.659092"
y1="52.217331"
x1="-45.909092"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,133.14868,14.180124)"
gradientUnits="userSpaceOnUse"
id="linearGradient4115"
xlink:href="#linearGradient3883-1-5-6"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.75"
inkscape:cx="-5.5037418"
inkscape:cy="39.023672"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1053"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata2990">
<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>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
style="opacity:0.5875;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 34.269886,8.301136 c -0.924819,0.04065 -1.848767,0.36042 -2.71875,1.03125 -10.568685,8.343131 -26.4999996,20.71875 -26.4999996,20.71875 l 0.0625,0.09375 c -1.258042,1.258042 -2.03125,2.986543 -2.03125,4.90625 0,3.839414 3.098086,6.9375 6.9374996,6.9375 1.332471,0 2.567358,-0.38121 3.625,-1.03125 l 0.0625,0.0625 c 0,0 0.703995,-0.555813 0.75,-0.59375 0.04578,-0.03778 0.08022,-0.08608 0.125,-0.125 1.490091,-1.228725 18.897203,-15.613696 25.375,-20.78125 4.272161,-3.615394 -0.693477,-11.438273 -5.6875,-11.21875 z m 27.375,1.625 -36.90625,29.125 c -2.00665,1.21927 -3.34375,3.417885 -3.34375,5.9375 0,3.839414 3.098086,6.9375 6.9375,6.9375 1.584374,0 3.049593,-0.51385 4.21875,-1.40625 l 0.0625,0.0625 29.03125,-22.875 0,-17.78125 z m 0,25.125 -17.40625,13.75 -0.03125,0 c -2.167074,1.177225 -3.625,3.485403 -3.625,6.125 0,3.839414 3.098086,6.96875 6.9375,6.96875 1.89626,0 3.58954,-0.800199 4.84375,-2.03125 l 0.125,0.15625 9.15625,-7.25 0,-17.71875 z"
id="rect3927-7-2"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:url(#linearGradient4085);fill-opacity:1;fill-rule:evenodd;stroke:#543900;stroke-width:1.91847098;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 61.458773,28.671621 -17.805809,14.028819 8.633119,10.94128 9.17269,-7.224242 0,-17.745857 z"
id="rect3927-7"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:url(#linearGradient4083);fill-opacity:1;fill-rule:evenodd;stroke:#543900;stroke-width:1.91847098;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 61.458773,3.5516421 -37.679969,29.7362999 8.633119,10.94128 29.04685,-22.901748 0,-17.7758319 z"
id="rect3927-9"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:url(#linearGradient4081);fill-opacity:1;fill-rule:evenodd;stroke:#543900;stroke-width:1.91847098;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 39.750619,13.165797 C 44.813916,8.880886 36.930652,-1.3275664 31.362759,2.9657454 20.794074,11.308876 4.863879,23.695587 4.863879,23.695587 l 8.633119,10.94128 c 0,0 19.497006,-16.081094 26.253621,-21.47107 z"
id="rect3927"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:type="arc"
style="color:#000000;fill:#ffd627;fill-opacity:1;fill-rule:evenodd;stroke:#543900;stroke-width:2.2328043;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3082"
sodipodi:cx="15.545455"
sodipodi:cy="23"
sodipodi:rx="8.090909"
sodipodi:ry="8.090909"
d="M 23.636364,23 A 8.090909,8.090909 0 1 1 7.454546,23 8.090909,8.090909 0 1 1 23.636364,23 z"
transform="matrix(0.85922041,0,0,0.85922041,-3.5334093,8.917727)" />
<path
sodipodi:type="arc"
style="color:#000000;fill:#ffd627;fill-opacity:1;fill-rule:evenodd;stroke:#543900;stroke-width:2.2328043;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3082-2"
sodipodi:cx="15.545455"
sodipodi:cy="23"
sodipodi:rx="8.090909"
sodipodi:ry="8.090909"
d="M 23.636364,23 A 8.090909,8.090909 0 1 1 7.454546,23 8.090909,8.090909 0 1 1 23.636364,23 z"
transform="matrix(0.85922041,0,0,0.85922041,14.779268,18.858894)" />
<path
sodipodi:type="arc"
style="color:#000000;fill:#ffd627;fill-opacity:1;fill-rule:evenodd;stroke:#543900;stroke-width:2.2328043;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3082-20"
sodipodi:cx="15.545455"
sodipodi:cy="23"
sodipodi:rx="8.090909"
sodipodi:ry="8.090909"
d="M 23.636364,23 A 8.090909,8.090909 0 1 1 7.454546,23 8.090909,8.090909 0 1 1 23.636364,23 z"
transform="matrix(0.85922041,0,0,0.85922041,33.963978,28.800062)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,435 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Arch_Rebar.svg">
<defs
id="defs2987">
<linearGradient
id="linearGradient3883">
<stop
style="stop-color:#ffb400;stop-opacity:1;"
offset="0"
id="stop3885" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887" />
</linearGradient>
<linearGradient
id="linearGradient3793">
<stop
style="stop-color:#000f8a;stop-opacity:1;"
offset="0"
id="stop3795" />
<stop
style="stop-color:#0066ff;stop-opacity:1;"
offset="1"
id="stop3797" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3793-2"
id="linearGradient3799-8"
x1="12.037806"
y1="54.001419"
x2="52.882648"
y2="9.274148"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3793-2">
<stop
style="stop-color:#000f8a;stop-opacity:1;"
offset="0"
id="stop3795-6" />
<stop
style="stop-color:#0066ff;stop-opacity:1;"
offset="1"
id="stop3797-0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883"
id="linearGradient3889"
x1="3"
y1="31.671875"
x2="59.25"
y2="31.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(84.181818,-14.181818)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-6"
id="linearGradient3889-4"
x1="3"
y1="31.671875"
x2="59.25"
y2="31.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-1.2727273,-0.18181818)" />
<linearGradient
id="linearGradient3883-6">
<stop
style="stop-color:#ffb400;stop-opacity:1;"
offset="0"
id="stop3885-4" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-5" />
</linearGradient>
<linearGradient
id="linearGradient3883-63">
<stop
style="stop-color:#ffb400;stop-opacity:1;"
offset="0"
id="stop3885-6" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-51" />
</linearGradient>
<linearGradient
y2="31.671875"
x2="59.25"
y1="31.671875"
x1="3"
gradientTransform="translate(-3,-1.9375)"
gradientUnits="userSpaceOnUse"
id="linearGradient3099"
xlink:href="#linearGradient3883-63"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1"
id="linearGradient3889-9"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,40.449388,-50.080588)" />
<linearGradient
id="linearGradient3883-1">
<stop
style="stop-color:#4c4c4c;stop-opacity:1;"
offset="0"
id="stop3885-63" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop3887-3" />
</linearGradient>
<linearGradient
y2="31.671875"
x2="59.25"
y1="31.671875"
x1="3"
gradientTransform="translate(-3,-1.9375)"
gradientUnits="userSpaceOnUse"
id="linearGradient3950"
xlink:href="#linearGradient3883-1"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-0"
id="linearGradient3889-9-4"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(62.772175,-14.278383)" />
<linearGradient
id="linearGradient3883-1-0">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-6" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-5" />
</linearGradient>
<linearGradient
y2="37.671875"
x2="-45.659092"
y1="52.217331"
x1="-45.909092"
gradientTransform="translate(72.070588,5.7891214)"
gradientUnits="userSpaceOnUse"
id="linearGradient3983"
xlink:href="#linearGradient3883-1-0"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-5"
id="linearGradient3889-9-5"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(62.772175,-14.278383)" />
<linearGradient
id="linearGradient3883-1-5">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-3" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-2" />
</linearGradient>
<linearGradient
y2="37.671875"
x2="-45.659092"
y1="52.217331"
x1="-45.909092"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,80.903931,-30.262405)"
gradientUnits="userSpaceOnUse"
id="linearGradient3983-2"
xlink:href="#linearGradient3883-1-5"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-0"
id="linearGradient4060"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,60.176658,-40.080587)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-6"
id="linearGradient3889-9-2"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,40.449388,-50.080588)" />
<linearGradient
id="linearGradient3883-1-6">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-4" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-7" />
</linearGradient>
<linearGradient
y2="37.671875"
x2="-45.659092"
y1="52.217331"
x1="-45.909092"
gradientTransform="matrix(0.78523034,-0.61920378,0.61920378,0.78523034,40.449388,-50.080588)"
gradientUnits="userSpaceOnUse"
id="linearGradient4058"
xlink:href="#linearGradient3883-1-6"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1"
id="linearGradient4081"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,38.508476,-44.833971)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1"
id="linearGradient4083"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,57.431574,-35.241615)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1"
id="linearGradient4085"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,77.313909,-25.823666)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-1"
id="linearGradient4081-3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,94.343245,-4.8301808)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
id="linearGradient3883-1-1">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-8" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-0-2"
id="linearGradient4083-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,113.26634,4.7621752)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
id="linearGradient3883-1-0-2">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-6-2" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-5-1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3883-1-5-6"
id="linearGradient4085-4"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,77.313909,-25.823666)"
x1="-45.909092"
y1="52.217331"
x2="-45.659092"
y2="37.671875" />
<linearGradient
id="linearGradient3883-1-5-6">
<stop
style="stop-color:#a27200;stop-opacity:1;"
offset="0"
id="stop3885-63-3-2" />
<stop
style="stop-color:#ffe900;stop-opacity:1;"
offset="1"
id="stop3887-3-2-8" />
</linearGradient>
<linearGradient
y2="37.671875"
x2="-45.659092"
y1="52.217331"
x1="-45.909092"
gradientTransform="matrix(0.7532208,-0.59396224,0.59396224,0.7532208,133.14868,14.180124)"
gradientUnits="userSpaceOnUse"
id="linearGradient4115"
xlink:href="#linearGradient3883-1-5-6"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.5"
inkscape:cx="-39.389533"
inkscape:cy="53.55266"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1053"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata2990">
<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>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
style="color:#000000;fill:url(#linearGradient4085);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.91847097999999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 61.458773,32.671621 -17.805809,14.028819 8.633119,10.94128 9.17269,-7.224242 0,-17.745857 z"
id="rect3927-7"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:url(#linearGradient4083);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.91847097999999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 61.458773,7.5516421 -37.679969,29.7362999 8.633119,10.94128 29.04685,-22.901748 0,-17.7758319 z"
id="rect3927-9"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:url(#linearGradient4081);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.91847097999999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 39.750619,17.165797 C 44.813916,12.880886 36.930652,2.6724336 31.362759,6.9657454 20.794074,15.308876 4.863879,27.695587 4.863879,27.695587 l 8.633119,10.94128 c 0,0 19.497006,-16.081094 26.253621,-21.47107 z"
id="rect3927"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:type="arc"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.23280430000000019;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3082"
sodipodi:cx="15.545455"
sodipodi:cy="23"
sodipodi:rx="8.090909"
sodipodi:ry="8.090909"
d="M 23.636364,23 A 8.090909,8.090909 0 1 1 7.454546,23 8.090909,8.090909 0 1 1 23.636364,23 z"
transform="matrix(0.85922041,0,0,0.85922041,-3.5334093,12.917727)" />
<path
sodipodi:type="arc"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.23280425;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3082-2"
sodipodi:cx="15.545455"
sodipodi:cy="23"
sodipodi:rx="8.090909"
sodipodi:ry="8.090909"
d="M 23.636364,23 A 8.090909,8.090909 0 1 1 7.454546,23 8.090909,8.090909 0 1 1 23.636364,23 z"
transform="matrix(0.85922041,0,0,0.85922041,14.779268,22.858894)" />
<path
sodipodi:type="arc"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.23280425;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path3082-20"
sodipodi:cx="15.545455"
sodipodi:cy="23"
sodipodi:rx="8.090909"
sodipodi:ry="8.090909"
d="M 23.636364,23 A 8.090909,8.090909 0 1 1 7.454546,23 8.090909,8.090909 0 1 1 23.636364,23 z"
transform="matrix(0.85922041,0,0,0.85922041,33.963978,32.800062)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -48,6 +48,7 @@
<File Id="ArchSpacePy" Name="ArchSpace.py" DiskId="1" />
<File Id="TestArchPy" Name="TestArch.py" DiskId="1" />
<File Id="ArchStairsPy" Name="ArchStairs.py" DiskId="1" />
<File Id="ArchRebarPy" Name="ArchRebar.py" DiskId="1" />
</Component>
</Directory>
</Include>