Merge pull request #14011 from hlorus/measure-icons

Add measurement icons
This commit is contained in:
Chris Hennes
2024-05-20 10:54:06 -05:00
committed by GitHub
23 changed files with 1293 additions and 19 deletions

View File

@@ -61,7 +61,6 @@
#include <QtOpenGL.h>
#include "SoTextLabel.h"
#include "BitmapFactory.h"
#include "SoFCInteractiveElement.h"
#include "Tools.h"
@@ -383,6 +382,12 @@ SoFrameLabel::SoFrameLabel()
//SO_NODE_ADD_FIELD(image, (SbVec2s(0,0), 0, NULL));
}
void SoFrameLabel::setIcon(const QPixmap &pixMap)
{
iconPixmap = pixMap;
}
void SoFrameLabel::notify(SoNotList * list)
{
SoField *f = list->getLastField();
@@ -425,7 +430,27 @@ void SoFrameLabel::drawImage()
lines << line;
}
QImage image(w+10,h+10,QImage::Format_ARGB32_Premultiplied);
int padding = 5;
bool drawIcon = false;
QImage iconImg;
int widthIcon = 0;
int heightIcon = 0;
if (!iconPixmap.isNull()) {
drawIcon = true;
iconImg = iconPixmap.toImage();
widthIcon = iconImg.width() + 2*padding;
heightIcon = iconImg.height() + 2*padding;
}
int widthText = w + 2*padding;
int heightText = h + 2*padding;
int widthTotal = widthText + widthIcon;
int heightTotal = heightText > heightIcon ? heightText : heightIcon;
int paddingTextV = (heightTotal - h) / 2;
int paddingIconV = (heightTotal - iconImg.height()) / 2;
QImage image(widthTotal, heightTotal, QImage::Format_ARGB32_Premultiplied);
image.fill(0x00000000);
QPainter painter(&image);
painter.setRenderHint(QPainter::Antialiasing);
@@ -435,10 +460,16 @@ void SoFrameLabel::drawImage()
painter.setPen(QPen(QColor(0,0,127), 2, Qt::SolidLine, Qt::RoundCap,
Qt::RoundJoin));
painter.setBrush(QBrush(brush, Qt::SolidPattern));
QRectF rectangle(0.0, 0.0, w+10, h+10);
QRectF rectangle(0.0, 0.0, widthTotal, heightTotal);
painter.drawRoundedRect(rectangle, 5, 5);
}
if (drawIcon) {
painter.drawImage(QPoint(padding, paddingIconV), iconImg);
}
painter.setPen(front);
Qt::Alignment align = Qt::AlignVCenter;
@@ -450,7 +481,7 @@ void SoFrameLabel::drawImage()
align = Qt::AlignVCenter | Qt::AlignHCenter;
QString text = lines.join(QLatin1String("\n"));
painter.setFont(font);
painter.drawText(5,5,w,h,align,text);
painter.drawText(widthIcon + padding, paddingTextV, w, h, align, text);
painter.end();
SoSFImage sfimage;

View File

@@ -34,6 +34,8 @@
#include <Inventor/nodes/SoText2.h>
#include <FCGlobal.h>
#include "BitmapFactory.h"
namespace Gui {
@@ -107,6 +109,7 @@ public:
static void initClass();
SoFrameLabel();
void setIcon(const QPixmap &pixMap);
SoMFString string;
SoSFColor textColor;
@@ -116,6 +119,7 @@ public:
SoSFInt32 size;
SoSFBool frame;
//SoSFImage image;
QPixmap iconPixmap;
protected:
~SoFrameLabel() override = default;

View File

@@ -259,7 +259,7 @@ void ensureGroup(Measure::MeasureBase* measurement) {
App::Document* doc = App::GetApplication().getActiveDocument();
App::DocumentObject* obj = doc->getObject(measurementGroupName);
if (!obj || !obj->isValid()) {
obj = doc->addObject("App::DocumentObjectGroup", measurementGroupName);
obj = doc->addObject("App::DocumentObjectGroup", measurementGroupName, true, "MeasureGui::ViewProviderMeasureGroup");
}
auto group = static_cast<App::DocumentObjectGroup*>(obj);

View File

@@ -58,7 +58,7 @@ public:
void recalculateArea();
const char* getViewProviderName() const override {
return "MeasureGui::ViewProviderMeasure";
return "MeasureGui::ViewProviderMeasureArea";
}
static bool isValidSelection(const App::MeasureSelection& selection);

View File

@@ -53,7 +53,7 @@ public:
void recalculateLength();
const char* getViewProviderName() const override {
return "MeasureGui::ViewProviderMeasure";
return "MeasureGui::ViewProviderMeasureLength";
}
static bool isValidSelection(const App::MeasureSelection& selection);

View File

@@ -56,7 +56,7 @@ public:
void recalculatePosition();
const char* getViewProviderName() const override {
return "MeasureGui::ViewProviderMeasure";
return "MeasureGui::ViewProviderMeasurePosition";
}
static bool isValidSelection(const App::MeasureSelection& selection);

View File

@@ -54,7 +54,7 @@ public:
App::DocumentObjectExecReturn *execute() override;
const char* getViewProviderName() const override {
return "MeasureGui::ViewProviderMeasure";
return "MeasureGui::ViewProviderMeasureRadius";
}
void recalculateRadius();

View File

@@ -89,11 +89,17 @@ PyMOD_INIT_FUNC(MeasureGui)
// instantiating the commands
CreateMeasureCommands();
MeasureGui::ViewProviderMeasureGroup ::init();
MeasureGui::ViewProviderMeasureBase ::init();
MeasureGui::ViewProviderMeasure ::init();
MeasureGui::ViewProviderMeasureAngle ::init();
MeasureGui::ViewProviderMeasureDistance ::init();
MeasureGui::ViewProviderMeasureArea ::init();
MeasureGui::ViewProviderMeasureLength ::init();
MeasureGui::ViewProviderMeasurePosition ::init();
MeasureGui::ViewProviderMeasureRadius ::init();
// register preferences pages
new Gui::PrefPageProducer<MeasureGui::DlgPrefsMeasureAppearanceImp>(QT_TRANSLATE_NOOP("QObject", "Measure"));

View File

@@ -120,9 +120,9 @@
</property>
<property name="color" stdset="0">
<color>
<red>60</red>
<green>240</green>
<blue>0</blue>
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</property>
<property name="prefEntry" stdset="0">
@@ -144,9 +144,9 @@
<widget class="Gui::PrefColorButton" name="cbText">
<property name="color" stdset="0">
<color>
<red>60</red>
<green>240</green>
<blue>0</blue>
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</property>
<property name="prefEntry" stdset="0">

View File

@@ -2,5 +2,14 @@
<qresource prefix="/">
<file>icons/umf-measurement.svg</file>
<file>icons/preferences-measure.svg</file>
<file>icons/Measurement-Angle.svg</file>
<file>icons/Measurement-Area.svg</file>
<file>icons/Measurement-CenterOfMass.svg</file>
<file>icons/Measurement-Distance.svg</file>
<file>icons/Measurement-Group.svg</file>
<file>icons/Measurement-Inertia.svg</file>
<file>icons/Measurement-Position.svg</file>
<file>icons/Measurement-Radius.svg</file>
<file>icons/Measurement-Volume.svg</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg2869"
version="1.1"
viewBox="0 0 64 64"
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" />
<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>[maxwxyz]</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>https://www.freecad.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/</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>2024</dc:date>
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;-inkscape-stroke:none;fill-opacity:1"
d="m 26.417969,18.126953 a 3.000005,3.000005 0 0 0 1.396484,1.822266 c 6.489209,3.746546 11.878454,9.133837 15.625,15.623047 a 3.000005,3.000005 0 0 0 4.097656,1.097656 3.000005,3.000005 0 0 0 1.097657,-4.097656 C 44.361762,25.171205 38.215513,19.024957 30.814453,14.751953 a 3.000005,3.000005 0 0 0 -4.097656,1.097656 3.000005,3.000005 0 0 0 -0.298828,2.277344 z"
id="path18" />
<path
id="path16"
style="color:#000000;fill:#000000;fill-rule:evenodd;-inkscape-stroke:none;fill-opacity:1"
d="M 54.240234 26.121094 L 35.050781 37.201172 L 54.228516 48.261719 L 54.240234 26.121094 z " />
<path
id="path13"
style="color:#000000;fill:#000000;fill-rule:evenodd;-inkscape-stroke:none;fill-opacity:1"
d="M 37.265625 9.1464844 L 15.126953 9.1582031 L 26.185547 28.337891 L 37.265625 9.1464844 z " />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;-inkscape-stroke:none;fill-opacity:1"
d="M 58.632812,47.757812 6.8046875,53.900391 a 3,3 0 0 0 -2.625,3.332031 3,3 0 0 0 3.3320312,2.626953 L 59.339844,53.716797 a 3,3 0 0 0 2.625,-3.332031 3,3 0 0 0 -3.332032,-2.626954 z"
id="path2-1" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;-inkscape-stroke:none;fill-opacity:1"
d="M 12.900391,1.9882812 A 3,3 0 0 0 9.6054688,4.6601562 L 4.2539062,55.810547 a 3,3 0 0 0 2.671875,3.294922 3,3 0 0 0 3.2949218,-2.671875 L 15.572266,5.2851562 a 3,3 0 0 0 -2.671875,-3.296875 z"
id="path3" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,188 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg2869"
version="1.1"
sodipodi:docname="Measurement-Area.svg"
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
viewBox="0 0 64 64"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
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/">
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="false"
inkscape:deskcolor="#d1d1d1"
showguides="true"
showgrid="true"
inkscape:zoom="7.9999996"
inkscape:cx="74.312503"
inkscape:cy="10.9375"
inkscape:window-width="1983"
inkscape:window-height="1321"
inkscape:window-x="2940"
inkscape:window-y="32"
inkscape:window-maximized="0"
inkscape:current-layer="svg2869"
inkscape:lockguides="true">
<inkscape:grid
id="grid2"
units="px"
originx="0"
originy="0"
spacingx="1"
spacingy="1"
empcolor="#0099e5"
empopacity="0.30196078"
color="#0099e5"
opacity="0.14901961"
empspacing="2"
dotted="false"
gridanglex="30"
gridanglez="30"
visible="true" />
<sodipodi:guide
position="4,50"
orientation="1,0"
id="guide8"
inkscape:locked="true" />
<sodipodi:guide
position="64,64"
orientation="0.70710678,-0.70710678"
id="guide9"
inkscape:locked="true" />
<sodipodi:guide
position="60,5.384631"
orientation="1,0"
id="guide10"
inkscape:locked="true" />
<sodipodi:guide
position="9,60"
orientation="0,-1"
id="guide11"
inkscape:locked="true" />
<sodipodi:guide
position="62,4"
orientation="0,-1"
id="guide12"
inkscape:locked="true" />
<sodipodi:guide
position="64,0"
orientation="-0.70710678,-0.70710678"
id="guide13"
inkscape:locked="true" />
<sodipodi:guide
position="32,32"
orientation="1,0"
id="guide18"
inkscape:locked="true" />
<sodipodi:guide
position="32,32"
orientation="0,-1"
id="guide19"
inkscape:locked="true" />
</sodipodi:namedview>
<defs
id="defs2871">
<linearGradient
id="linearGradient5"
inkscape:swatch="gradient">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop19" />
<stop
style="stop-color:#ef2929;stop-opacity:0;"
offset="1"
id="stop20" />
</linearGradient>
<linearGradient
id="swatch18"
inkscape:swatch="solid"
inkscape:label="point-stroke-inner">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop18" />
</linearGradient>
<linearGradient
id="swatch15"
inkscape:swatch="solid"
inkscape:label="point-stroke-outer">
<stop
style="stop-color:#3d0000;stop-opacity:1;"
offset="0"
id="stop15" />
</linearGradient>
<linearGradient
id="linearGradient5-1"
inkscape:swatch="gradient">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop5" />
<stop
style="stop-color:#ef2929;stop-opacity:0;"
offset="1"
id="stop6" />
</linearGradient>
<linearGradient
id="linearGradient3836-9"
inkscape:swatch="gradient"
inkscape:label="point-fill">
<stop
style="stop-color:#a40000;stop-opacity:1"
offset="0"
id="stop3838-8" />
<stop
style="stop-color:#ef2929;stop-opacity:1"
offset="1"
id="stop3840-1" />
</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>[maxwxyz]</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>https://www.freecad.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/</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>2024</dc:date>
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-width:0.936609;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="m 25.761602,12.152805 a 2.3098518,3.8971459 59.344632 0 0 -4.739876,2.808183 L 2.3734909,49.037843 A 2.3098518,3.8971459 59.344632 0 0 4.0389265,51.84774 H 38.238146 A 2.3098518,3.8971459 59.344632 0 0 42.97896,49.037843 L 61.627195,14.960988 a 2.3098518,3.8971459 59.344632 0 0 -1.666374,-2.808183 z m 0.128684,5.61808 H 53.683255 L 38.110399,46.227946 H 10.31743 Z"
id="rect32" />
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg2869"
version="1.1"
viewBox="0 0 64 64"
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="linearGradient5">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop19" />
<stop
style="stop-color:#ef2929;stop-opacity:0;"
offset="1"
id="stop20" />
</linearGradient>
<linearGradient
id="swatch18">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop18" />
</linearGradient>
<linearGradient
id="swatch15">
<stop
style="stop-color:#3d0000;stop-opacity:1;"
offset="0"
id="stop15" />
</linearGradient>
<linearGradient
id="linearGradient5-1">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop5" />
<stop
style="stop-color:#ef2929;stop-opacity:0;"
offset="1"
id="stop6" />
</linearGradient>
<linearGradient
id="linearGradient3836-9">
<stop
style="stop-color:#a40000;stop-opacity:1"
offset="0"
id="stop3838-8" />
<stop
style="stop-color:#ef2929;stop-opacity:1"
offset="1"
id="stop3840-1" />
</linearGradient>
<linearGradient
id="linearGradient3836-9-3">
<stop
style="stop-color:#a40000;stop-opacity:1"
offset="0"
id="stop3838-8-5" />
<stop
style="stop-color:#ef2929;stop-opacity:1"
offset="1"
id="stop3840-1-6" />
</linearGradient>
<linearGradient
id="linearGradient2">
<stop
style="stop-color:#73d216;stop-opacity:1;"
offset="0"
id="stop1" />
<stop
style="stop-color:#8ae234;stop-opacity:1;"
offset="1"
id="stop2" />
</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>[maxwxyz]</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>https://www.freecad.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/</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>2024</dc:date>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer3"
style="display:inline">
<path
id="path31"
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="M 32 8 C 18.780725 7.9999966 7.9999966 18.780725 8 32 A 23.999994 23.999994 0 0 0 32 56 C 45.219275 56.000003 56.000003 45.219275 56 32 A 23.999994 23.999994 0 0 0 32 8 z M 32 14 L 32 32 L 50 32 C 50.000003 41.976634 41.976634 50.000003 32 50 L 32 32 L 14 32 C 13.999997 22.023366 22.023366 13.999997 32 14 z " />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg2869"
version="1.1"
viewBox="0 0 64 64"
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" />
<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>[maxwxyz]</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>https://www.freecad.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/</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>2024</dc:date>
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;-inkscape-stroke:none;fill-opacity:1"
d="M 51.292969,8.4648438 8.4648438,51.292969 a 3.000005,3.000005 0 0 0 0,4.242187 3.000005,3.000005 0 0 0 4.2421872,0 L 55.535156,12.707031 a 3.000005,3.000005 0 0 0 0,-4.2421872 3.000005,3.000005 0 0 0 -4.242187,0 z"
id="path9" />
<path
id="path7"
style="color:#000000;fill:#000000;fill-rule:evenodd;-inkscape-stroke:none;fill-opacity:1"
d="M 59.908203 4.0917969 L 38.519531 9.8105469 L 54.189453 25.480469 L 59.908203 4.0917969 z " />
<path
id="path4"
style="color:#000000;fill:#000000;fill-rule:evenodd;-inkscape-stroke:none;fill-opacity:1"
d="M 9.8105469 38.519531 L 4.0917969 59.908203 L 25.480469 54.189453 L 9.8105469 38.519531 z " />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,354 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="64"
height="64"
version="1.1"
viewBox="0 0 64 64"
id="svg96"
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="defs26">
<linearGradient
id="linearGradient1">
<stop
style="stop-color:#efdc3d;stop-opacity:1;"
offset="0"
id="stop1" />
<stop
style="stop-color:#bba80d;stop-opacity:1;"
offset="1"
id="stop3" />
</linearGradient>
<linearGradient
id="linearGradient4383">
<stop
stop-color="#3465a4"
offset="0"
id="stop2" />
<stop
stop-color="#729fcf"
offset="1"
id="stop4" />
</linearGradient>
<linearGradient
id="linearGradient4399"
x1="48.714"
x2="44.714"
y1="45.586"
y2="34.586"
gradientTransform="translate(1.2856,1.4142)"
gradientUnits="userSpaceOnUse">
<stop
stop-color="#c4a000"
offset="0"
id="stop8" />
<stop
stop-color="#edd400"
offset="1"
id="stop10" />
</linearGradient>
<linearGradient
id="linearGradient69056"
x1="27.244"
x2="22.244"
y1="54.588"
y2="40.588"
gradientTransform="translate(-1.2435,-2.5881)"
gradientUnits="userSpaceOnUse">
<stop
stop-color="#c4a000"
offset="0"
id="stop14" />
<stop
stop-color="#fce94f"
offset="1"
id="stop16" />
</linearGradient>
<linearGradient
id="linearGradient3774">
<stop
stop-color="#4e9a06"
offset="0"
id="stop21" />
<stop
stop-color="#8ae234"
offset="1"
id="stop23" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient4383"
id="linearGradient9"
x1="32"
y1="64"
x2="32"
y2="14.419661"
gradientUnits="userSpaceOnUse" />
<linearGradient
xlink:href="#linearGradient4399"
id="linearGradient13"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(1.2856,1.4142)"
x1="48.714"
y1="45.586"
x2="44.714"
y2="34.586" />
<linearGradient
xlink:href="#linearGradient1"
id="linearGradient14"
gradientUnits="userSpaceOnUse"
x1="8.000092"
y1="31.5"
x2="55.999914"
y2="31.5" />
<linearGradient
xlink:href="#linearGradient3774"
id="linearGradient15"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-1.2435,-2.5881)"
x1="20.244"
y1="37.588"
x2="17.244"
y2="27.588" />
<linearGradient
xlink:href="#linearGradient3774"
id="linearGradient16"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-12.714,-17.586)"
x1="48.714"
y1="45.586"
x2="44.714"
y2="34.586" />
<linearGradient
xlink:href="#linearGradient69056"
id="linearGradient17"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-41.2435,-2.5881)"
x1="20.243999"
y1="37.588001"
x2="17.243999"
y2="27.587999" />
<linearGradient
xlink:href="#linearGradient4399"
id="linearGradient18"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-52.714,-17.586)"
x1="48.714001"
y1="45.585999"
x2="44.714001"
y2="34.585999" />
<linearGradient
xlink:href="#linearGradient4383"
id="linearGradient19"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,-0.026667,0,1,81.696,-5.3735)"
x1="20.244"
y1="37.588"
x2="17.244"
y2="27.588" />
<linearGradient
xlink:href="#linearGradient4383"
id="linearGradient20"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(61.2256,1.0356)"
x1="50.714"
y1="25.586"
x2="48.714"
y2="20.586" />
<linearGradient
xlink:href="#linearGradient69056"
id="linearGradient21"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-1.2435,-2.5881)"
x1="27.244"
y1="54.588"
x2="22.244"
y2="40.588" />
<linearGradient
xlink:href="#linearGradient10"
id="linearGradient11"
x1="12.375"
y1="23.75"
x2="64"
y2="28.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient10">
<stop
style="stop-color:#babdb6;stop-opacity:1"
offset="0"
id="stop10-9" />
<stop
style="stop-color:#888a85;stop-opacity:1"
offset="1"
id="stop11" />
</linearGradient>
</defs>
<metadata
id="metadata28">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:date>2015-07-04</dc:date>
<dc:relation>https://www.freecad.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/Path/Gui/Resources/icons/Path-Stock.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="layer3"
style="display:inline">
<path
style="fill:#204a87;fill-opacity:1;stroke:#0c1522;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path4"
d="M 29.921921,10.073012 26.993293,6.1977395 C 26.21651,5.1698698 25.163057,4.5924975 24.064598,4.5924975 H 5.0714589 c -1.1437425,0 -2.0708717,1.2268134 -2.0708717,2.740257 V 58.484215 c 0,0.504481 0.309043,0.913419 0.6902905,0.913419 H 60.294706 c 0.381247,0 0.690291,-0.408938 0.690291,-0.913419 V 12.813269 c 0,-1.513445 -0.927129,-2.740257 -2.070872,-2.740257 z" />
<path
style="fill:#204a87;fill-opacity:1;stroke:#3465a4;stroke-width:2;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path7"
d="M 5.2089844,6.5917969 H 24.064453 c 0.375444,0 0.874561,0.2026195 1.333984,0.8105468 l 3.527344,4.6699223 h 29.84961 c 0.0082,0.01044 0.01784,0.02289 0.02734,0.03711 0.01056,0.0158 0.02193,0.03237 0.0332,0.05273 0.08049,0.145363 0.148438,0.361331 0.148438,0.650391 v 44.58594 H 5 V 7.3320312 C 5,7.0436394 5.0678061,6.828994 5.1484375,6.6835937 c 0.011294,-0.020366 0.022609,-0.038859 0.033203,-0.054687 0.00953,-0.014245 0.019073,-0.026632 0.027344,-0.03711 z" />
<path
style="fill:#729fcf;fill-opacity:1;stroke:#0c1522;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path6-0"
d="m 29.919347,14.419661 -2.927223,3.534545 C 26.215716,18.891703 25.16247,19.41831 24.064012,19.41831 H 3.0000008 l 0.015588,39.156085 c 2.171e-4,0.460126 0.3093777,0.833108 0.6906252,0.833108 h 56.603828 c 0.381248,0 0.690139,-0.372982 0.689957,-0.833108 L 60.983419,16.918986 C 60.982865,15.538609 60.055293,14.419661 58.91155,14.419661 H 29.919344 Z" />
<path
style="fill:url(#linearGradient9);fill-opacity:1;stroke:#729fcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path8"
d="m 30.861328,16.419922 h 28.050781 c 0,0 0.07225,0.463543 0.07227,0.5 L 59,57.408203 H 5.015625 L 5,21.417969 h 19.064453 c 1.756119,0 3.349555,-0.836095 4.46875,-2.1875 z" />
</g>
<g
id="layer3-8"
style="display:inline"
transform="matrix(0.58333335,0,0,0.58333335,12.166666,19.64741)">
<path
id="path4498"
d="M 31.906888,60.999998 V 12.276532 l -24.5860006,1e-6 -2.904e-4,-3.0939183 24.58542,-6.1826135 h 8.71e-4 15.462656 v 9.2765308 h 13.308118 l 2.89e-4,2.030582 -13.308407,4.061163 v 42.631722 z"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path6"
d="m 32.154297,5 h 13.214844 v 9.277344 h 8.55664 l -8.55664,2.611328 V 59 H 33.90625 V 10.277344 H 11.164063 Z"
style="fill:url(#linearGradient11);fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path4504"
d="m 33.453879,17.976538 9.277594,8.71e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path1"
d="m 33.457361,48.841436 6.185063,5.81e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path2"
d="m 33.457361,41.125284 6.185063,5.81e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path3"
d="m 33.457361,33.409133 6.185063,5.81e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path4-5"
d="m 33.457361,25.692981 6.185063,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path5"
d="m 33.453879,56.557588 9.277594,8.72e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path11"
d="m 34.230469,19.976538 7.724414,8.71e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path12"
d="m 34.233368,50.841436 5.14961,5.81e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path13"
d="m 34.233368,43.125284 5.14961,5.81e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path14"
d="m 34.233368,35.409133 5.14961,5.81e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path15"
d="m 34.233368,27.692981 5.14961,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path16"
d="m 34.230469,58.557588 8.501004,8.72e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path4500"
d="M 7.3208874,27.158429 H 34.22781 l 0.0019,28.741042 H 28.043227 V 37.209528 L 7.3208874,32.571857 Z"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path4502"
d="m 45.82444,20.585383 14.854673,4.062178 2.9e-4,2.510868 H 50.463816 l 0.0016,14.741042 h -4.638797 z"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path7-5"
d="M 9.3203125,29.158203 H 32.228516 l 0.002,24.742188 h -2.1875 V 35.607422 L 9.3203125,30.970703 Z"
style="fill:#888a85;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path18"
d="m 31.176195,46.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path19"
d="m 31.176195,48.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path20"
d="m 31.176195,42.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path21"
d="m 31.176195,44.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path22"
d="m 31.176195,38.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path23"
d="m 31.176195,40.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path24"
d="m 31.176195,50.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path25"
d="m 31.176195,52.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path26"
d="m 31.176195,34.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#0b1e23;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path27"
d="m 31.176195,36.622396 1.64761,5.8e-4"
style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg2869"
version="1.1"
viewBox="0 0 64 64"
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" />
<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>[maxwxyz]</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>https://www.freecad.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/</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>2024</dc:date>
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;-inkscape-stroke:none;fill-opacity:1"
d="m 46.537109,13.740234 a 3.000005,3.000005 0 0 1 -2.121093,3.673828 C 31.625728,20.84121 21.645898,30.821041 18.21875,43.611328 a 3.000005,3.000005 0 0 1 -3.675781,2.123047 3.000005,3.000005 0 0 1 -2.121094,-3.675781 C 16.401336,27.207044 28.011732,15.598601 42.863281,11.619141 a 3.000005,3.000005 0 0 1 3.673828,2.121093 z"
id="path25" />
<path
id="path23"
style="color:#000000;fill:#000000;fill-rule:evenodd;-inkscape-stroke:none;fill-opacity:1"
d="M 5.3378906 37.279297 L 11.080078 58.662109 L 26.742188 43.013672 L 5.3378906 37.279297 z " />
<path
id="path20"
style="color:#000000;fill:#000000;fill-rule:evenodd;-inkscape-stroke:none;fill-opacity:1"
d="M 38.083984 4.5351562 L 43.818359 25.939453 L 59.464844 10.275391 L 38.083984 4.5351562 z " />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none;fill-opacity:1"
d="m 11.207031,8.3007813 a 3.000005,3.000005 0 0 0 -2.1210935,0.8789062 3.000005,3.000005 0 0 0 0,4.2421875 L 51.914062,56.25 a 3.000005,3.000005 0 0 0 4.242188,0 3.000005,3.000005 0 0 0 0,-4.242188 L 13.328125,9.1796875 A 3.000005,3.000005 0 0 0 11.207031,8.3007813 Z"
id="path2-6" />
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg2869"
version="1.1"
viewBox="0 0 64 64"
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="linearGradient5">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop19" />
<stop
style="stop-color:#ef2929;stop-opacity:0;"
offset="1"
id="stop20" />
</linearGradient>
<linearGradient
id="swatch18">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop18" />
</linearGradient>
<linearGradient
id="swatch15">
<stop
style="stop-color:#3d0000;stop-opacity:1;"
offset="0"
id="stop15" />
</linearGradient>
<linearGradient
id="linearGradient5-1">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop5" />
<stop
style="stop-color:#ef2929;stop-opacity:0;"
offset="1"
id="stop6" />
</linearGradient>
<linearGradient
id="linearGradient3836-9">
<stop
style="stop-color:#a40000;stop-opacity:1"
offset="0"
id="stop3838-8" />
<stop
style="stop-color:#ef2929;stop-opacity:1"
offset="1"
id="stop3840-1" />
</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>[maxwxyz]</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>https://www.freecad.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/</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>2024</dc:date>
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="M 32,9.3535156 C 19.527776,9.3535156 9.3535156,19.527776 9.3535156,32 9.3535156,44.472224 19.527776,54.646484 32,54.646484 44.472224,54.646484 54.646484,44.472224 54.646484,32 54.646484,19.527776 44.472224,9.3535156 32,9.3535156 Z m 0,6.0000004 c 9.229581,0 16.646484,7.416903 16.646484,16.646484 0,9.229581 -7.416903,16.646484 -16.646484,16.646484 -9.229581,0 -16.646484,-7.416903 -16.646484,-16.646484 0,-9.229581 7.416903,-16.646484 16.646484,-16.646484 z"
id="path25" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="m 32,2 a 3.000005,3.000005 0 0 0 -3,3 v 54 a 3.000005,3.000005 0 0 0 3,3 3.000005,3.000005 0 0 0 3,-3 V 5 A 3.000005,3.000005 0 0 0 32,2 Z"
id="path26" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="m 5,29 a 3.000005,3.000005 0 0 0 -3,3 3.000005,3.000005 0 0 0 3,3 h 54 a 3.000005,3.000005 0 0 0 3,-3 3.000005,3.000005 0 0 0 -3,-3 z"
id="path27" />
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg2869"
version="1.1"
viewBox="0 0 64 64"
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" />
<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>[maxwxyz]</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>https://www.freecad.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/</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>2024</dc:date>
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;-inkscape-stroke:none;fill-opacity:1"
d="m 4.5117187,5 a 3,3 0 0 0 3,3 C 34.326069,8.0000001 56,29.673931 56,56.488281 a 3,3 0 0 0 3,3 3,3 0 0 0 3,-3 C 62,26.431294 37.568706,2.0000001 7.5117187,2 a 3,3 0 0 0 -3,3 z"
id="path1" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;-inkscape-stroke:none;fill-opacity:1"
d="M 32.908203,26.847656 3.4980469,56.259766 a 3,3 0 0 0 0,4.242187 3,3 0 0 0 4.2421875,0 L 37.152344,31.091797 a 3,3 0 0 0 0,-4.244141 3,3 0 0 0 -4.244141,0 z"
id="path6" />
<path
id="path4"
style="color:#000000;fill:#000000;fill-rule:evenodd;-inkscape-stroke:none;fill-opacity:1"
d="M 41.523438 22.476562 L 20.136719 28.195312 L 35.804688 43.863281 L 41.523438 22.476562 z " />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg2869"
version="1.1"
viewBox="0 0 64 64"
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="linearGradient5">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop19" />
<stop
style="stop-color:#ef2929;stop-opacity:0;"
offset="1"
id="stop20" />
</linearGradient>
<linearGradient
id="swatch18">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop18" />
</linearGradient>
<linearGradient
id="swatch15">
<stop
style="stop-color:#3d0000;stop-opacity:1;"
offset="0"
id="stop15" />
</linearGradient>
<linearGradient
id="linearGradient5-1">
<stop
style="stop-color:#ef2929;stop-opacity:1;"
offset="0"
id="stop5" />
<stop
style="stop-color:#ef2929;stop-opacity:0;"
offset="1"
id="stop6" />
</linearGradient>
<linearGradient
id="linearGradient3836-9">
<stop
style="stop-color:#a40000;stop-opacity:1"
offset="0"
id="stop3838-8" />
<stop
style="stop-color:#ef2929;stop-opacity:1"
offset="1"
id="stop3840-1" />
</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>[maxwxyz]</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>https://www.freecad.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/</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:date>2024</dc:date>
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="m 6.5410156,19.119141 a 3.000305,3.000305 0 0 0 -3,3 v 35.339843 a 3.000305,3.000305 0 0 0 3,3 H 41.880859 a 3.000305,3.000305 0 0 0 3,-3 V 22.119141 a 3.000305,3.000305 0 0 0 -3,-3 z m 3,6 H 38.880859 V 54.458984 H 9.5410156 Z"
id="rect32" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="m 21.619141,4.0410156 a 3.000305,3.000305 0 0 0 -3,3 V 42.380859 a 3.000305,3.000305 0 0 0 3,3 h 35.339843 a 3.000305,3.000305 0 0 0 3,-3 V 7.0410156 a 3.000305,3.000305 0 0 0 -3,-3 z m 3,6.0000004 H 53.958984 V 39.380859 H 24.619141 Z"
id="rect33" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="M 21.619141,4.0410156 A 3.000005,3.000005 0 0 0 19.498047,4.9199219 L 4.4199219,19.998047 a 3.000005,3.000005 0 0 0 0,4.242187 3.000005,3.000005 0 0 0 4.2421875,0 L 23.740234,9.1621094 a 3.000005,3.000005 0 0 0 0,-4.2421875 3.000005,3.000005 0 0 0 -2.121093,-0.8789063 z"
id="path33" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="M 54.837891,40.259766 39.759766,55.337891 a 3.000005,3.000005 0 0 0 0,4.242187 3.000005,3.000005 0 0 0 4.242187,0 L 59.080078,44.501953 a 3.000005,3.000005 0 0 0 0,-4.242187 3.000005,3.000005 0 0 0 -4.242187,0 z"
id="path34" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="M 54.837891,4.9199219 39.759766,19.998047 a 3.000005,3.000005 0 0 0 0,4.242187 3.000005,3.000005 0 0 0 4.242187,0 L 59.080078,9.1621094 a 3.000005,3.000005 0 0 0 0,-4.2421875 3.000005,3.000005 0 0 0 -4.242187,0 z"
id="path35" />
<path
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
d="m 21.619141,39.380859 a 3.000005,3.000005 0 0 0 -2.121094,0.878907 L 4.4199219,55.337891 a 3.000005,3.000005 0 0 0 0,4.242187 3.000005,3.000005 0 0 0 4.2421875,0 L 23.740234,44.501953 a 3.000005,3.000005 0 0 0 0,-4.242187 3.000005,3.000005 0 0 0 -2.121093,-0.878907 z"
id="path36" />
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -243,7 +243,7 @@ PROPERTY_SOURCE(MeasureGui::ViewProviderMeasureAngle, MeasureGui::ViewProviderMe
ViewProviderMeasureAngle::ViewProviderMeasureAngle()
{
sPixmap = "umf-measurement";
sPixmap = "Measurement-Angle";
// Primary Arc
Gui::ArcEngine *arcEngine = new Gui::ArcEngine();

View File

@@ -41,6 +41,7 @@
#include <App/DocumentObject.h>
#include <Base/Console.h>
#include <Gui/BitmapFactory.h>
#include <Gui/Document.h>
#include <Gui/ViewParams.h>
#include <Gui/Inventor/MarkerBitmaps.h>
@@ -50,10 +51,24 @@
#include <Mod/Measure/App/Preferences.h>
#include "ViewProviderMeasureBase.h"
using namespace MeasureGui;
using namespace Measure;
PROPERTY_SOURCE(MeasureGui::ViewProviderMeasureGroup, Gui::ViewProviderDocumentObjectGroup)
ViewProviderMeasureGroup::ViewProviderMeasureGroup()
{}
ViewProviderMeasureGroup::~ViewProviderMeasureGroup() = default;
QIcon ViewProviderMeasureGroup::getIcon() const
{
return Gui::BitmapFactory().pixmap("Measurement-Group.svg");
}
//NOLINTBEGIN
PROPERTY_SOURCE(MeasureGui::ViewProviderMeasureBase, Gui::ViewProviderDocumentObject)
//NOLINTEND
@@ -268,7 +283,11 @@ void ViewProviderMeasureBase::positionAnno(const Measure::MeasureBase* measureOb
void ViewProviderMeasureBase::attach(App::DocumentObject *pcObj)
{
ViewProviderDocumentObject::attach(pcObj);
positionAnno(static_cast<MeasureBase*>(pcObj));
auto measureObj = static_cast<MeasureBase*>(pcObj);
positionAnno(measureObj);
// Set the icon
pLabel->setIcon(Gui::BitmapFactory().pixmapFromSvg(sPixmap, QSize(20, 20)));
}
@@ -604,3 +623,9 @@ void ViewProviderMeasureBase::show()
ViewProviderDocumentObject::show();
}
}
PROPERTY_SOURCE(MeasureGui::ViewProviderMeasureArea, MeasureGui::ViewProviderMeasure)
PROPERTY_SOURCE(MeasureGui::ViewProviderMeasureLength, MeasureGui::ViewProviderMeasure)
PROPERTY_SOURCE(MeasureGui::ViewProviderMeasurePosition, MeasureGui::ViewProviderMeasure)
PROPERTY_SOURCE(MeasureGui::ViewProviderMeasureRadius, MeasureGui::ViewProviderMeasure)

View File

@@ -31,6 +31,7 @@
#include <Base/Parameter.h>
#include <Gui/ViewProviderDocumentObject.h>
#include <Gui/SoTextLabel.h>
#include <Gui/ViewProviderDocumentObjectGroup.h>
#include <Mod/Measure/App/MeasureBase.h>
@@ -49,6 +50,24 @@ class SoTranslate2Dragger;
namespace MeasureGui {
class MeasureGuiExport ViewProviderMeasureGroup : public Gui::ViewProviderDocumentObjectGroup
{
PROPERTY_HEADER_WITH_OVERRIDE(MeasureGui::ViewProviderMeasureGroup);
public:
ViewProviderMeasureGroup();
~ViewProviderMeasureGroup() override;
bool allowOverride(const App::DocumentObject &) const override {
return true;
}
QIcon getIcon() const override;
};
//NOLINTBEGIN
class MeasureGuiExport ViewProviderMeasureBase :public Gui::ViewProviderDocumentObject
{
@@ -128,6 +147,7 @@ private:
boost::signals2::connection _mVisibilityChangedConnection;
};
//NOLINTBEGIN
class MeasureGuiExport ViewProviderMeasure : public MeasureGui::ViewProviderMeasureBase
{
@@ -153,6 +173,51 @@ private:
SoIndexedLineSet * pLines;
};
class ViewProviderMeasureArea : public ViewProviderMeasure
{
PROPERTY_HEADER(MeasureGui::ViewProviderMeasureArea);
public:
ViewProviderMeasureArea() {
sPixmap = "Measurement-Area";
}
};
class ViewProviderMeasureLength : public ViewProviderMeasure
{
PROPERTY_HEADER(MeasureGui::ViewProviderMeasureLength);
public:
ViewProviderMeasureLength() {
sPixmap = "Measurement-Distance";
}
};
class ViewProviderMeasurePosition : public ViewProviderMeasure
{
PROPERTY_HEADER(MeasureGui::ViewProviderMeasurePosition);
public:
ViewProviderMeasurePosition() {
sPixmap = "Measurement-Position";
}
};
class ViewProviderMeasureRadius : public ViewProviderMeasure
{
PROPERTY_HEADER(MeasureGui::ViewProviderMeasureRadius);
public:
ViewProviderMeasureRadius() {
sPixmap = "Measurement-Radius";
}
};
} // namespace Gui
#endif // GUI_VIEWPROVIDER_MEASUREMENTBASE_H

View File

@@ -116,7 +116,7 @@ Base::Vector3d ViewProviderMeasureDistance::getTextDirection(Base::Vector3d elem
ViewProviderMeasureDistance::ViewProviderMeasureDistance()
{
sPixmap = "umf-measurement";
sPixmap = "Measurement-Distance";
// vert indexes used to create the annotation lines
const size_t lineCount(3);