Remove obsolete DSH Tools - CloseShape and ConnectLines

This commit is contained in:
Abdullah Tahiri
2022-06-28 19:29:35 +02:00
parent 3678a525a2
commit 19230c83ef
5 changed files with 0 additions and 437 deletions
@@ -63,205 +63,6 @@ using namespace Sketcher;
// ================================================================================
// Close Shape Command
DEF_STD_CMD_A(CmdSketcherCloseShape)
CmdSketcherCloseShape::CmdSketcherCloseShape()
:Command("Sketcher_CloseShape")
{
sAppModule = "Sketcher";
sGroup = "Sketcher";
sMenuText = QT_TR_NOOP("Close shape");
sToolTipText = QT_TR_NOOP("Produce a closed shape by tying the end point "
"of one element with the next element's starting point");
sWhatsThis = "Sketcher_CloseShape";
sStatusTip = sToolTipText;
sPixmap = "Sketcher_CloseShape";
sAccel = "Z, W";
eType = ForEdit;
}
void CmdSketcherCloseShape::activated(int iMsg)
{
Q_UNUSED(iMsg);
// Cancel any in-progress operation
Gui::Document* doc = Gui::Application::Instance->activeDocument();
SketcherGui::ReleaseHandler(doc);
// get the selection
std::vector<Gui::SelectionObject> selection;
selection = getSelection().getSelectionEx(nullptr, Sketcher::SketchObject::getClassTypeId());
// only one sketch with its subelements are allowed to be selected
if (selection.size() != 1) {
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
QObject::tr("Select at least two edges from the sketch."));
return;
}
// get the needed lists and objects
const std::vector<std::string> &SubNames = selection[0].getSubNames();
if (SubNames.size() < 2) {
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
QObject::tr("Select at least two edges from the sketch."));
return;
}
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
int GeoIdFirst = -1;
int GeoIdLast = -1;
// undo command open
openCommand(QT_TRANSLATE_NOOP("Command", "Add coincident constraint"));
// go through the selected subelements
for (size_t i=0; i < (SubNames.size() - 1); i++) {
// only handle edges
if (SubNames[i].size() > 4 && SubNames[i].substr(0,4) == "Edge" &&
SubNames[i+1].size() > 4 && SubNames[i+1].substr(0,4) == "Edge") {
int GeoId1 = std::atoi(SubNames[i].substr(4,4000).c_str()) - 1;
int GeoId2 = std::atoi(SubNames[i+1].substr(4,4000).c_str()) - 1;
if (GeoIdFirst == -1)
GeoIdFirst = GeoId1;
GeoIdLast = GeoId2;
const Part::Geometry *geo1 = Obj->getGeometry(GeoId1);
const Part::Geometry *geo2 = Obj->getGeometry(GeoId2);
if ((geo1->getTypeId() != Part::GeomLineSegment::getClassTypeId() &&
geo1->getTypeId() != Part::GeomArcOfCircle::getClassTypeId()) ||
(geo2->getTypeId() != Part::GeomLineSegment::getClassTypeId() &&
geo2->getTypeId() != Part::GeomArcOfCircle::getClassTypeId())) {
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Impossible constraint"),
QObject::tr("One selected edge is not connectable"));
abortCommand();
return;
}
// Check for the special case of closing a shape with two lines to avoid overlap
if (SubNames.size() == 2 &&
geo1->getTypeId() == Part::GeomLineSegment::getClassTypeId() &&
geo2->getTypeId() == Part::GeomLineSegment::getClassTypeId() ) {
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
QObject::tr("Closing a shape formed by exactly two lines makes no sense."));
abortCommand();
return;
}
Gui::cmdAppObjectArgs(selection[0].getObject(),
"addConstraint(Sketcher.Constraint('Coincident', %d, %d, %d, %d)) ",
GeoId1, static_cast<int>(Sketcher::PointPos::end), GeoId2, static_cast<int>(Sketcher::PointPos::start));
}
}
// Close Last Edge with First Edge
Gui::cmdAppObjectArgs(selection[0].getObject(),
"addConstraint(Sketcher.Constraint('Coincident', %d, %d, %d, %d)) ",
GeoIdLast, static_cast<int>(Sketcher::PointPos::end), GeoIdFirst, static_cast<int>(Sketcher::PointPos::start));
// finish the transaction and update, and clear the selection (convenience)
commitCommand();
tryAutoRecompute(Obj);
getSelection().clearSelection();
}
bool CmdSketcherCloseShape::isActive(void)
{
return isCommandActive(getActiveGuiDocument(), true);
}
// ================================================================================
// Connect Edges Command
DEF_STD_CMD_A(CmdSketcherConnect)
CmdSketcherConnect::CmdSketcherConnect()
:Command("Sketcher_ConnectLines")
{
sAppModule = "Sketcher";
sGroup = "Sketcher";
sMenuText = QT_TR_NOOP("Connect edges");
sToolTipText = QT_TR_NOOP("Tie the end point of the element with next element's starting point");
sWhatsThis = "Sketcher_ConnectLines";
sStatusTip = sToolTipText;
sPixmap = "Sketcher_ConnectLines";
sAccel = "Z, J";
eType = ForEdit;
}
void CmdSketcherConnect::activated(int iMsg)
{
Q_UNUSED(iMsg);
// Cancel any in-progress operation
Gui::Document* doc = Gui::Application::Instance->activeDocument();
SketcherGui::ReleaseHandler(doc);
// get the selection
std::vector<Gui::SelectionObject> selection;
selection = getSelection().getSelectionEx(nullptr, Sketcher::SketchObject::getClassTypeId());
// only one sketch with its subelements are allowed to be selected
if (selection.size() != 1) {
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
QObject::tr("Select at least two edges from the sketch."));
return;
}
// get the needed lists and objects
const std::vector<std::string> &SubNames = selection[0].getSubNames();
if (SubNames.size() < 2) {
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
QObject::tr("Select at least two edges from the sketch."));
return;
}
Sketcher::SketchObject* Obj = static_cast<Sketcher::SketchObject*>(selection[0].getObject());
// undo command open
openCommand(QT_TRANSLATE_NOOP("Command", "Add coincident constraint"));
// go through the selected subelements
for (unsigned int i=0; i<(SubNames.size()-1); i++ ) {
// only handle edges
if (SubNames[i].size() > 4 && SubNames[i].substr(0,4) == "Edge" &&
SubNames[i+1].size() > 4 && SubNames[i+1].substr(0,4) == "Edge") {
int GeoId1 = std::atoi(SubNames[i].substr(4,4000).c_str()) - 1;
int GeoId2 = std::atoi(SubNames[i+1].substr(4,4000).c_str()) - 1;
const Part::Geometry *geo1 = Obj->getGeometry(GeoId1);
const Part::Geometry *geo2 = Obj->getGeometry(GeoId2);
if ((geo1->getTypeId() != Part::GeomLineSegment::getClassTypeId() &&
geo1->getTypeId() != Part::GeomArcOfCircle::getClassTypeId()) ||
(geo2->getTypeId() != Part::GeomLineSegment::getClassTypeId() &&
geo2->getTypeId() != Part::GeomArcOfCircle::getClassTypeId())) {
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Impossible constraint"),
QObject::tr("One selected edge is not connectable"));
abortCommand();
return;
}
Gui::cmdAppObjectArgs(selection[0].getObject(),"addConstraint(Sketcher.Constraint('Coincident',%d,%d,%d,%d)) ",
GeoId1,static_cast<int>(Sketcher::PointPos::end),GeoId2,static_cast<int>(Sketcher::PointPos::start));
}
}
// finish the transaction and update, and clear the selection (convenience)
commitCommand();
tryAutoRecompute(Obj);
getSelection().clearSelection();
}
bool CmdSketcherConnect::isActive(void)
{
return isCommandActive(getActiveGuiDocument(), true);
}
// ================================================================================
// Select Constraints of selected elements
DEF_STD_CMD_A(CmdSketcherSelectConstraints)
@@ -2348,8 +2149,6 @@ void CreateSketcherCommandsConstraintAccel(void)
{
Gui::CommandManager &rcCmdMgr = Gui::Application::Instance->commandManager();
rcCmdMgr.addCommand(new CmdSketcherCloseShape());
rcCmdMgr.addCommand(new CmdSketcherConnect());
rcCmdMgr.addCommand(new CmdSketcherSelectConstraints());
rcCmdMgr.addCommand(new CmdSketcherSelectOrigin());
rcCmdMgr.addCommand(new CmdSketcherSelectVerticalAxis());
@@ -222,8 +222,6 @@
</qresource>
<qresource>
<file>icons/tools/Sketcher_Clone.svg</file>
<file>icons/tools/Sketcher_CloseShape.svg</file>
<file>icons/tools/Sketcher_ConnectLines.svg</file>
<file>icons/tools/Sketcher_Copy.svg</file>
<file>icons/tools/Sketcher_DeleteConstraints.svg</file>
<file>icons/tools/Sketcher_DeleteGeometry.svg</file>
@@ -1,121 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="64px" height="64px" id="svg2869" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs id="defs2871">
<linearGradient id="linearGradient3144">
<stop style="stop-color:#ffffff;stop-opacity:1" offset="0" id="stop3146" />
<stop style="stop-color:#ffffff;stop-opacity:0" offset="1" id="stop3148" />
</linearGradient>
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5114" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5118" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5130" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<linearGradient id="linearGradient3144-9">
<stop style="stop-color:#ffffff;stop-opacity:1" offset="0" id="stop3146-2" />
<stop style="stop-color:#ffffff;stop-opacity:0" offset="1" id="stop3148-6" />
</linearGradient>
<linearGradient id="linearGradient3144-9-6">
<stop style="stop-color:#ffffff;stop-opacity:1" offset="0" id="stop3146-2-9" />
<stop style="stop-color:#ffffff;stop-opacity:0" offset="1" id="stop3148-6-5" />
</linearGradient>
<radialGradient xlink:href="#linearGradient3144-9" id="radialGradient3306" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144-9-6" id="radialGradient3308" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<linearGradient xlink:href="#linearGradient3836-9-7" id="linearGradient3093" gradientUnits="userSpaceOnUse" x1="-25.073793" y1="8.5160742" x2="-11.638764" y2="13.465822" />
<linearGradient id="linearGradient3836-9-7">
<stop style="stop-color:#4e9a06;stop-opacity:1" offset="0" id="stop3838-8-0" />
<stop style="stop-color:#8ae234;stop-opacity:1" offset="1" id="stop3840-1-9" />
</linearGradient>
<linearGradient xlink:href="#linearGradient3836-9" id="linearGradient3091" gradientUnits="userSpaceOnUse" x1="-24.890066" y1="10.114055" x2="-12.869251" y2="13.649589" />
<linearGradient id="linearGradient3836-9">
<stop style="stop-color:#4e9a06;stop-opacity:1" offset="0" id="stop3838-8" />
<stop style="stop-color:#8ae234;stop-opacity:1" offset="1" id="stop3840-1" />
</linearGradient>
<linearGradient xlink:href="#linearGradient3836-9" id="linearGradient3175" gradientUnits="userSpaceOnUse" x1="-24.890066" y1="10.114055" x2="-12.869251" y2="13.649589" />
<linearGradient xlink:href="#linearGradient3836-9-7" id="linearGradient3177" gradientUnits="userSpaceOnUse" x1="-25.073793" y1="8.5160742" x2="-11.638764" y2="13.465822" />
<linearGradient xlink:href="#linearGradient3836-9-6" id="linearGradient3175-3" gradientUnits="userSpaceOnUse" x1="-24.890066" y1="10.114055" x2="-12.869251" y2="13.649589" />
<linearGradient id="linearGradient3836-9-6">
<stop style="stop-color:#4e9a06;stop-opacity:1" offset="0" id="stop3838-8-7" />
<stop style="stop-color:#8ae234;stop-opacity:1" offset="1" id="stop3840-1-5" />
</linearGradient>
<linearGradient xlink:href="#linearGradient3836-9-7-5" id="linearGradient3177-3" gradientUnits="userSpaceOnUse" x1="-25.073793" y1="8.5160742" x2="-11.638764" y2="13.465822" />
<linearGradient id="linearGradient3836-9-7-5">
<stop style="stop-color:#4e9a06;stop-opacity:1" offset="0" id="stop3838-8-0-6" />
<stop style="stop-color:#8ae234;stop-opacity:1" offset="1" id="stop3840-1-9-2" />
</linearGradient>
</defs>
<metadata id="metadata2874">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>[wmayer]</dc:title>
</cc:Agent>
</dc:creator>
<dc:date>2014-08-04</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/Sketcher/Gui/Resources/icons/Sketcher_CloseShape.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">
<g id="g3162" transform="translate(-0.75509507,-1.9999551)">
<g id="g3401-3" transform="matrix(-0.10363852,-0.08809389,0.10363852,-0.08809389,-98.88928,58.289011)">
<g id="g3389-6">
<path style="fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:14.80067348;stroke-linecap:butt;stroke-linejoin:miter;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 -567.54661,546.61314 0,40.93691 c 141.80801,1.02697 245.62146,96.97836 245.62146,231.97582 0,0.15497 8.93268,-0.46043 8.93242,-0.3125 l 32,0.3125 c 0.0101,-0.96882 0.004,0.96884 0.004,0 0,-152.19427 -127.26694,-272.91272 -286.55837,-272.91273 z" id="path2380-7" />
<path style="fill:none;stroke:#ffffff;stroke-width:2.1692903;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 10.999999,13 C 32,13 49,32 49,48" id="path3892" transform="matrix(6.8228182,0,0,6.8228182,-628.95197,471.56214)" />
</g>
</g>
<g transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,-12.28691,59.248739)" id="g3827-0">
<g transform="translate(31.322131,40.570289)" id="g3797-7">
<path style="fill:none;stroke:#172a04;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-6" d="M -26.156204,5.582626 A 8.993818,8.9934077 0.02042283 1 1 -12.493793,17.282241 8.993818,8.9934077 0.02042283 1 1 -26.156204,5.582626 z" />
<path style="fill:url(#linearGradient3175);fill-opacity:1;stroke:#8ae234;stroke-width:1.99999952;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-7-0" d="M -24.633588,6.893588 A 6.9999997,7.0000001 0 1 1 -14,16 6.9999997,7.0000001 0 0 1 -24.633588,6.893588 z" />
</g>
</g>
<g transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,-7.750135,48.425063)" id="g3797-7-6">
<path style="fill:none;stroke:#172a04;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-6-0" d="M -26.156204,5.582626 A 8.993818,8.9934077 0.02042283 1 1 -12.493793,17.282241 8.993818,8.9934077 0.02042283 1 1 -26.156204,5.582626 z" />
<path style="fill:url(#linearGradient3177);fill-opacity:1;stroke:#8ae234;stroke-width:1.99999952;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-7-0-6" d="M -24.633588,6.893588 A 6.9999997,7.0000001 0 1 1 -14,16 6.9999997,7.0000001 0 0 1 -24.633588,6.893588 z" />
</g>
</g>
<g id="g3162-9" transform="translate(37.244905,-5.9999548)">
<path style="fill:none;stroke:#2e3436;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 98,12 0,40" id="path3254" transform="translate(-83.244905,5.9999548)" />
<path style="fill:none;stroke:#d3d7cf;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 14.755095,17.999955 0,40" id="path3254-1" />
<path style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 13.755095,17.999955 0,40" id="path3254-1-8" />
<g transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,-13.531822,63.26068)" id="g3827-0-9">
<g transform="translate(31.322131,40.570289)" id="g3797-7-3">
<path style="fill:none;stroke:#172a04;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-6-6" d="M -26.156204,5.582626 A 8.993818,8.9934077 0.02042283 1 1 -12.493793,17.282241 8.993818,8.9934077 0.02042283 1 1 -26.156204,5.582626 z" />
<path style="fill:url(#linearGradient3175-3);fill-opacity:1;stroke:#8ae234;stroke-width:1.99999952;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-7-0-0" d="M -24.633588,6.893588 A 6.9999997,7.0000001 0 1 1 -14,16 6.9999997,7.0000001 0 0 1 -24.633588,6.893588 z" />
</g>
</g>
<g transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,-6.9923863,52.425063)" id="g3797-7-6-6">
<path style="fill:none;stroke:#172a04;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-6-0-2" d="M -26.156204,5.582626 A 8.993818,8.9934077 0.02042283 1 1 -12.493793,17.282241 8.993818,8.9934077 0.02042283 1 1 -26.156204,5.582626 z" />
<path style="fill:url(#linearGradient3177-3);fill-opacity:1;stroke:#8ae234;stroke-width:1.99999952;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-7-0-6-6" d="M -24.633588,6.893588 A 6.9999997,7.0000001 0 1 1 -14,16 6.9999997,7.0000001 0 0 1 -24.633588,6.893588 z" />
</g>
</g>
<g id="g4062" transform="translate(-54,4)">
<path id="path4102-2" d="m 77,38 8,-7 0,4 12,0 0,6 -12,0 0,4 z" style="fill:#cc0000;fill-opacity:1;stroke:#280000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
<path id="path4060" d="m 80,38 3,-2.6 0,1.6 12,0" style="fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g id="g4062-7" transform="translate(-54,-16)">
<path id="path4102-2-9" d="m 77,38 8,-7 0,4 12,0 0,6 -12,0 0,4 z" style="fill:#cc0000;fill-opacity:1;stroke:#280000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
<path id="path4060-2" d="m 80,38 3,-2.6 0,1.6 12,0" style="fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="64px" height="64px" id="svg2869" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs id="defs2871">
<linearGradient id="linearGradient4090">
<stop id="stop4092" offset="0" style="stop-color:#a40000;stop-opacity:1" />
<stop id="stop4094" offset="1" style="stop-color:#ef2929;stop-opacity:1" />
</linearGradient>
<linearGradient id="linearGradient3144">
<stop style="stop-color:#ffffff;stop-opacity:1" offset="0" id="stop3146" />
<stop style="stop-color:#ffffff;stop-opacity:0" offset="1" id="stop3148" />
</linearGradient>
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5114" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5118" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5130" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<linearGradient id="linearGradient3836-9-7">
<stop style="stop-color:#4e9a06;stop-opacity:1" offset="0" id="stop3838-8-0" />
<stop style="stop-color:#8ae234;stop-opacity:1" offset="1" id="stop3840-1-9" />
</linearGradient>
<linearGradient id="linearGradient3836-9">
<stop style="stop-color:#4e9a06;stop-opacity:1" offset="0" id="stop3838-8" />
<stop style="stop-color:#8ae234;stop-opacity:1" offset="1" id="stop3840-1" />
</linearGradient>
<linearGradient xlink:href="#linearGradient3836-9" id="linearGradient3175" gradientUnits="userSpaceOnUse" x1="-24.890066" y1="10.114055" x2="-12.869251" y2="13.649589" />
<linearGradient xlink:href="#linearGradient4090" id="linearGradient3177" gradientUnits="userSpaceOnUse" x1="-25.073793" y1="8.5160742" x2="-11.638764" y2="13.465822" />
<linearGradient xlink:href="#linearGradient3836-9-6" id="linearGradient3175-3" gradientUnits="userSpaceOnUse" x1="-24.890066" y1="10.114055" x2="-12.869251" y2="13.649589" />
<linearGradient id="linearGradient3836-9-6">
<stop style="stop-color:#4e9a06;stop-opacity:1" offset="0" id="stop3838-8-7" />
<stop style="stop-color:#8ae234;stop-opacity:1" offset="1" id="stop3840-1-5" />
</linearGradient>
<linearGradient xlink:href="#linearGradient3836-9-7-5" id="linearGradient3177-3" gradientUnits="userSpaceOnUse" x1="-25.073793" y1="8.5160742" x2="-11.638764" y2="13.465822" />
<linearGradient id="linearGradient3836-9-7-5">
<stop style="stop-color:#a40000;stop-opacity:1" offset="0" id="stop3838-8-0-6" />
<stop style="stop-color:#ef2929;stop-opacity:1" offset="1" id="stop3840-1-9-2" />
</linearGradient>
</defs>
<metadata id="metadata2874">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>[wmayer]</dc:title>
</cc:Agent>
</dc:creator>
<dc:date>2014-08-04</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/Sketcher/Gui/Resources/icons/Sketcher_ConnectLines.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">
<g id="g3162" transform="translate(-0.75509507,-1.9999551)">
<g id="g3401-3" transform="matrix(-0.10363852,-0.08809389,0.10363852,-0.08809389,-98.88928,58.289011)">
<g id="g3389-6">
<path style="fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:14.80067348;stroke-linecap:butt;stroke-linejoin:miter;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 -567.54661,546.61314 0,40.93691 c 141.80801,1.02697 245.62146,96.97836 245.62146,231.97582 0,0.15497 8.93268,-0.46043 8.93242,-0.3125 l 32,0.3125 c 0.0101,-0.96882 0.004,0.96884 0.004,0 0,-152.19427 -127.26694,-272.91272 -286.55837,-272.91273 z" id="path2380-7" />
<path style="fill:none;stroke:#ffffff;stroke-width:2.1692903;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 10.999999,13 C 32,13 49,32 49,48" id="path3892" transform="matrix(6.8228182,0,0,6.8228182,-628.95197,471.56214)" />
</g>
</g>
<g transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,-12.28691,59.248739)" id="g3827-0">
<g transform="translate(31.322131,40.570289)" id="g3797-7">
<path style="fill:none;stroke:#172a04;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-6" d="M -26.156204,5.582626 A 8.993818,8.9934077 0.02042283 1 1 -12.493793,17.282241 8.993818,8.9934077 0.02042283 1 1 -26.156204,5.582626 z" />
<path style="fill:url(#linearGradient3175);fill-opacity:1;stroke:#8ae234;stroke-width:1.99999952;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-7-0" d="M -24.633588,6.893588 A 6.9999997,7.0000001 0 1 1 -14,16 6.9999997,7.0000001 0 0 1 -24.633588,6.893588 z" />
</g>
</g>
<g transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,-7.750135,48.425063)" id="g3797-7-6">
<path style="fill:none;stroke:#280000;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-6-0" d="M -26.156204,5.582626 A 8.993818,8.9934077 0.02042283 1 1 -12.493793,17.282241 8.993818,8.9934077 0.02042283 1 1 -26.156204,5.582626 z" />
<path style="fill:url(#linearGradient3177);fill-opacity:1;stroke:#ef2929;stroke-width:1.99999952;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-7-0-6" d="M -24.633588,6.893588 A 6.9999997,7.0000001 0 1 1 -14,16 6.9999997,7.0000001 0 0 1 -24.633588,6.893588 z" />
</g>
</g>
<g id="g3162-9" transform="translate(37.244905,-5.9999548)">
<path style="fill:none;stroke:#2e3436;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 14.755095,17.999955 0,36" id="path3254" />
<path style="fill:none;stroke:#d3d7cf;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 14.755095,15.999955 0,33.999999" id="path3254-1" />
<path style="fill:none;stroke:#ffffff;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 13.755095,17.999955 0,37" id="path3254-1-8" />
<g transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,-13.531822,63.26068)" id="g3827-0-9">
<g transform="translate(31.322131,40.570289)" id="g3797-7-3">
<path style="fill:none;stroke:#172a04;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-6-6" d="M -26.156204,5.582626 A 8.993818,8.9934077 0.02042283 1 1 -12.493793,17.282241 8.993818,8.9934077 0.02042283 1 1 -26.156204,5.582626 z" />
<path style="fill:url(#linearGradient3175-3);fill-opacity:1;stroke:#8ae234;stroke-width:1.99999952;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-7-0-0" d="M -24.633588,6.893588 A 6.9999997,7.0000001 0 1 1 -14,16 6.9999997,7.0000001 0 0 1 -24.633588,6.893588 z" />
</g>
</g>
<g transform="matrix(-0.70710678,-0.70710678,0.70710678,-0.70710678,-6.9923863,42.425063)" id="g3797-7-6-6">
<path style="fill:none;stroke:#280000;stroke-width:1.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-6-0-2" d="M -26.156204,5.582626 A 8.993818,8.9934077 0.02042283 1 1 -12.493793,17.282241 8.993818,8.9934077 0.02042283 1 1 -26.156204,5.582626 z" />
<path style="fill:url(#linearGradient3177-3);fill-opacity:1;stroke:#ef2929;stroke-width:1.99999952;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path4250-7-0-6-6" d="M -24.633588,6.893588 A 6.9999997,7.0000001 0 1 1 -14,16 6.9999997,7.0000001 0 0 1 -24.633588,6.893588 z" />
</g>
</g>
<g id="g4062-7" transform="translate(-54,-12)">
<path id="path4102-2-9" d="m 77,38 8,-7 0,4 12,0 0,6 -12,0 0,4 z" style="fill:#cc0000;fill-opacity:1;stroke:#280000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
<path id="path4060-2" d="m 80,38 3,-2.6 0,1.6 12,0" style="fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.4 KiB

-4
View File
@@ -358,8 +358,6 @@ template <>
inline void SketcherAddWorkbenchTools<Gui::MenuItem>(Gui::MenuItem& consaccel)
{
consaccel << "Sketcher_SelectElementsWithDoFs"
<< "Sketcher_CloseShape"
<< "Sketcher_ConnectLines"
<< "Sketcher_SelectConstraints"
<< "Sketcher_SelectElementsAssociatedWithConstraints"
<< "Sketcher_SelectRedundantConstraints"
@@ -385,8 +383,6 @@ template <>
inline void SketcherAddWorkbenchTools<Gui::ToolBarItem>(Gui::ToolBarItem& consaccel)
{
consaccel << "Sketcher_SelectElementsWithDoFs"
<< "Sketcher_CloseShape"
<< "Sketcher_ConnectLines"
<< "Sketcher_SelectConstraints"
<< "Sketcher_SelectElementsAssociatedWithConstraints"
<< "Sketcher_SelectRedundantConstraints"