Arch: Allow axes to have labels

This commit is contained in:
Yorik van Havre
2017-06-05 18:08:54 -03:00
parent 43a8a94e64
commit 255b28138f
6 changed files with 1503 additions and 136 deletions

View File

@@ -95,6 +95,7 @@ class _Axis:
def __init__(self,obj):
obj.addProperty("App::PropertyFloatList","Distances","Arch", QT_TRANSLATE_NOOP("App::Property","The intervals between axes"))
obj.addProperty("App::PropertyFloatList","Angles","Arch", QT_TRANSLATE_NOOP("App::Property","The angles of each axis"))
obj.addProperty("App::PropertyStringList","Labels","Arch", QT_TRANSLATE_NOOP("App::Property","The label of each axis"))
obj.addProperty("App::PropertyLength","Length","Arch", QT_TRANSLATE_NOOP("App::Property","The length of the axes"))
obj.addProperty("App::PropertyPlacement","Placement","Base","")
obj.addProperty("Part::PropertyPartShape","Shape","Base","")
@@ -145,11 +146,13 @@ class _ViewProviderAxis:
vobj.addProperty("App::PropertyFloat","LineWidth","Base","")
vobj.addProperty("App::PropertyColor","LineColor","Base","")
vobj.addProperty("App::PropertyInteger","StartNumber","Base","")
vobj.addProperty("App::PropertyString","FontName","Base","")
vobj.addProperty("App::PropertyFont","FontName","Base","")
vobj.addProperty("App::PropertyLength","FontSize","Base","")
vobj.addProperty("App::PropertyBool","ShowLabel","Base",QT_TRANSLATE_NOOP("App::Property","If true, show the labels"))
vobj.addProperty("App::PropertyPlacement","LabelOffset","Base",QT_TRANSLATE_NOOP("App::Property","A transformation to apply to each label"))
vobj.NumberingStyle = ["1,2,3","01,02,03","001,002,003","A,B,C","a,b,c","I,II,III","L0,L1,L2"]
vobj.DrawStyle = ["Solid","Dashed","Dotted","Dashdot"]
vobj.BubblePosition = ["Start","End","Both"]
vobj.BubblePosition = ["Start","End","Both","None"]
vobj.Proxy = self
vobj.BubbleSize = 500
vobj.LineWidth = 1
@@ -159,6 +162,7 @@ class _ViewProviderAxis:
vobj.StartNumber = 1
vobj.FontName = Draft.getParam("textfont","Arial,Sans")
vobj.FontSize = 350
vobj.ShowLabel = False
def getIcon(self):
import Arch_rc
@@ -176,13 +180,16 @@ class _ViewProviderAxis:
self.linecoords = coin.SoCoordinate3()
self.lineset = coin.SoType.fromName("SoBrepEdgeSet").createInstance()
self.bubbleset = coin.SoSeparator()
self.labelset = coin.SoSeparator()
sep.addChild(self.mat)
sep.addChild(self.linestyle)
sep.addChild(self.linecoords)
sep.addChild(self.lineset)
sep.addChild(self.bubbleset)
sep.addChild(self.labelset)
vobj.addDisplayMode(sep,"Default")
self.onChanged(vobj,"BubbleSize")
self.onChanged(vobj,"ShowLabel")
def getDisplayModes(self,vobj):
return ["Default"]
@@ -210,6 +217,7 @@ class _ViewProviderAxis:
self.lineset.coordIndex.setValues(0,len(vset),vset)
self.lineset.coordIndex.setNum(len(vset))
self.onChanged(obj.ViewObject,"BubbleSize")
self.onChanged(obj.ViewObject,"ShowLabel")
def onChanged(self, vobj, prop):
if prop == "LineColor":
@@ -243,6 +251,8 @@ class _ViewProviderAxis:
if hasattr(vobj,"BubblePosition"):
if vobj.BubblePosition == "Both":
pos = ["Start","End"]
elif vobj.BubblePosition == "None":
pos = []
else:
pos = [vobj.BubblePosition]
for i in range(len(vobj.Object.Shape.Edges)):
@@ -310,6 +320,8 @@ class _ViewProviderAxis:
self.bubbles.addChild(st)
self.bubbleset.addChild(self.bubbles)
self.onChanged(vobj,"NumberingStyle")
if prop in ["FontName","FontSize"]:
self.onChanged(vobj,"ShowLabel")
elif prop in ["NumberingStyle","StartNumber"]:
if hasattr(self,"bubbletexts"):
chars = "abcdefghijklmnopqrstuvwxyz"
@@ -364,6 +376,53 @@ class _ViewProviderAxis:
if not alt:
num -= 1
alt = not alt
elif prop in ["ShowLabel", "LabelOffset"]:
if hasattr(self,"labels"):
if self.labels:
self.labelset.removeChild(self.labels)
self.labels = None
if hasattr(vobj,"ShowLabel") and hasattr(vobj.Object,"Labels"):
if vobj.ShowLabel:
self.labels = coin.SoSeparator()
for i in range(len(vobj.Object.Shape.Edges)):
if len(vobj.Object.Labels) > i:
if vobj.Object.Labels[i]:
import Draft
vert = vobj.Object.Shape.Edges[i].Vertexes[0].Point
if hasattr(vobj,"LabelOffset"):
pl = FreeCAD.Placement(vobj.LabelOffset)
pl.Base = vert.add(pl.Base)
st = coin.SoSeparator()
tr = coin.SoTransform()
fo = coin.SoFont()
tx = coin.SoAsciiText()
tx.justification = coin.SoText2.LEFT
t = vobj.Object.Labels[i]
if isinstance(t,unicode):
t = t.encode("utf8")
tx.string.setValue(t)
if hasattr(vobj,"FontSize"):
fs = vobj.FontSize.Value
elif hasattr(vobj.BubbleSize,"Value"):
fs = vobj.BubbleSize.Value*0.75
else:
fs = vobj.BubbleSize*0.75
tr.translation.setValue(tuple(pl.Base))
tr.rotation.setValue(pl.Rotation.Q)
fn = Draft.getParam("textfont","Arial,Sans")
if hasattr(vobj,"FontName"):
if vobj.FontName:
try:
fn = str(vobj.FontName)
except:
pass
fo.name = fn
fo.size = fs
st.addChild(tr)
st.addChild(fo)
st.addChild(tx)
self.labels.addChild(st)
self.labelset.addChild(self.labels)
def setEdit(self,vobj,mode=0):
@@ -407,7 +466,7 @@ class _AxisTaskPanel:
# tree
self.tree = QtGui.QTreeWidget(self.form)
self.grid.addWidget(self.tree, 1, 0, 1, 2)
self.tree.setColumnCount(3)
self.tree.setColumnCount(4)
self.tree.header().resizeSection(0,50)
self.tree.header().resizeSection(1,80)
self.tree.header().resizeSection(2,60)
@@ -447,8 +506,13 @@ class _AxisTaskPanel:
for i in range(len(self.obj.Distances)):
item = QtGui.QTreeWidgetItem(self.tree)
item.setText(0,str(i+1))
item.setText(1,str(self.obj.Distances[i]))
item.setText(2,str(self.obj.Angles[i]))
if len(self.obj.Distances) > i:
item.setText(1,str(self.obj.Distances[i]))
if len(self.obj.Angles) > i:
item.setText(2,str(self.obj.Angles[i]))
if hasattr(self.obj,"Labels"):
if len(self.obj.Labels) > i:
item.setText(3,str(self.obj.Labels[i]))
item.setFlags(item.flags() | QtCore.Qt.ItemIsEditable)
item.setTextAlignment(0,QtCore.Qt.AlignLeft)
self.retranslateUi(self.form)
@@ -477,6 +541,7 @@ class _AxisTaskPanel:
"transfers the values from the widget to the object"
d = []
a = []
l = []
for i in range(self.tree.topLevelItemCount()):
it = self.tree.findItems(str(i+1),QtCore.Qt.MatchExactly,0)[0]
if (remove == None) or (remove != i):
@@ -488,8 +553,10 @@ class _AxisTaskPanel:
a.append(float(it.text(2)))
else:
a.append(0.0)
l.append(it.text(3))
self.obj.Distances = d
self.obj.Angles = a
self.obj.Labels = l
self.obj.touch()
FreeCAD.ActiveDocument.recompute()
@@ -505,7 +572,8 @@ class _AxisTaskPanel:
self.title.setText(QtGui.QApplication.translate("Arch", "Distances (mm) and angles (deg) between axes", None))
self.tree.setHeaderLabels([QtGui.QApplication.translate("Arch", "Axis", None),
QtGui.QApplication.translate("Arch", "Distance", None),
QtGui.QApplication.translate("Arch", "Angle", None)])
QtGui.QApplication.translate("Arch", "Angle", None),
QtGui.QApplication.translate("Arch", "Label", None)])
if FreeCAD.GuiUp:
FreeCADGui.addCommand('Arch_Axis',_CommandAxis())

View File

@@ -26,6 +26,8 @@
<file>icons/Arch_Window_Clone.svg</file>
<file>icons/Arch_Axis.svg</file>
<file>icons/Arch_Axis_Tree.svg</file>
<file>icons/Arch_Axis_System.svg</file>
<file>icons/Arch_Axis_System_Tree.svg</file>
<file>icons/Arch_Roof.svg</file>
<file>icons/Arch_Roof_Tree.svg</file>
<file>icons/Arch_CloseHoles.svg</file>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,426 @@
<?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.92.1 r15371"
sodipodi:docname="Arch_Axis_System.svg">
<defs
id="defs2987">
<linearGradient
id="linearGradient3896"
inkscape:collect="always">
<stop
id="stop3898"
offset="0"
style="stop-color:#c4a000;stop-opacity:1" />
<stop
id="stop3900"
offset="1"
style="stop-color:#fce94f;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3812">
<stop
style="stop-color:#c4a000;stop-opacity:1"
offset="0"
id="stop3814" />
<stop
style="stop-color:#edd400;stop-opacity:0;"
offset="1"
id="stop3816" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3804">
<stop
style="stop-color:#c4a000;stop-opacity:1"
offset="0"
id="stop3806" />
<stop
style="stop-color:#edd400;stop-opacity:0;"
offset="1"
id="stop3808" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3796">
<stop
style="stop-color:#c4a000;stop-opacity:1"
offset="0"
id="stop3798" />
<stop
style="stop-color:#edd400;stop-opacity:0;"
offset="1"
id="stop3800" />
</linearGradient>
<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-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
inkscape:collect="always"
xlink:href="#linearGradient3796"
id="linearGradient3802"
x1="16.4375"
y1="59.705883"
x2="8.5625"
y2="40.294117"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3804"
id="linearGradient3810"
x1="16.4375"
y1="58.411766"
x2="8.5625"
y2="41.588234"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3812"
id="linearGradient3818"
x1="16.4375"
y1="58.411766"
x2="8.562501"
y2="41.588234"
gradientUnits="userSpaceOnUse" />
<linearGradient
gradientTransform="matrix(0.8,0,0,0.8,-12.6,18.4)"
inkscape:collect="always"
xlink:href="#linearGradient3896"
id="linearGradient3886-0"
x1="35.75"
y1="19.5"
x2="28.25"
y2="4.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
gradientTransform="matrix(0.8,0,0,0.8,-12.6,40.4)"
inkscape:collect="always"
xlink:href="#linearGradient3896"
id="linearGradient3888-6"
x1="35.75"
y1="19.5"
x2="28.25"
y2="4.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
gradientTransform="matrix(0.8,0,0,0.8,4.4,3.4)"
inkscape:collect="always"
xlink:href="#linearGradient3896"
id="linearGradient3884-2"
x1="34.5"
y1="20.75"
x2="27"
y2="3.25"
gradientUnits="userSpaceOnUse" />
<linearGradient
gradientTransform="matrix(0.8,0,0,0.8,26.4,3.4)"
inkscape:collect="always"
xlink:href="#linearGradient3896"
id="linearGradient3884-2-4"
x1="34.5"
y1="20.75"
x2="27"
y2="3.25"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6796362"
inkscape:cx="33.405573"
inkscape:cy="42.101045"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1051"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-bbox="true"
inkscape:snap-nodes="true">
<inkscape:grid
type="xygrid"
id="grid2999"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<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>
<dc:creator>
<cc:Agent>
<dc:title>[yorikvanhavre]</dc:title>
</cc:Agent>
</dc:creator>
<dc:title>Arch_Axis</dc:title>
<dc:date>2011-12-12</dc:date>
<dc:relation>http://www.freecadweb.org/wiki/index.php?title=Artwork</dc:relation>
<dc:publisher>
<cc:Agent>
<dc:title>FreeCAD</dc:title>
</cc:Agent>
</dc:publisher>
<dc:identifier>FreeCAD/src/Mod/Arch/Resources/icons/Arch_Axis.svg</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<cc:license>https://www.gnu.org/copyleft/lesser.html</cc:license>
<dc:contributor>
<cc:Agent>
<dc:title>[agryson] Alexander Gryson</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="fill:#edd400;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="rect3044-8"
width="6"
height="40"
x="27"
y="21" />
<circle
r="10"
cy="13"
cx="30"
style="fill:#edd400;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-7" />
<rect
style="fill:#edd400;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="rect3040-9"
width="40"
height="6"
x="21"
y="25" />
<rect
style="fill:#edd400;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="rect3042-2"
width="40"
height="6"
x="21"
y="47" />
<circle
r="10"
cy="50"
cx="13"
style="fill:#edd400;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-6-0" />
<rect
style="fill:#edd400;fill-opacity:1;stroke:none"
id="rect3044-7-2"
width="4"
height="39"
x="28"
y="21" />
<circle
r="10"
cy="28"
cx="13"
style="fill:#edd400;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-3-3" />
<rect
style="fill:#edd400;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="rect3044-8-5"
width="6"
height="40"
x="49"
y="21" />
<rect
style="fill:#edd400;fill-opacity:1;stroke:none"
id="rect3040-5-7"
width="39"
height="4"
x="21"
y="26" />
<rect
style="fill:#edd400;fill-opacity:1;stroke:none"
id="rect3042-3-5"
width="39"
height="4"
x="21"
y="48" />
<circle
r="8"
cy="13"
cx="30"
style="fill:url(#linearGradient3884-2);fill-opacity:1;stroke:#fce94f;stroke-width:2.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-5-9" />
<circle
r="8"
cy="50"
cx="13"
style="fill:url(#linearGradient3888-6);fill-opacity:1;stroke:#fce94f;stroke-width:2.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-6-6-2" />
<circle
r="8"
cy="28"
cx="13"
style="fill:url(#linearGradient3886-0);fill-opacity:1;stroke:#fce94f;stroke-width:2.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-3-2-2" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 21,27 h 8 v -6"
id="path3902-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
d="m 21,49 h 8 V 31"
id="path3904-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 29,60 V 52"
id="path3906-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 32,49 H 60"
id="path3910-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<circle
r="10"
cy="13"
cx="52"
style="fill:#edd400;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-7-7" />
<rect
style="fill:#edd400;fill-opacity:1;stroke:none"
id="rect3044-7-2-4"
width="4"
height="39"
x="50"
y="21" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 32,27 H 50"
id="path3908-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<circle
r="8"
cy="13"
cx="52"
style="fill:url(#linearGradient3884-2-4);fill-opacity:1;stroke:#fce94f;stroke-width:2.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-5-9-9" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 51,60 V 52"
id="path3906-7-9"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 51,50 V 30"
id="path3906-7-9-5"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 51,28 V 20"
id="path3906-7-9-9"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54,27 h 6"
id="path3910-6-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,421 @@
<?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.92.1 r15371"
sodipodi:docname="Arch_Axis_System_Tree.svg">
<defs
id="defs2987">
<linearGradient
id="linearGradient3896"
inkscape:collect="always">
<stop
id="stop3898"
offset="0"
style="stop-color:#d3d7cf;stop-opacity:1" />
<stop
id="stop3900"
offset="1"
style="stop-color:#ffffff;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3812">
<stop
style="stop-color:#c4a000;stop-opacity:1"
offset="0"
id="stop3814" />
<stop
style="stop-color:#edd400;stop-opacity:0;"
offset="1"
id="stop3816" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3804">
<stop
style="stop-color:#c4a000;stop-opacity:1"
offset="0"
id="stop3806" />
<stop
style="stop-color:#edd400;stop-opacity:0;"
offset="1"
id="stop3808" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3796">
<stop
style="stop-color:#c4a000;stop-opacity:1"
offset="0"
id="stop3798" />
<stop
style="stop-color:#edd400;stop-opacity:0;"
offset="1"
id="stop3800" />
</linearGradient>
<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-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
inkscape:collect="always"
xlink:href="#linearGradient3796"
id="linearGradient3802"
x1="16.4375"
y1="59.705883"
x2="8.5625"
y2="40.294117"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3804"
id="linearGradient3810"
x1="16.4375"
y1="58.411766"
x2="8.5625"
y2="41.588234"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3812"
id="linearGradient3818"
x1="16.4375"
y1="58.411766"
x2="8.562501"
y2="41.588234"
gradientUnits="userSpaceOnUse" />
<linearGradient
gradientTransform="matrix(0.8,0,0,0.8,-12.6,18.4)"
inkscape:collect="always"
xlink:href="#linearGradient3896"
id="linearGradient3886-1"
x1="35.75"
y1="19.5"
x2="28.25"
y2="4.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
gradientTransform="matrix(0.8,0,0,0.8,-12.6,40.4)"
inkscape:collect="always"
xlink:href="#linearGradient3896"
id="linearGradient3888-8"
x1="35.75"
y1="19.5"
x2="28.25"
y2="4.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
gradientTransform="matrix(0.8,0,0,0.8,4.4,3.4)"
inkscape:collect="always"
xlink:href="#linearGradient3896"
id="linearGradient3884-1"
x1="34.5"
y1="20.75"
x2="27"
y2="3.25"
gradientUnits="userSpaceOnUse" />
<linearGradient
gradientTransform="matrix(0.8,0,0,0.8,26.4,3.4)"
inkscape:collect="always"
xlink:href="#linearGradient3896"
id="linearGradient3884-1-4"
x1="34.5"
y1="20.75"
x2="27"
y2="3.25"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.189996"
inkscape:cx="12.900184"
inkscape:cy="29.6413"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1051"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-bbox="true"
inkscape:snap-nodes="true">
<inkscape:grid
type="xygrid"
id="grid2999"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<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>
<dc:creator>
<cc:Agent>
<dc:title>[yorikvanhavre]</dc:title>
</cc:Agent>
</dc:creator>
<dc:title>Arch_Axis_Tree</dc:title>
<dc:date>2011-12-12</dc:date>
<dc:relation>http://www.freecadweb.org/wiki/index.php?title=Artwork</dc:relation>
<dc:publisher>
<cc:Agent>
<dc:title>FreeCAD</dc:title>
</cc:Agent>
</dc:publisher>
<dc:identifier>FreeCAD/src/Mod/Arch/Resources/icons/Arch_Axis_Tree.svg</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<cc:license>https://www.gnu.org/copyleft/lesser.html</cc:license>
<dc:contributor>
<cc:Agent>
<dc:title>[agryson] Alexander Gryson</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="fill:#d3d7cf;fill-opacity:1;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="rect3044-0"
width="6"
height="40"
x="27"
y="21" />
<circle
r="10"
cy="13"
cx="30"
style="fill:#d3d7cf;fill-opacity:1;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-4" />
<rect
style="fill:#d3d7cf;fill-opacity:1;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="rect3040-4"
width="40"
height="6"
x="21"
y="25" />
<rect
style="fill:#d3d7cf;fill-opacity:1;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="rect3044-0-0"
width="6"
height="40"
x="49"
y="21" />
<rect
style="fill:#d3d7cf;fill-opacity:1;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="rect3042-4"
width="40"
height="6"
x="21"
y="47" />
<circle
r="10"
cy="50"
cx="13"
style="fill:#d3d7cf;fill-opacity:1;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-6-4" />
<rect
style="fill:#d3d7cf;fill-opacity:1;stroke:none"
id="rect3044-7-7"
width="4"
height="39"
x="28"
y="21" />
<circle
r="10"
cy="28"
cx="13"
style="fill:#d3d7cf;fill-opacity:1;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-3-6" />
<rect
style="fill:#d3d7cf;fill-opacity:1;stroke:none"
id="rect3040-5-3"
width="39"
height="4"
x="21"
y="26" />
<rect
style="fill:#d3d7cf;fill-opacity:1;stroke:none"
id="rect3042-3-1"
width="39"
height="4"
x="21"
y="48" />
<circle
r="8"
cy="13"
cx="30"
style="fill:url(#linearGradient3884-1);fill-opacity:1;stroke:#ffffff;stroke-width:2.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-5-7" />
<circle
r="8"
cy="50"
cx="13"
style="fill:url(#linearGradient3888-8);fill-opacity:1;stroke:#ffffff;stroke-width:2.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-6-6-5" />
<circle
r="8"
cy="28"
cx="13"
style="fill:url(#linearGradient3886-1);fill-opacity:1;stroke:#ffffff;stroke-width:2.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-3-2-9" />
<path
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 21,27 h 8 v -6"
id="path3902-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
d="m 21,49 h 8 V 31"
id="path3904-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 29,60 V 52"
id="path3906-1"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 36,27 H 60"
id="path3908-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 32,49 H 60"
id="path3910-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<circle
r="10"
cy="13"
cx="52"
style="fill:#d3d7cf;fill-opacity:1;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-4-8" />
<rect
style="fill:#d3d7cf;fill-opacity:1;stroke:none"
id="rect3044-7-7-6"
width="4"
height="39"
x="50"
y="21" />
<circle
r="8"
cy="13"
cx="52"
style="fill:url(#linearGradient3884-1-4);fill-opacity:1;stroke:#ffffff;stroke-width:2.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60000002;stroke-opacity:1"
id="path3013-5-7-2" />
<path
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 32,27 H 51 V 21"
id="path3902-6-4"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 51,60 V 52"
id="path3906-1-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 51,50 V 30"
id="path3906-1-7-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB