Arch: Axis-bbased structural systems are now a separate object - fixes #1486
This commit is contained in:
parent
4f008b36f8
commit
08d2121334
|
@ -81,7 +81,7 @@ def addComponents(objectsList,host):
|
|||
if not o in c:
|
||||
c.append(o)
|
||||
host.Group = c
|
||||
elif hostType in ["Wall","Structure","Window","Roof","Stairs"]:
|
||||
elif hostType in ["Wall","Structure","Window","Roof","Stairs","StructuralSystem"]:
|
||||
import DraftGeomUtils
|
||||
a = host.Additions
|
||||
if hasattr(host,"Axes"):
|
||||
|
@ -122,7 +122,7 @@ def removeComponents(objectsList,host=None):
|
|||
if not isinstance(objectsList,list):
|
||||
objectsList = [objectsList]
|
||||
if host:
|
||||
if Draft.getType(host) in ["Wall","Structure","Window","Roof","Stairs"]:
|
||||
if Draft.getType(host) in ["Wall","Structure","Window","Roof","Stairs","StructuralSystem"]:
|
||||
if hasattr(host,"Tool"):
|
||||
if objectsList[0] == host.Tool:
|
||||
host.Tool = None
|
||||
|
|
|
@ -309,17 +309,27 @@ def makeStructure(baseobj=None,length=0,width=0,height=0,name=translate("Arch","
|
|||
obj.ViewObject.ShapeColor = ArchCommands.getDefaultColor("Structure")
|
||||
return obj
|
||||
|
||||
def makeStructuralSystem(objects,axes):
|
||||
def makeStructuralSystem(objects,axes,name=translate("Arch","StructuralSystem")):
|
||||
'''makeStructuralSystem(objects,axes): makes a structural system
|
||||
based on the given objects and axes'''
|
||||
result = []
|
||||
if objects and axes:
|
||||
if not isinstance(objects,list):
|
||||
objects = [objects]
|
||||
for o in objects:
|
||||
s = makeStructure(o)
|
||||
s.Axes = axes
|
||||
result.append(s)
|
||||
obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name)
|
||||
_StructuralSystem(obj)
|
||||
_ViewProviderStructuralSystem(obj.ViewObject)
|
||||
obj.Base = o
|
||||
obj.Axes = axes
|
||||
result.append(obj)
|
||||
o.ViewObject.hide()
|
||||
Draft.formatObject(obj,o)
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
return result
|
||||
if len(result) == 1:
|
||||
return result[0]
|
||||
else:
|
||||
return result
|
||||
|
||||
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
|
||||
|
@ -336,7 +346,6 @@ def makeProfile(W=46,H=80,tw=3.8,tf=5.2,name="Profile"):
|
|||
Draft._ViewProviderDraft(obj.ViewObject)
|
||||
return obj
|
||||
|
||||
|
||||
class _CommandStructure:
|
||||
"the Arch Structure command definition"
|
||||
def GetResources(self):
|
||||
|
@ -354,19 +363,20 @@ class _CommandStructure:
|
|||
self.continueCmd = False
|
||||
sel = FreeCADGui.Selection.getSelection()
|
||||
if sel:
|
||||
if Draft.getType(sel[0]) != "Structure":
|
||||
# direct creation
|
||||
st = Draft.getObjectsOfType(sel,"Structure")
|
||||
ax = Draft.getObjectsOfType(sel,"Axis")
|
||||
if st and ax:
|
||||
FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Structural System")))
|
||||
FreeCADGui.doCommand("import Arch")
|
||||
FreeCADGui.doCommand("Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")")
|
||||
FreeCAD.ActiveDocument.commitTransaction()
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
return
|
||||
elif not(ax) and not(st):
|
||||
FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Structure")))
|
||||
FreeCADGui.doCommand("import Arch")
|
||||
# if selection contains structs and axes, make a system
|
||||
st = Draft.getObjectsOfType(sel,"Structure")
|
||||
ax = Draft.getObjectsOfType(sel,"Axis")
|
||||
if st and ax:
|
||||
FreeCADGui.doCommand("Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")")
|
||||
else:
|
||||
# else, do normal structs
|
||||
for obj in sel:
|
||||
FreeCADGui.doCommand("Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")")
|
||||
for obj in sel:
|
||||
FreeCADGui.doCommand("Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")")
|
||||
FreeCAD.ActiveDocument.commitTransaction()
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
return
|
||||
|
@ -530,10 +540,8 @@ class _Structure(ArchComponent.Component):
|
|||
obj.addProperty("App::PropertyLength","Length","Arch",translate("Arch","The length of this element, if not based on a profile"))
|
||||
obj.addProperty("App::PropertyLength","Width","Arch",translate("Arch","The width of this element, if not based on a profile"))
|
||||
obj.addProperty("App::PropertyLength","Height","Arch",translate("Arch","The height or extrusion depth of this element. Keep 0 for automatic"))
|
||||
obj.addProperty("App::PropertyLinkList","Axes","Arch",translate("Arch","Axes systems this structure is built on"))
|
||||
obj.addProperty("App::PropertyLinkList","Armatures","Arch",translate("Arch","Armatures contained in this element"))
|
||||
obj.addProperty("App::PropertyVector","Normal","Arch",translate("Arch","The normal extrusion direction of this object (keep (0,0,0) for automatic normal)"))
|
||||
obj.addProperty("App::PropertyIntegerList","Exclude","Arch",translate("Arch","The element numbers to exclude when this structure is based on axes"))
|
||||
obj.addProperty("App::PropertyEnumeration","Role","Arch",translate("Arch","The role of this structural element"))
|
||||
obj.addProperty("App::PropertyVectorList","Nodes","Arch",translate("Arch","The structural nodes of this element"))
|
||||
self.Type = "Structure"
|
||||
|
@ -638,36 +646,17 @@ class _Structure(ArchComponent.Component):
|
|||
base = self.processSubShapes(obj,base,pl)
|
||||
|
||||
if base:
|
||||
# applying axes
|
||||
pts = self.getAxisPoints(obj)
|
||||
apl = self.getAxisPlacement(obj)
|
||||
if pts:
|
||||
fsh = []
|
||||
for i in range(len(pts)):
|
||||
if hasattr(obj,"Exclude"):
|
||||
if i in obj.Exclude:
|
||||
continue
|
||||
sh = base.copy()
|
||||
if apl:
|
||||
sh.Placement.Rotation = apl.Rotation
|
||||
sh.translate(pts[i])
|
||||
fsh.append(sh)
|
||||
obj.Shape = Part.makeCompound(fsh)
|
||||
|
||||
# finalizing
|
||||
else:
|
||||
if base:
|
||||
if not base.isNull():
|
||||
if base.isValid() and base.Solids:
|
||||
if base.Volume < 0:
|
||||
base.reverse()
|
||||
if base.Volume < 0:
|
||||
FreeCAD.Console.PrintError(translate("Arch","Couldn't compute a shape"))
|
||||
return
|
||||
base = base.removeSplitter()
|
||||
obj.Shape = base
|
||||
if not pl.isNull():
|
||||
obj.Placement = pl
|
||||
if not base.isNull():
|
||||
if base.isValid() and base.Solids:
|
||||
if base.Volume < 0:
|
||||
base.reverse()
|
||||
if base.Volume < 0:
|
||||
FreeCAD.Console.PrintError(translate("Arch","Couldn't compute a shape"))
|
||||
return
|
||||
base = base.removeSplitter()
|
||||
obj.Shape = base
|
||||
if not pl.isNull():
|
||||
obj.Placement = pl
|
||||
|
||||
def onChanged(self,obj,prop):
|
||||
self.hideSubobjects(obj,prop)
|
||||
|
@ -694,27 +683,7 @@ class _Structure(ArchComponent.Component):
|
|||
self.nodes = [p1,p2]
|
||||
#print "calculating nodes: ",self.nodes
|
||||
obj.Nodes = self.nodes
|
||||
|
||||
def getAxisPoints(self,obj):
|
||||
"returns the gridpoints of linked axes"
|
||||
import DraftGeomUtils
|
||||
pts = []
|
||||
if len(obj.Axes) == 1:
|
||||
for e in obj.Axes[0].Shape.Edges:
|
||||
pts.append(e.Vertexes[0].Point)
|
||||
elif len(obj.Axes) >= 2:
|
||||
set1 = obj.Axes[0].Shape.Edges
|
||||
set2 = obj.Axes[1].Shape.Edges
|
||||
for e1 in set1:
|
||||
for e2 in set2:
|
||||
pts.extend(DraftGeomUtils.findIntersection(e1,e2))
|
||||
return pts
|
||||
|
||||
def getAxisPlacement(self,obj):
|
||||
"returns an axis placement"
|
||||
if obj.Axes:
|
||||
return obj.Axes[0].Placement
|
||||
return None
|
||||
|
||||
class _ViewProviderStructure(ArchComponent.ViewProviderComponent):
|
||||
"A View Provider for the Structure object"
|
||||
|
@ -782,7 +751,6 @@ class _ViewProviderStructure(ArchComponent.ViewProviderComponent):
|
|||
self.pointstyle.pointSize = vobj.NodeSize
|
||||
ArchComponent.ViewProviderComponent.onChanged(self,vobj,prop)
|
||||
|
||||
|
||||
class _Profile(Draft._DraftObject):
|
||||
"A parametric beam profile object"
|
||||
|
||||
|
@ -813,5 +781,92 @@ class _Profile(Draft._DraftObject):
|
|||
obj.Shape = p
|
||||
obj.Placement = pl
|
||||
|
||||
class _StructuralSystem(ArchComponent.Component):
|
||||
"The Structural System object"
|
||||
def __init__(self,obj):
|
||||
ArchComponent.Component.__init__(self,obj)
|
||||
obj.addProperty("App::PropertyLinkList","Axes","Arch",translate("Arch","Axes systems this structure is built on"))
|
||||
obj.addProperty("App::PropertyIntegerList","Exclude","Arch",translate("Arch","The element numbers to exclude when this structure is based on axes"))
|
||||
self.Type = "StructuralSystem"
|
||||
|
||||
def execute(self,obj):
|
||||
"creates the structure shape"
|
||||
|
||||
import Part, DraftGeomUtils
|
||||
|
||||
# creating base shape
|
||||
pl = obj.Placement
|
||||
if obj.Base:
|
||||
if obj.Base.isDerivedFrom("Part::Feature"):
|
||||
if obj.Base.Shape.isNull():
|
||||
return
|
||||
if not obj.Base.Shape.Solids:
|
||||
return
|
||||
|
||||
base = None
|
||||
|
||||
# applying axes
|
||||
pts = self.getAxisPoints(obj)
|
||||
apl = self.getAxisPlacement(obj)
|
||||
|
||||
if pts:
|
||||
fsh = []
|
||||
for i in range(len(pts)):
|
||||
sh = obj.Base.Shape.copy()
|
||||
if hasattr(obj,"Exclude"):
|
||||
if i in obj.Exclude:
|
||||
continue
|
||||
if apl:
|
||||
sh.Placement.Rotation = sh.Placement.Rotation.multiply(apl.Rotation)
|
||||
sh.translate(pts[i])
|
||||
fsh.append(sh)
|
||||
|
||||
if fsh:
|
||||
base = Part.makeCompound(fsh)
|
||||
base = self.processSubShapes(obj,base,pl)
|
||||
|
||||
if base:
|
||||
if not base.isNull():
|
||||
if base.isValid() and base.Solids:
|
||||
if base.Volume < 0:
|
||||
base.reverse()
|
||||
if base.Volume < 0:
|
||||
FreeCAD.Console.PrintError(translate("Arch","Couldn't compute a shape"))
|
||||
return
|
||||
base = base.removeSplitter()
|
||||
obj.Shape = base
|
||||
if not pl.isNull():
|
||||
obj.Placement = pl
|
||||
|
||||
def getAxisPoints(self,obj):
|
||||
"returns the gridpoints of linked axes"
|
||||
import DraftGeomUtils
|
||||
pts = []
|
||||
if len(obj.Axes) == 1:
|
||||
for e in obj.Axes[0].Shape.Edges:
|
||||
pts.append(e.Vertexes[0].Point)
|
||||
elif len(obj.Axes) >= 2:
|
||||
set1 = obj.Axes[0].Shape.Edges
|
||||
set2 = obj.Axes[1].Shape.Edges
|
||||
for e1 in set1:
|
||||
for e2 in set2:
|
||||
pts.extend(DraftGeomUtils.findIntersection(e1,e2))
|
||||
return pts
|
||||
|
||||
def getAxisPlacement(self,obj):
|
||||
"returns an axis placement"
|
||||
if obj.Axes:
|
||||
return obj.Axes[0].Placement
|
||||
return None
|
||||
|
||||
|
||||
class _ViewProviderStructuralSystem(ArchComponent.ViewProviderComponent):
|
||||
"A View Provider for the Structural System object"
|
||||
|
||||
def getIcon(self):
|
||||
import Arch_rc
|
||||
return ":/icons/Arch_StructuralSystem_Tree.svg"
|
||||
|
||||
|
||||
if FreeCAD.GuiUp:
|
||||
FreeCADGui.addCommand('Arch_Structure',_CommandStructure())
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -42,6 +42,8 @@
|
|||
<file>icons/Arch_Frame_Tree.svg</file>
|
||||
<file>icons/Arch_Survey.svg</file>
|
||||
<file>icons/IFC.svg</file>
|
||||
<file>icons/Arch_StructuralSystem.svg</file>
|
||||
<file>icons/Arch_StructuralSystem_Tree.svg</file>
|
||||
<file>ui/archprefs-base.ui</file>
|
||||
<file>ui/archprefs-import.ui</file>
|
||||
<file>ui/ParametersWindowDouble.svg</file>
|
||||
|
|
279
src/Mod/Arch/Resources/icons/Arch_StructuralSystem.svg
Normal file
279
src/Mod/Arch/Resources/icons/Arch_StructuralSystem.svg
Normal file
|
@ -0,0 +1,279 @@
|
|||
<?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: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_Structure.svg">
|
||||
<defs
|
||||
id="defs2987">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-99.221344 : 76.178092 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="237.30654 : 103.20253 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 45.960393 : 1"
|
||||
id="perspective2993" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-56.67589 : 60.541728 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="125.67018 : 63.747989 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 35.960393 : 1"
|
||||
id="perspective2993-4" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-46.892514 : 61.217294 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="95.652941 : 64.126385 : 1"
|
||||
inkscape:persp3d-origin="26.74385 : 38.914263 : 1"
|
||||
id="perspective2993-7" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-49.818182 : 58.545455 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="92.727273 : 61.454546 : 1"
|
||||
inkscape:persp3d-origin="23.818182 : 36.242424 : 1"
|
||||
id="perspective2993-3" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-56.67589 : 60.541728 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="125.67018 : 63.747989 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 35.960393 : 1"
|
||||
id="perspective2993-9" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-194.65743 : 117.57652 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="141.87045 : 144.60095 : 1"
|
||||
inkscape:persp3d-origin="-57.915345 : 87.358818 : 1"
|
||||
id="perspective2993-0" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-99.221344 : 76.178092 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="237.30654 : 103.20253 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 45.960393 : 1"
|
||||
id="perspective4189" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-99.221344 : 76.178092 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="237.30654 : 103.20253 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 45.960393 : 1"
|
||||
id="perspective4191" />
|
||||
</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="4.3186643"
|
||||
inkscape:cy="35.73977"
|
||||
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="fill:none;stroke:#000eb3;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:5,2.5;stroke-dashoffset:0"
|
||||
d="M 62.647595,15.862456 0.82766681,34.839131"
|
||||
id="path4150"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000eb3;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:5,2.5;stroke-dashoffset:0"
|
||||
d="M 1.324571,27.300026 62.044877,50.657313"
|
||||
id="path4152"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000eb3;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:5,2.5;stroke-dashoffset:0"
|
||||
d="M 1.7272727,48 62.727273,25.181818"
|
||||
id="path4156"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000eb3;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:5,2.5;stroke-dashoffset:0"
|
||||
d="M 62.545455,38.636364 17.818182,58.909091"
|
||||
id="path4158"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
sodipodi:type="inkscape:box3d"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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="g3223"
|
||||
inkscape:perspectiveID="#perspective2993"
|
||||
inkscape:corner0="-0.016852246 : 0.0023248852 : 0 : 1"
|
||||
inkscape:corner7="-0.079977241 : -0.024748012 : 0.049480549 : 1">
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3233"
|
||||
style="fill:#afafde;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="13"
|
||||
d="M 39.864648,46.30119 49.407676,50.313596 58.997472,45.74496 49.32549,42.2041 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3225"
|
||||
style="fill:#353564;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="6"
|
||||
d="m 39.864648,15.951273 0,30.349917 9.460842,-4.09709 0,-28.895637 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3235"
|
||||
style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="11"
|
||||
d="m 49.32549,13.308463 9.671982,1.659446 0,30.777051 -9.671982,-3.54086 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3227"
|
||||
style="color:#000000;fill:#774901;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="5"
|
||||
d="m 39.864648,15.951273 9.543028,1.930024 9.589796,-2.913388 -9.671982,-1.659446 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3231"
|
||||
style="color:#000000;fill:#fff14a;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="14"
|
||||
d="m 49.407676,17.881297 0,32.432299 9.589796,-4.568636 0,-30.777051 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3229"
|
||||
style="color:#000000;fill:#ffc900;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="3"
|
||||
d="m 39.864648,15.951273 9.543028,1.930024 0,32.432299 -9.543028,-4.012406 z" />
|
||||
</g>
|
||||
<g
|
||||
sodipodi:type="inkscape:box3d"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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="g3237"
|
||||
inkscape:perspectiveID="#perspective2993"
|
||||
inkscape:corner0="0.13775877 : 0.002304779 : 0 : 1"
|
||||
inkscape:corner7="0.068199756 : -0.024658264 : 0.045542488 : 1">
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3247"
|
||||
style="fill:#afafde;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="13"
|
||||
d="m 20.964133,38.267451 7.826236,3.284912 8.52652,-3.302181 -8.026244,-2.964369 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3239"
|
||||
style="fill:#353564;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="6"
|
||||
d="m 20.964133,12.148226 0,26.119225 8.326512,-2.981638 0,-25.113957 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3249"
|
||||
style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="11"
|
||||
d="m 29.290645,10.171856 8.026244,1.395871 0,26.682455 -8.026244,-2.964369 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3241"
|
||||
style="color:#000000;fill:#774901;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="5"
|
||||
d="m 20.964133,12.148226 7.826236,1.584081 8.52652,-2.16458 -8.026244,-1.395871 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3245"
|
||||
style="color:#000000;fill:#fff14a;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="14"
|
||||
d="m 28.790369,13.732307 0,27.820056 8.52652,-3.302181 0,-26.682455 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3243"
|
||||
style="color:#000000;fill:#ffc900;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="3"
|
||||
d="m 20.964133,12.148226 7.826236,1.584081 0,27.820056 -7.826236,-3.284912 z" />
|
||||
</g>
|
||||
<g
|
||||
sodipodi:type="inkscape:box3d"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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="g3279"
|
||||
inkscape:perspectiveID="#perspective2993"
|
||||
inkscape:corner0="0.32700775 : 0.0021012907 : 0 : 1"
|
||||
inkscape:corner7="0.24805774 : -0.024670458 : 0.046124332 : 1">
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3289"
|
||||
style="fill:#afafde;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="13"
|
||||
d="M 3.8240836,31.083372 10.342562,33.820019 18.431503,31.217513 11.6669,28.722427 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3281"
|
||||
style="fill:#353564;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="6"
|
||||
d="m 3.8240836,8.8479772 0,22.2353948 7.8428164,-2.360945 0,-21.4884952 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3291"
|
||||
style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="11"
|
||||
d="m 11.6669,7.2339318 6.764603,1.184207 0,22.7993742 -6.764603,-2.495086 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3283"
|
||||
style="color:#000000;fill:#774901;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="5"
|
||||
d="M 3.8240836,8.8479772 10.342562,10.178051 18.431503,8.4181388 11.6669,7.2339318 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3287"
|
||||
style="color:#000000;fill:#fff14a;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="14"
|
||||
d="m 10.342562,10.178051 0,23.641968 8.088941,-2.602506 0,-22.7993742 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3285"
|
||||
style="color:#000000;fill:#ffc900;fill-opacity:1;fill-rule:evenodd;stroke:#473400;stroke-width:1;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"
|
||||
inkscape:box3dsidetype="3"
|
||||
d="m 3.8240836,8.8479772 6.5184784,1.3300738 0,23.641968 -6.5184784,-2.736647 z" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000eb3;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5, 2.5;stroke-dashoffset:0"
|
||||
d="M 1.6398471,39.594083 43.269244,61.496825"
|
||||
id="path4152-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g3223-6"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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" />
|
||||
<g
|
||||
id="g3237-6"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 15 KiB |
267
src/Mod/Arch/Resources/icons/Arch_StructuralSystem_Tree.svg
Normal file
267
src/Mod/Arch/Resources/icons/Arch_StructuralSystem_Tree.svg
Normal file
|
@ -0,0 +1,267 @@
|
|||
<?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: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_StructuralSystem.svg">
|
||||
<defs
|
||||
id="defs2987">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-99.221344 : 76.178092 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="237.30654 : 103.20253 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 45.960393 : 1"
|
||||
id="perspective2993" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-56.67589 : 60.541728 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="125.67018 : 63.747989 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 35.960393 : 1"
|
||||
id="perspective2993-4" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-46.892514 : 61.217294 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="95.652941 : 64.126385 : 1"
|
||||
inkscape:persp3d-origin="26.74385 : 38.914263 : 1"
|
||||
id="perspective2993-7" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-49.818182 : 58.545455 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="92.727273 : 61.454546 : 1"
|
||||
inkscape:persp3d-origin="23.818182 : 36.242424 : 1"
|
||||
id="perspective2993-3" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-56.67589 : 60.541728 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="125.67018 : 63.747989 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 35.960393 : 1"
|
||||
id="perspective2993-9" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-194.65743 : 117.57652 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="141.87045 : 144.60095 : 1"
|
||||
inkscape:persp3d-origin="-57.915345 : 87.358818 : 1"
|
||||
id="perspective2993-0" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-99.221344 : 76.178092 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="237.30654 : 103.20253 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 45.960393 : 1"
|
||||
id="perspective4189" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-99.221344 : 76.178092 : 1"
|
||||
inkscape:vp_y="0 : 1102.1522 : 0"
|
||||
inkscape:vp_z="237.30654 : 103.20253 : 1"
|
||||
inkscape:persp3d-origin="37.520737 : 45.960393 : 1"
|
||||
id="perspective4191" />
|
||||
</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="-7.5598237"
|
||||
inkscape:cy="24.178318"
|
||||
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="fill:none;stroke:#000eb3;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
|
||||
d="M 62.647595,15.862456 0.82766681,34.839131"
|
||||
id="path4150"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000eb3;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
|
||||
d="M 1.7272727,48 62.727273,25.181818"
|
||||
id="path4156"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000eb3;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
|
||||
d="M 62.545455,38.636364 17.818182,58.909091"
|
||||
id="path4158"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
sodipodi:type="inkscape:box3d"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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="g3223"
|
||||
inkscape:perspectiveID="#perspective2993"
|
||||
inkscape:corner0="-0.016852246 : 0.0023248852 : 0 : 1"
|
||||
inkscape:corner7="-0.079977241 : -0.024748012 : 0.049480549 : 1">
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3233"
|
||||
style="fill:#afafde;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="13"
|
||||
d="M 39.864648,46.30119 49.407676,50.313596 58.997472,45.74496 49.32549,42.2041 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3225"
|
||||
style="fill:#353564;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="6"
|
||||
d="m 39.864648,15.951273 0,30.349917 9.460842,-4.09709 0,-28.895637 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3235"
|
||||
style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="11"
|
||||
d="m 49.32549,13.308463 9.671982,1.659446 0,30.777051 -9.671982,-3.54086 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3227"
|
||||
style="color:#000000;fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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;marker-start:none;marker-mid:none;marker-end:none"
|
||||
inkscape:box3dsidetype="5"
|
||||
d="m 39.864648,15.951273 9.543028,1.930024 9.589796,-2.913388 -9.671982,-1.659446 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3231"
|
||||
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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;marker-start:none;marker-mid:none;marker-end:none"
|
||||
inkscape:box3dsidetype="14"
|
||||
d="m 49.407676,17.881297 0,32.432299 9.589796,-4.568636 0,-30.777051 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3229"
|
||||
style="color:#000000;fill:#bfbfbf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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;marker-start:none;marker-mid:none;marker-end:none"
|
||||
inkscape:box3dsidetype="3"
|
||||
d="m 39.864648,15.951273 9.543028,1.930024 0,32.432299 -9.543028,-4.012406 z" />
|
||||
</g>
|
||||
<g
|
||||
sodipodi:type="inkscape:box3d"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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="g3237"
|
||||
inkscape:perspectiveID="#perspective2993"
|
||||
inkscape:corner0="0.13775877 : 0.002304779 : 0 : 1"
|
||||
inkscape:corner7="0.068199756 : -0.024658264 : 0.045542488 : 1">
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3247"
|
||||
style="fill:#afafde;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="13"
|
||||
d="m 20.964133,38.267451 7.826236,3.284912 8.52652,-3.302181 -8.026244,-2.964369 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3239"
|
||||
style="fill:#353564;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="6"
|
||||
d="m 20.964133,12.148226 0,26.119225 8.326512,-2.981638 0,-25.113957 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3249"
|
||||
style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="11"
|
||||
d="m 29.290645,10.171856 8.026244,1.395871 0,26.682455 -8.026244,-2.964369 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3241"
|
||||
style="color:#000000;fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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;marker-start:none;marker-mid:none;marker-end:none"
|
||||
inkscape:box3dsidetype="5"
|
||||
d="m 20.964133,12.148226 7.826236,1.584081 8.52652,-2.16458 -8.026244,-1.395871 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3245"
|
||||
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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;marker-start:none;marker-mid:none;marker-end:none"
|
||||
inkscape:box3dsidetype="14"
|
||||
d="m 28.790369,13.732307 0,27.820056 8.52652,-3.302181 0,-26.682455 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3243"
|
||||
style="color:#000000;fill:#bfbfbf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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;marker-start:none;marker-mid:none;marker-end:none"
|
||||
inkscape:box3dsidetype="3"
|
||||
d="m 20.964133,12.148226 7.826236,1.584081 0,27.820056 -7.826236,-3.284912 z" />
|
||||
</g>
|
||||
<g
|
||||
sodipodi:type="inkscape:box3d"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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="g3279"
|
||||
inkscape:perspectiveID="#perspective2993"
|
||||
inkscape:corner0="0.32700775 : 0.0021012907 : 0 : 1"
|
||||
inkscape:corner7="0.24805774 : -0.024670458 : 0.046124332 : 1">
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3289"
|
||||
style="fill:#afafde;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="13"
|
||||
d="M 3.8240836,31.083372 10.342562,33.820019 18.431503,31.217513 11.6669,28.722427 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3281"
|
||||
style="fill:#353564;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="6"
|
||||
d="m 3.8240836,8.8479772 0,22.2353948 7.8428164,-2.360945 0,-21.4884952 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3291"
|
||||
style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
|
||||
inkscape:box3dsidetype="11"
|
||||
d="m 11.6669,7.2339318 6.764603,1.184207 0,22.7993742 -6.764603,-2.495086 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3283"
|
||||
style="color:#000000;fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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;marker-start:none;marker-mid:none;marker-end:none"
|
||||
inkscape:box3dsidetype="5"
|
||||
d="M 3.8240836,8.8479772 10.342562,10.178051 18.431503,8.4181388 11.6669,7.2339318 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3287"
|
||||
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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"
|
||||
inkscape:box3dsidetype="14"
|
||||
d="m 10.342562,10.178051 0,23.641968 8.088941,-2.602506 0,-22.7993742 z" />
|
||||
<path
|
||||
sodipodi:type="inkscape:box3dside"
|
||||
id="path3285"
|
||||
style="color:#000000;fill:#bfbfbf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;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;marker-start:none;marker-mid:none;marker-end:none"
|
||||
inkscape:box3dsidetype="3"
|
||||
d="m 3.8240836,8.8479772 6.5184784,1.3300738 0,23.641968 -6.5184784,-2.736647 z" />
|
||||
</g>
|
||||
<g
|
||||
id="g3223-6"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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" />
|
||||
<g
|
||||
id="g3237-6"
|
||||
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;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" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 14 KiB |
|
@ -331,10 +331,15 @@ class Snapper:
|
|||
snaps.append([obj.ViewObject.Proxy.p3,'endpoint',self.toWP(obj.ViewObject.Proxy.p3)])
|
||||
#for pt in [obj.Start,obj.End,obj.Dimline]:
|
||||
# snaps.append([pt,'endpoint',self.toWP(pt)])
|
||||
|
||||
elif Draft.getType(obj) == "Axis":
|
||||
for edge in obj.Shape.Edges:
|
||||
snaps.extend(self.snapToEndpoints(edge))
|
||||
|
||||
elif Draft.getType(obj) == "Mesh":
|
||||
# for meshes we only snap to vertices
|
||||
snaps.extend(self.snapToEndpoints(obj.Mesh))
|
||||
|
||||
elif Draft.getType(obj) == "Points":
|
||||
# for points we only snap to points
|
||||
snaps.extend(self.snapToEndpoints(obj.Points))
|
||||
|
|
Loading…
Reference in New Issue
Block a user