Merge branch 'master' into User/Document/Feature_level_units_selection_#7746
@@ -158,15 +158,9 @@ class _Fence(ArchComponent.Component):
|
||||
# We want to center the posts on the path. So move them the half width in
|
||||
transformationVector = FreeCAD.Vector(0, - postWidth / 2, 0)
|
||||
|
||||
placements = patharray.placements_on_path(rotation, pathwire,
|
||||
obj.NumberOfSections + 1,
|
||||
transformationVector, True)
|
||||
|
||||
# The placement of the last object is always the second entry in the list.
|
||||
# So we move it to the end
|
||||
placements.append(placements.pop(1))
|
||||
|
||||
return placements
|
||||
return patharray.placements_on_path(rotation, pathwire,
|
||||
obj.NumberOfSections + 1,
|
||||
transformationVector, True)
|
||||
|
||||
def calculatePosts(self, obj, postPlacements):
|
||||
posts = []
|
||||
|
||||
@@ -2344,7 +2344,10 @@ def getRepresentation(
|
||||
i = 0
|
||||
rgbt = []
|
||||
for sol in obj.Shape.Solids:
|
||||
rgbt.append(diffusecolor[i])
|
||||
if i < len(diffusecolor):
|
||||
rgbt.append(diffusecolor[i])
|
||||
else:
|
||||
rgbt.append(diffusecolor[0])
|
||||
i += len(sol.Faces)
|
||||
for i,shape in enumerate(colorshapes):
|
||||
if i < len(rgbt):
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
id="svg2784"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
sodipodi:docname="Joint_Ball.svg"
|
||||
sodipodi:docname="Assembly_CreateJointBall.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
@@ -110,9 +110,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="9.0727665"
|
||||
inkscape:cx="46.788375"
|
||||
inkscape:cy="12.620186"
|
||||
inkscape:zoom="12.830829"
|
||||
inkscape:cx="35.344558"
|
||||
inkscape:cy="26.225896"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
@@ -184,7 +184,7 @@
|
||||
<g
|
||||
id="g1"
|
||||
inkscape:label="Part"
|
||||
transform="matrix(0.83333332,0,0,0.83333332,5.3333339,5.3333339)">
|
||||
transform="matrix(0.93353917,0,0,0.93353917,3.1649726,2.1267463)">
|
||||
<circle
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient3808);fill-opacity:1;fill-rule:evenodd;stroke:#0b1521;stroke-width:1.80564;marker:none;enable-background:accumulate"
|
||||
id="path2826"
|
||||
@@ -209,7 +209,7 @@
|
||||
</g>
|
||||
<g
|
||||
id="g3894"
|
||||
transform="matrix(0.59756098,0,0,0.59756098,6.2756094,12.367563)">
|
||||
transform="matrix(0.6694159,0,0,0.6694159,4.2205539,10.00682)">
|
||||
<path
|
||||
id="path3034"
|
||||
style="fill:#cc0000;stroke:#280000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
|
||||
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
@@ -5,7 +5,7 @@
|
||||
id="svg2821"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
sodipodi:docname="Joint_Clyndrical_Alt.svg"
|
||||
sodipodi:docname="Assembly_CreateJointCylindrical.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
@@ -197,8 +197,8 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="8.0000004"
|
||||
inkscape:cx="53.687497"
|
||||
inkscape:cy="22.562499"
|
||||
inkscape:cx="36.437498"
|
||||
inkscape:cy="44.062498"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
@@ -361,45 +361,45 @@
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g11"
|
||||
id="g13"
|
||||
inkscape:label="Arrows"
|
||||
transform="rotate(-120,32.120361,31.864491)">
|
||||
<path
|
||||
style="fill:#cc0000;stroke:#280000;stroke-width:1.44624;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="m 20.034237,35.554615 0.06786,-5.078769 8.949114,8.324918 -9.169637,8.181082 0.06786,-5.07877 C 13.046383,41.667788 5.7140243,37.951748 5.7140244,34.806973 l 1e-7,-6.297666 c 0,0 2.6499197,7.030509 14.3202125,7.045308 z"
|
||||
id="path1"
|
||||
id="path6"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<path
|
||||
style="display:inline;mix-blend-mode:normal;fill:none;stroke:#ef2929;stroke-width:1.44624;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 21.39105,43.663017 5.518848,-4.879253 -5.391624,-4.987514 -0.03817,3.041133 C 11.304161,37.057072 7.1410319,32.755043 7.1410319,32.755043 l 4.5e-6,2.0746 c 0,0 1.038585,5.595611 14.2881836,5.816818 z"
|
||||
id="path2"
|
||||
id="path7"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<g
|
||||
id="g4"
|
||||
id="g9"
|
||||
transform="matrix(0.82357963,-0.00653796,-0.00848163,-0.63484615,25.744689,50.319336)">
|
||||
<path
|
||||
style="fill:#cc0000;stroke:#280000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="m 22,23 v 8 L 11,18 22,5 v 8 c 8.384675,0.284272 17.347043,6.045424 17.398052,10.998501 l 0.10215,9.918935 C 39.500202,33.917436 36.168943,22.877393 22,23 Z"
|
||||
id="path3"
|
||||
id="path8"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<path
|
||||
style="display:inline;mix-blend-mode:normal;fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 20,10.5 13.6,18 20,25.5 V 21 c 12.350879,-0.473246 17.471895,5.944927 17.471895,5.944927 l 0.02131,-3.001231 c 0,0 -2.314076,-8.79997 -17.493209,-8.943696 z"
|
||||
id="path4"
|
||||
id="path9"
|
||||
sodipodi:nodetypes="cccccccc"
|
||||
sodipodi:insensitive="true" />
|
||||
</g>
|
||||
<g
|
||||
id="g10"
|
||||
transform="matrix(0,0.70000239,-0.70000239,0,54.300069,11.122614)"
|
||||
id="g12"
|
||||
transform="matrix(0,0.70000239,-0.70000239,0,54.300069,4.2920858)"
|
||||
style="display:inline">
|
||||
<path
|
||||
id="path5"
|
||||
id="path11"
|
||||
d="M 15,27 V 19 L 0.87149136,31.999999 15,45 v -8 h 14.714369 c 0,2.2e-5 0,0 0,0 V 27 Z"
|
||||
style="fill:#cc0000;stroke:#280000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
<path
|
||||
id="path10"
|
||||
id="path12"
|
||||
d="m 13.066964,29 0.02232,-5.529467 -9.1754064,8.529466 9.2200494,8.574111 V 35.089285 L 27.762035,35 v -6 0 z"
|
||||
style="fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
@@ -7,7 +7,7 @@
|
||||
id="svg2821"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
sodipodi:docname="Joint_Fixed_Alt.svg"
|
||||
sodipodi:docname="Assembly_CreateJointFixed.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
@@ -183,10 +183,10 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.2080075"
|
||||
inkscape:cx="59.309039"
|
||||
inkscape:cy="27.955021"
|
||||
inkscape:current-layer="g3"
|
||||
inkscape:zoom="10.193662"
|
||||
inkscape:cx="30.950604"
|
||||
inkscape:cy="29.184801"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:grid-bbox="true"
|
||||
@@ -252,109 +252,114 @@
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
id="g1"
|
||||
inkscape:label="Part"
|
||||
transform="matrix(0.82084962,0,0,0.82084962,5.7328115,5.8425597)">
|
||||
<path
|
||||
style="fill:#fce94f;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 56.000001,52.8038 c 0,4.418278 -10.745166,8 -24,8 -13.254833,0 -23.9999985,-3.581722 -23.9999985,-8 l -2e-6,-18.217405 H 56 Z"
|
||||
id="path2994-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3807);fill-opacity:1;stroke:#fce94f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,51.531073 c 0,4.016616 -9.84973,7.272727 -22,7.272727 -12.150264,0 -21.999999,-3.256111 -21.999999,-7.272727 l -1.5e-6,-15.950307 H 54 Z"
|
||||
id="path2994-3-6"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,38.835626 c -2,3.272727 -9.84973,5.272727 -22,5.272727 -12.150264,0 -19,-2 -21.999999,-5.272727"
|
||||
id="path2994-3-6-9"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csc" />
|
||||
<ellipse
|
||||
style="fill:#fce94f;stroke:#302b00;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
id="path2994"
|
||||
cx="32"
|
||||
cy="34.381172"
|
||||
rx="24"
|
||||
ry="7.9999995" />
|
||||
</g>
|
||||
<g
|
||||
id="g3"
|
||||
inkscape:label="Part 2"
|
||||
transform="matrix(0.82084962,0,0,0.82084962,5.7328115,-10.245869)">
|
||||
<path
|
||||
style="fill:#729fcf;stroke:#0b1521;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1;fill-opacity:1"
|
||||
d="m 56.000001,52.8038 c 0,4.418278 -10.745166,8 -24,8 -13.254833,0 -23.9999985,-3.581722 -23.9999985,-8 l -2e-6,-18.217405 H 56 Z"
|
||||
id="path1"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3);fill-opacity:1;stroke:#729fcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,51.531073 c 0,4.016616 -9.84973,7.272727 -22,7.272727 -12.150264,0 -21.999999,-3.256111 -21.999999,-7.272727 l -1.5e-6,-15.950307 H 54 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:none;stroke:#729fcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,38.835626 c -2,3.272727 -9.84973,5.272727 -22,5.272727 -12.150264,0 -19,-2 -21.999999,-5.272727"
|
||||
id="path3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csc" />
|
||||
<ellipse
|
||||
style="fill:#729fcf;stroke:#0b1521;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-dashoffset:20.4;stroke-opacity:1;fill-opacity:1"
|
||||
id="ellipse3"
|
||||
cx="32"
|
||||
cy="34.381172"
|
||||
rx="24"
|
||||
ry="7.9999995" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.45933714,0,0,0.84171063,12.102558,12.102562)"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
id="text3796"
|
||||
inkscape:label="Lock">
|
||||
id="g2"
|
||||
inkscape:label="Main"
|
||||
transform="matrix(1.0416665,0,0,1.0416665,-1.3333273,-2.3320947)">
|
||||
<g
|
||||
transform="matrix(0.26232603,0,0,0.14315619,-698.74089,-70.421371)"
|
||||
id="g2385"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient3844);fill-opacity:1;fill-rule:nonzero;stroke:#042a2a;stroke-width:10.3206;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate">
|
||||
id="g1"
|
||||
inkscape:label="Part"
|
||||
transform="translate(3.6192085e-6,-0.89630564)">
|
||||
<path
|
||||
style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient3045);fill-opacity:1;fill-rule:evenodd;stroke:#280000;stroke-width:10.3206;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="m 2751.3603,595.12568 v 0 0 l -2e-4,46.44262 h 30.9618 l -0.2475,-47.17448 h -0.05 c 0.2977,-25.0696 20.9388,-45.71077 46.7403,-45.71077 25.8014,0 46.4426,20.64117 46.4421,46.44263 v 0 46.44262 h 30.9618 v -46.44262 0 c 5e-4,-41.28234 -25.801,-77.40438 -77.4039,-77.40438 -51.6029,0 -77.4044,36.12204 -77.4044,77.40438 z"
|
||||
id="path2387" />
|
||||
<rect
|
||||
style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient3880);fill-opacity:1;fill-rule:evenodd;stroke:#280000;stroke-width:10.3206;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
id="rect2389"
|
||||
width="196.09097"
|
||||
height="154.80875"
|
||||
x="2730.7192"
|
||||
y="641.5683" />
|
||||
<rect
|
||||
style="display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ef2929;stroke-width:10.3206;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
id="rect2389-0"
|
||||
width="175.44977"
|
||||
height="134.16759"
|
||||
x="2741.0398"
|
||||
y="651.88885" />
|
||||
style="fill:#fce94f;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 56.000001,52.8038 c 0,4.418278 -10.745166,8 -24,8 -13.254833,0 -23.9999985,-3.581722 -23.9999985,-8 l -2e-6,-18.217405 H 56 Z"
|
||||
id="path2994-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3807);fill-opacity:1;stroke:#fce94f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,51.531073 c 0,4.016616 -9.84973,7.272727 -22,7.272727 -12.150264,0 -21.999999,-3.256111 -21.999999,-7.272727 l -1.5e-6,-15.950307 H 54 Z"
|
||||
id="path2994-3-6"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,38.835626 c -2,3.272727 -9.84973,5.272727 -22,5.272727 -12.150264,0 -19,-2 -21.999999,-5.272727"
|
||||
id="path2994-3-6-9"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csc" />
|
||||
<ellipse
|
||||
style="fill:#fce94f;stroke:#302b00;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
id="path2994"
|
||||
cx="32"
|
||||
cy="34.381172"
|
||||
rx="24"
|
||||
ry="7.9999995" />
|
||||
</g>
|
||||
<g
|
||||
id="g3"
|
||||
inkscape:label="Part 2"
|
||||
transform="translate(3.6192085e-6,-20.496033)">
|
||||
<path
|
||||
style="fill:#729fcf;fill-opacity:1;stroke:#0b1521;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 56.000001,52.8038 c 0,4.418278 -10.745166,8 -24,8 -13.254833,0 -23.9999985,-3.581722 -23.9999985,-8 l -2e-6,-18.217405 H 56 Z"
|
||||
id="path1"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3);fill-opacity:1;stroke:#729fcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,51.531073 c 0,4.016616 -9.84973,7.272727 -22,7.272727 -12.150264,0 -21.999999,-3.256111 -21.999999,-7.272727 l -1.5e-6,-15.950307 H 54 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:none;stroke:#729fcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,38.835626 c -2,3.272727 -9.84973,5.272727 -22,5.272727 -12.150264,0 -19,-2 -21.999999,-5.272727"
|
||||
id="path3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csc" />
|
||||
<ellipse
|
||||
style="fill:#729fcf;fill-opacity:1;stroke:#0b1521;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
id="ellipse3"
|
||||
cx="32"
|
||||
cy="34.381172"
|
||||
rx="24"
|
||||
ry="7.9999995" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.55958744,0,0,1.0254139,7.7599462,8.7187646)"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
id="text3796"
|
||||
inkscape:label="Lock">
|
||||
<g
|
||||
transform="matrix(0.26232603,0,0,0.14315619,-698.74089,-70.421371)"
|
||||
id="g2385"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient3844);fill-opacity:1;fill-rule:nonzero;stroke:#042a2a;stroke-width:10.3206;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate">
|
||||
<path
|
||||
style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient3045);fill-opacity:1;fill-rule:evenodd;stroke:#280000;stroke-width:10.3206;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="m 2751.3603,595.12568 v 0 0 l -2e-4,46.44262 h 30.9618 l -0.2475,-47.17448 h -0.05 c 0.2977,-25.0696 20.9388,-45.71077 46.7403,-45.71077 25.8014,0 46.4426,20.64117 46.4421,46.44263 v 0 46.44262 h 30.9618 v -46.44262 0 c 5e-4,-41.28234 -25.801,-77.40438 -77.4039,-77.40438 -51.6029,0 -77.4044,36.12204 -77.4044,77.40438 z"
|
||||
id="path2387" />
|
||||
<rect
|
||||
style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient3880);fill-opacity:1;fill-rule:evenodd;stroke:#280000;stroke-width:10.3206;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
id="rect2389"
|
||||
width="196.09097"
|
||||
height="154.80875"
|
||||
x="2730.7192"
|
||||
y="641.5683" />
|
||||
<rect
|
||||
style="display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ef2929;stroke-width:10.3206;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
id="rect2389-0"
|
||||
width="175.44977"
|
||||
height="134.16759"
|
||||
x="2741.0398"
|
||||
y="651.88885" />
|
||||
</g>
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#a40000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="M 25.719895,26.594196 H 60.915549"
|
||||
id="path3777-7" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#a40000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="M 25.719921,32.504016 H 60.915574"
|
||||
id="path3777-3-5" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#a40000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="M 25.719921,38.413838 H 60.915574"
|
||||
id="path3777-6-3" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="m 25.719879,20.684376 v -6.648549 c 1.2e-5,-3.69364 5.414701,-8.8647326 17.597824,-8.8647334 12.183122,-7e-7 17.597835,5.1710934 17.597825,8.8647334 v 6.648549"
|
||||
id="path3828" />
|
||||
</g>
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#a40000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="M 25.719895,26.594196 H 60.915549"
|
||||
id="path3777-7" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#a40000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="M 25.719921,32.504016 H 60.915574"
|
||||
id="path3777-3-5" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#a40000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="M 25.719921,38.413838 H 60.915574"
|
||||
id="path3777-6-3" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.2152px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
|
||||
d="m 25.719879,20.684376 v -6.648549 c 1.2e-5,-3.69364 5.414701,-8.8647326 17.597824,-8.8647334 12.183122,-7e-7 17.597835,5.1710934 17.597825,8.8647334 v 6.648549"
|
||||
id="path3828" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
@@ -7,7 +7,7 @@
|
||||
id="svg2821"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
sodipodi:docname="Joint_Parallel_Alt.svg"
|
||||
sodipodi:docname="Assembly_CreateJointParallel.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1"
|
||||
xml:space="preserve"
|
||||
@@ -172,10 +172,10 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.313708"
|
||||
inkscape:cx="29.565902"
|
||||
inkscape:cy="26.295533"
|
||||
inkscape:current-layer="g7"
|
||||
inkscape:zoom="7.9999996"
|
||||
inkscape:cx="33.562501"
|
||||
inkscape:cy="26.812501"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:grid-bbox="true"
|
||||
@@ -206,7 +206,7 @@
|
||||
inkscape:groupmode="layer"><g
|
||||
id="g8"
|
||||
inkscape:label="Main"
|
||||
transform="translate(-0.08400268,-0.27617774)"><g
|
||||
transform="matrix(1.0899303,0,0,1.0899303,-2.9693267,-3.1787843)"><g
|
||||
id="g6"
|
||||
inkscape:label="Plane"
|
||||
transform="matrix(0.90708807,-0.79900391,0,1.0698986,-19.299267,34.058528)"><rect
|
||||
|
||||
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
@@ -7,7 +7,7 @@
|
||||
id="svg2821"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
sodipodi:docname="Joint_Planar.svg"
|
||||
sodipodi:docname="Assembly_CreateJointPlanar.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
@@ -158,9 +158,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="37.09375"
|
||||
inkscape:cy="32.09375"
|
||||
inkscape:zoom="11.313708"
|
||||
inkscape:cx="26.825864"
|
||||
inkscape:cy="27.356194"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
@@ -229,7 +229,7 @@
|
||||
<g
|
||||
id="g6"
|
||||
inkscape:label="Plane"
|
||||
transform="matrix(0.90708807,0,0,0.90708807,2.9731817,2.9731817)">
|
||||
transform="matrix(1.0798517,0,0,1.0798517,-2.5552547,-2.5552547)">
|
||||
<rect
|
||||
style="fill:url(#linearGradient6);fill-opacity:1;stroke:#302b00;stroke-width:1.5;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect3"
|
||||
@@ -247,7 +247,7 @@
|
||||
</g>
|
||||
<g
|
||||
id="g1"
|
||||
transform="translate(0.14066863,-5.5382098e-4)"
|
||||
transform="matrix(1.1586625,0,0,1.1586625,-4.9142154,-5.0778445)"
|
||||
inkscape:label="Arrows">
|
||||
<g
|
||||
id="g3894-3"
|
||||
|
||||
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
@@ -7,7 +7,7 @@
|
||||
id="svg2784"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
sodipodi:docname="Joint_Tangent_Alt.svg"
|
||||
sodipodi:docname="Assembly_CreateJointTangent.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
@@ -131,9 +131,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="9.0727662"
|
||||
inkscape:cx="25.185263"
|
||||
inkscape:cy="26.507902"
|
||||
inkscape:zoom="12.830829"
|
||||
inkscape:cx="33.006441"
|
||||
inkscape:cy="32.071194"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
@@ -205,7 +205,7 @@
|
||||
<g
|
||||
id="g5"
|
||||
inkscape:label="Main"
|
||||
transform="matrix(1.1300601,0,0,1.1300601,-21.405472,8.2622063)"
|
||||
transform="matrix(1.1443561,0,0,1.1443561,-21.742282,8.049438)"
|
||||
style="stroke-width:0.944312">
|
||||
<g
|
||||
id="g1"
|
||||
@@ -290,52 +290,52 @@
|
||||
x="9.8358345"
|
||||
y="9.8358364" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="layer1-6"
|
||||
transform="matrix(0.45227982,0,0,0.45227982,21.800894,9.3107694)">
|
||||
<g
|
||||
id="g3063"
|
||||
transform="translate(1,-0.99999976)">
|
||||
<path
|
||||
transform="translate(-4,6)"
|
||||
d="M 11.000001,18 C 29.225397,18 44,32.774603 44,51"
|
||||
id="path3025"
|
||||
style="fill:none;stroke:#280000;stroke-width:12.16061331;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
transform="translate(-4,6)"
|
||||
d="M 11.000001,18 C 29.225397,18 44,32.774603 44,51"
|
||||
id="path3025-3"
|
||||
style="fill:none;stroke:#ef2929;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
transform="translate(-4,6)"
|
||||
d="M 11.000001,18 C 29.225397,18 44,32.774603 44,51"
|
||||
id="path3025-3-6"
|
||||
style="fill:none;stroke:#cc0000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g3071-2"
|
||||
transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,139.73516,72.918789)">
|
||||
<rect
|
||||
transform="matrix(0.99999974,7.1938714e-4,-7.1838503e-4,0.99999974,0,0)"
|
||||
ry="0"
|
||||
rx="0"
|
||||
y="33.032074"
|
||||
x="78.283699"
|
||||
height="9.8608322"
|
||||
width="53.747211"
|
||||
id="rect3770-9"
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#cc0000;fill-opacity:1;fill-rule:nonzero;stroke:#280000;stroke-width:3.31653091;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
|
||||
<rect
|
||||
transform="matrix(0.99999989,4.636052e-4,-0.00111473,0.99999938,0,0)"
|
||||
ry="0"
|
||||
rx="0"
|
||||
y="35.020126"
|
||||
x="80.300385"
|
||||
height="5.9074764"
|
||||
width="49.745319"
|
||||
id="rect3770-3-1"
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
|
||||
id="layer1-6"
|
||||
transform="matrix(0.40022634,0,0,0.40022634,38.233689,0.9278826)">
|
||||
<g
|
||||
id="g3063"
|
||||
transform="translate(1,-0.99999976)">
|
||||
<path
|
||||
transform="translate(-4,6)"
|
||||
d="M 11.000001,18 C 29.225397,18 44,32.774603 44,51"
|
||||
id="path3025"
|
||||
style="fill:none;stroke:#280000;stroke-width:12.1606;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
transform="translate(-4,6)"
|
||||
d="M 11.000001,18 C 29.225397,18 44,32.774603 44,51"
|
||||
id="path3025-3"
|
||||
style="fill:none;stroke:#ef2929;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
transform="translate(-4,6)"
|
||||
d="M 11.000001,18 C 29.225397,18 44,32.774603 44,51"
|
||||
id="path3025-3-6"
|
||||
style="fill:none;stroke:#cc0000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g3071-2"
|
||||
transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,139.73516,72.918789)">
|
||||
<rect
|
||||
transform="matrix(0.99999974,7.1938714e-4,-7.1838503e-4,0.99999974,0,0)"
|
||||
ry="0"
|
||||
rx="0"
|
||||
y="33.032074"
|
||||
x="78.283699"
|
||||
height="9.8608322"
|
||||
width="53.747211"
|
||||
id="rect3770-9"
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#cc0000;fill-opacity:1;fill-rule:nonzero;stroke:#280000;stroke-width:3.31653;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
|
||||
<rect
|
||||
transform="matrix(0.99999989,4.636052e-4,-0.00111473,0.99999938,0,0)"
|
||||
ry="0"
|
||||
rx="0"
|
||||
y="35.020126"
|
||||
x="80.300385"
|
||||
height="5.9074764"
|
||||
width="49.745319"
|
||||
id="rect3770-3-1"
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#ef2929;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
331
src/Mod/Assembly/Gui/Resources/icons/Assembly_Joint.svg
Normal file
@@ -0,0 +1,331 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="64px"
|
||||
height="64px"
|
||||
id="svg2821"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
sodipodi:docname="Assembly_Joint.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
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="defs2823">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4">
|
||||
<stop
|
||||
style="stop-color:#3465a4;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3" />
|
||||
<stop
|
||||
style="stop-color:#729fcf;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3801">
|
||||
<stop
|
||||
style="stop-color:#c4a000;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3803" />
|
||||
<stop
|
||||
style="stop-color:#fce94f;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop3805" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3377"
|
||||
id="radialGradient3701"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="84.883324"
|
||||
cy="77.042847"
|
||||
fx="84.883324"
|
||||
fy="77.042847"
|
||||
r="19.467436"
|
||||
gradientTransform="matrix(2.8492421,1.2585119,-0.4040415,0.9147407,-125.84131,-100.25805)" />
|
||||
<linearGradient
|
||||
id="linearGradient3377">
|
||||
<stop
|
||||
id="stop3379"
|
||||
offset="0"
|
||||
style="stop-color:#faff2b;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop3381"
|
||||
offset="1"
|
||||
style="stop-color:#ffaa00;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3377"
|
||||
id="radialGradient3699"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="76.383331"
|
||||
cy="94.369568"
|
||||
fx="76.383331"
|
||||
fy="94.369568"
|
||||
r="19.467436"
|
||||
gradientTransform="matrix(0.9818943,0.1894295,-0.4109427,2.1300924,40.163453,-121.11559)" />
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 32 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="64 : 32 : 1"
|
||||
inkscape:persp3d-origin="32 : 21.333333 : 1"
|
||||
id="perspective2829" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3801"
|
||||
id="linearGradient3807"
|
||||
x1="110"
|
||||
y1="35"
|
||||
x2="85"
|
||||
y2="35"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
spreadMethod="reflect"
|
||||
gradientTransform="translate(-61,-0.19620034)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3801-5"
|
||||
id="linearGradient3807-7"
|
||||
x1="110"
|
||||
y1="35"
|
||||
x2="85"
|
||||
y2="35"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
spreadMethod="reflect"
|
||||
gradientTransform="translate(-62,-16)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3801-5">
|
||||
<stop
|
||||
style="stop-color:#c4a000;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3803-3" />
|
||||
<stop
|
||||
style="stop-color:#fce94f;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop3805-5" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient3838"
|
||||
id="linearGradient3844"
|
||||
x1="2802.9631"
|
||||
y1="538.36249"
|
||||
x2="2859.7263"
|
||||
y2="786.05646"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient3838">
|
||||
<stop
|
||||
style="stop-color:#34e0e2;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3840" />
|
||||
<stop
|
||||
style="stop-color:#06989a;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop3842" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="786.05646"
|
||||
x2="2859.7263"
|
||||
y1="538.36249"
|
||||
x1="2802.9631"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3045"
|
||||
xlink:href="#linearGradient3172" />
|
||||
<linearGradient
|
||||
id="linearGradient3172">
|
||||
<stop
|
||||
id="stop3174"
|
||||
offset="0"
|
||||
style="stop-color:#ef2929;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop3176"
|
||||
offset="1"
|
||||
style="stop-color:#a40000;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient3172"
|
||||
id="linearGradient3880"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="2802.9631"
|
||||
y1="626.0874"
|
||||
x2="2849.4058"
|
||||
y2="822.17853" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4"
|
||||
id="linearGradient3"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-61,-0.19620034)"
|
||||
x1="110"
|
||||
y1="35"
|
||||
x2="85"
|
||||
y2="35"
|
||||
spreadMethod="reflect" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="10.193662"
|
||||
inkscape:cx="34.482211"
|
||||
inkscape:cy="20.993437"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1356"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2992"
|
||||
empspacing="2"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true"
|
||||
originx="0"
|
||||
originy="0"
|
||||
spacingy="1"
|
||||
spacingx="1"
|
||||
units="px" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata2826">
|
||||
<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:title>Part_Cylinder</dc:title>
|
||||
<dc:date>2011-10-10</dc:date>
|
||||
<dc:relation>http://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/Part/Gui/Resources/icons/Part_Cylinder.svg</dc:identifier>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>FreeCAD LGPL2+</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<cc:license>https://www.gnu.org/copyleft/lesser.html</cc:license>
|
||||
<dc:contributor>
|
||||
<cc:Agent>
|
||||
<dc:title>[agryson] Alexander Gryson</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:contributor>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
id="g2"
|
||||
inkscape:label="Main"
|
||||
transform="matrix(1.0416665,0,0,1.0416665,-1.3333273,-2.3320947)">
|
||||
<g
|
||||
id="g1"
|
||||
inkscape:label="Part"
|
||||
transform="translate(3.6192085e-6,-0.89630564)">
|
||||
<path
|
||||
style="fill:#fce94f;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 56.000001,52.8038 c 0,4.418278 -10.745166,8 -24,8 -13.254833,0 -23.9999985,-3.581722 -23.9999985,-8 l -2e-6,-18.217405 H 56 Z"
|
||||
id="path2994-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3807);fill-opacity:1;stroke:#fce94f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,51.531073 c 0,4.016616 -9.84973,7.272727 -22,7.272727 -12.150264,0 -21.999999,-3.256111 -21.999999,-7.272727 l -1.5e-6,-15.950307 H 54 Z"
|
||||
id="path2994-3-6"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sscccs" />
|
||||
<path
|
||||
style="fill:none;stroke:#fce94f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,38.835626 c -2,3.272727 -9.84973,5.272727 -22,5.272727 -12.150264,0 -19,-2 -21.999999,-5.272727"
|
||||
id="path2994-3-6-9"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csc" />
|
||||
<ellipse
|
||||
style="fill:#fce94f;stroke:#302b00;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
id="path2994"
|
||||
cx="32"
|
||||
cy="34.381172"
|
||||
rx="24"
|
||||
ry="7.9999995" />
|
||||
</g>
|
||||
<path
|
||||
d="m 44.724484,42.214865 0,8.096549 c 0,0 -1.084323,3.922162 -12.564831,3.922162 -11.480508,0 -11.750143,-3.922162 -11.750143,-3.922162 l 0,-7.8593"
|
||||
style="fill:#729fcf;fill-opacity:1;stroke:#fce94f;stroke-width:2.08333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
id="path1-5"
|
||||
transform="matrix(0.96000015,0,0,0.96000015,1.2799944,2.2388113)"
|
||||
sodipodi:nodetypes="cczcc" />
|
||||
<path
|
||||
d="m 42.423915,37.93471 v 11.605108 c 0,0 0.105469,2.899307 -10.224895,2.899307 -10.330364,0 -9.561926,-2.899307 -9.561926,-2.899307 V 38.110087"
|
||||
style="fill:#729fcf;fill-opacity:1;stroke:#302b00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
id="path1-6"
|
||||
sodipodi:nodetypes="ccscc" />
|
||||
<g
|
||||
id="g3"
|
||||
inkscape:label="Part 2"
|
||||
transform="translate(3.6192085e-6,-20.496033)">
|
||||
<path
|
||||
style="fill:#729fcf;fill-opacity:1;stroke:#0b1521;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 56.000001,52.8038 c 0,3.292855 -5.968324,6.121052 -14.495801,7.348199 v 9.235537 c 0,0 0.0958,2.307316 -9.287334,2.307316 -9.383131,0 -8.685155,-2.307316 -8.685155,-2.307316 V 60.291568 C 14.4556,59.150481 8.0000025,56.228438 8.0000025,52.8038 l -2e-6,-18.217405 H 56 Z"
|
||||
id="path1"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="scczcccccs" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3);fill-opacity:1;stroke:#729fcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,51.531073 c 0,3.178678 -6.168743,5.881062 -14.764615,6.870253 v 10.060365 c 0,0 -3.395389,0.831669 -6.594726,0.824042 -3.199337,-0.0076 -6.53823,-0.824042 -6.53823,-0.824042 V 58.539526 C 16.816059,57.687388 10.000001,54.872367 10.000001,51.531073 l -1.5e-6,-15.950307 H 54 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="scczcccccs" />
|
||||
<path
|
||||
style="fill:none;stroke:#729fcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
d="m 54,38.835626 c -2,3.272727 -9.84973,5.272727 -22,5.272727 -12.150264,0 -19,-2 -21.999999,-5.272727"
|
||||
id="path3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csc" />
|
||||
<ellipse
|
||||
style="fill:#729fcf;fill-opacity:1;stroke:#0b1521;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.5;stroke-dasharray:none;stroke-dashoffset:20.4;stroke-opacity:1"
|
||||
id="ellipse3"
|
||||
cx="32"
|
||||
cy="34.381172"
|
||||
rx="24"
|
||||
ry="7.9999995" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -498,7 +498,7 @@ class Edit(gui_base_original.Modifier):
|
||||
orthoConstrain = True
|
||||
snappedPos = Gui.Snapper.snap((pos[0],pos[1]),self.node[-1], constrain=orthoConstrain)
|
||||
self.trackers[self.obj.Name][self.editing].set(snappedPos)
|
||||
self.ui.displayPoint(snappedPos, self.node[-1])
|
||||
self.ui.displayPoint(snappedPos, self.node[-1], mask=Gui.Snapper.affinity)
|
||||
if self.ghost:
|
||||
self.updateGhost(obj=self.obj, node_idx=self.editing, v=snappedPos)
|
||||
|
||||
|
||||
@@ -241,12 +241,12 @@ class Shape2DView(DraftObject):
|
||||
else:
|
||||
shtypes.setdefault(o.Material.Name
|
||||
if (hasattr(o,"Material") and o.Material)
|
||||
else "None",[]).append(o.Shape.copy())
|
||||
else "None",[]).extend(o.Shape.SubShapes)
|
||||
elif hasattr(o,'Shape'):
|
||||
if onlysolids:
|
||||
shapes.extend(o.Shape.Solids)
|
||||
else:
|
||||
shapes.append(o.Shape.copy())
|
||||
shapes.extend(o.Shape.SubShapes)
|
||||
for k, v in shtypes.items():
|
||||
v1 = v.pop()
|
||||
if v:
|
||||
@@ -264,14 +264,14 @@ class Shape2DView(DraftObject):
|
||||
shapes.extend(v1.Solids)
|
||||
else:
|
||||
print("Shape2DView: Fusing Arch objects produced non-solid results")
|
||||
shapes.append(v1)
|
||||
shapes.extend(v1.SubShapes)
|
||||
else:
|
||||
for o in objs:
|
||||
if hasattr(o,'Shape'):
|
||||
if onlysolids:
|
||||
shapes.extend(o.Shape.Solids)
|
||||
else:
|
||||
shapes.append(o.Shape.copy())
|
||||
shapes.extend(o.Shape.SubShapes)
|
||||
clip = False
|
||||
if hasattr(obj.Base,"Clip"):
|
||||
clip = obj.Base.Clip
|
||||
@@ -302,12 +302,12 @@ class Shape2DView(DraftObject):
|
||||
if onlysolids:
|
||||
cuts.extend(c.Solids)
|
||||
else:
|
||||
cuts.append(c)
|
||||
cuts.extend(c.SubShapes)
|
||||
else:
|
||||
if onlysolids:
|
||||
cuts.extend(sh.Solids)
|
||||
else:
|
||||
cuts.append(sh.copy())
|
||||
cuts.extend(sh.SubShapes)
|
||||
comp = Part.makeCompound(cuts)
|
||||
obj.Shape = self.getProjected(obj,comp,proj)
|
||||
elif obj.ProjectionMode in ["Cutlines", "Cutfaces"]:
|
||||
@@ -339,9 +339,7 @@ class Shape2DView(DraftObject):
|
||||
objs = self.excludeNames(obj,groups.get_group_contents(obj.Base))
|
||||
for o in objs:
|
||||
if hasattr(o,'Shape'):
|
||||
if o.Shape:
|
||||
if not o.Shape.isNull():
|
||||
shapes.append(o.Shape)
|
||||
shapes.extend(o.Shape.SubShapes)
|
||||
if shapes:
|
||||
import Part
|
||||
comp = Part.makeCompound(shapes)
|
||||
|
||||
@@ -502,6 +502,9 @@ class ViewProviderLinearDimension(ViewProviderDimensionBase):
|
||||
rot1[2], rot1[3]))
|
||||
self.transDimOvershoot2.rotation.setValue((rot1[0], rot1[1],
|
||||
rot1[2], rot1[3]))
|
||||
self.trot = rot1
|
||||
else:
|
||||
self.trot = (0, 0, 0, 1)
|
||||
|
||||
if hasattr(vobj, "FlipArrows") and vobj.FlipArrows:
|
||||
u = u.negative()
|
||||
@@ -535,7 +538,6 @@ class ViewProviderLinearDimension(ViewProviderDimensionBase):
|
||||
else:
|
||||
offset = DraftVecUtils.scaleTo(v1, 0.05)
|
||||
|
||||
self.trot = rot1
|
||||
if hasattr(vobj, "FlipText") and vobj.FlipText:
|
||||
_rott = App.Rotation(self.trot[0], self.trot[1], self.trot[2], self.trot[3])
|
||||
self.trot = _rott.multiply(App.Rotation(App.Vector(0, 0, 1), 180)).Q
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
# include <ctime>
|
||||
#endif //_PreComp_
|
||||
|
||||
#include <Base/Console.h>
|
||||
#include <Base/Exception.h>
|
||||
#include <Base/Reader.h>
|
||||
#include <Base/Writer.h>
|
||||
@@ -232,16 +233,21 @@ void Geometry::Restore(Base::XMLReader &reader)
|
||||
|
||||
if(strcmp(reader.localName(),"GeoExtensions") == 0) { // new format
|
||||
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
long count = reader.getAttributeAsInteger("count");
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
for (long i = 0; i < count; i++) {
|
||||
reader.readElement("GeoExtension");
|
||||
const char* TypeName = reader.getAttribute("type");
|
||||
Base::Type type = Base::Type::fromName(TypeName);
|
||||
GeometryPersistenceExtension *newE = static_cast<GeometryPersistenceExtension *>(type.createInstance());
|
||||
newE->Restore(reader);
|
||||
if (newE) {
|
||||
newE->Restore(reader);
|
||||
|
||||
extensions.push_back(std::shared_ptr<GeometryExtension>(newE));
|
||||
extensions.push_back(std::shared_ptr<GeometryExtension>(newE));
|
||||
}
|
||||
else {
|
||||
Base::Console().Warning("Cannot restore geometry extension of type: %s\n", TypeName);
|
||||
}
|
||||
}
|
||||
|
||||
reader.readEndElement("GeoExtensions");
|
||||
|
||||
@@ -11,129 +11,354 @@
|
||||
FatherNamespace="Part">
|
||||
<Documentation>
|
||||
<Author Licence="LGPL" Name="Juergen Riegel" EMail="FreeCAD@juergen-riegel.net" />
|
||||
<UserDocu>With this objects you can handle sketches</UserDocu>
|
||||
<UserDocu>Represents a sketch object</UserDocu>
|
||||
</Documentation>
|
||||
<Methode Name="solve">
|
||||
<Documentation>
|
||||
<UserDocu>solve the actual set of geometry and constraints</UserDocu>
|
||||
<UserDocu>
|
||||
Solve the sketch and update the geometry.
|
||||
|
||||
solve()
|
||||
|
||||
Returns:
|
||||
0 in case of success, otherwise the following codes in this order of
|
||||
priority:
|
||||
-4 if over-constrained,
|
||||
-3 if conflicting constraints,
|
||||
-5 if malformed constraints
|
||||
-1 if solver error,
|
||||
-2 if redundant constraints.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="addGeometry">
|
||||
<Documentation>
|
||||
<UserDocu>add a geometric object to the sketch</UserDocu>
|
||||
<UserDocu>
|
||||
Add geometric objects to the sketch.
|
||||
|
||||
addGeometry(geo:Geometry, isConstruction=False) -> int
|
||||
Add a single geometric object to the sketch.
|
||||
|
||||
Args:
|
||||
geo: The geometry to add. e.g. a Part.LineSegement
|
||||
isConstruction: Whether the added geometry is a "construction geometry".
|
||||
Defaults to `False`, i.e. by omitting, a regular geometry is added.
|
||||
|
||||
Returns:
|
||||
The zero-based index of the newly added geometry.
|
||||
|
||||
addGeometry(geo:List(Geometry), isConstruction=False) -> Tuple(int)
|
||||
Add many geometric objects to the sketch.
|
||||
|
||||
Args:
|
||||
geo: The geometry to add.
|
||||
isConstruction: see above.
|
||||
|
||||
Returns:
|
||||
A tuple of zero-based indices of all newly added geometry.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="delGeometry">
|
||||
<Documentation>
|
||||
<UserDocu>delete a geometric object from the sketch</UserDocu>
|
||||
<UserDocu>
|
||||
Delete a geometric object from the sketch.
|
||||
|
||||
delGeometry(geoId:int)
|
||||
|
||||
Args:
|
||||
geoId: The zero-based index of the geometry to delete.
|
||||
Any internal alignment geometry thereof will be deleted, too.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="delGeometries">
|
||||
<Documentation>
|
||||
<UserDocu>delete a list of geometric objects from the sketch, including any internal alignment geometry thereof</UserDocu>
|
||||
<UserDocu>
|
||||
Delete a list of geometric objects from the sketch.
|
||||
|
||||
delGeometries(geoIds:List(int))
|
||||
|
||||
Args:
|
||||
geoId: A list of zero-based indices of the geometry to delete.
|
||||
Any internal alignment geometry thereof will be deleted, too.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="deleteAllGeometry">
|
||||
<Documentation>
|
||||
<UserDocu>delete all the geometry objects and constraints from the sketch except external geometry</UserDocu>
|
||||
<UserDocu>
|
||||
Delete all the geometry objects from the sketch, except external geometry.
|
||||
|
||||
deleteAllGeometry()
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="deleteAllConstraints">
|
||||
<Documentation>
|
||||
<UserDocu>delete all the constraints from the sketch</UserDocu>
|
||||
<UserDocu>
|
||||
Delete all the constraints from the sketch.
|
||||
|
||||
deleteAllConstraints()
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="toggleConstruction">
|
||||
<Documentation>
|
||||
<UserDocu>switch a geometry to a construction line</UserDocu>
|
||||
<UserDocu>
|
||||
Toggles a geometry between regular and construction.
|
||||
|
||||
toggleConstruction(geoId:int)
|
||||
|
||||
Args:
|
||||
geoId: The zero-based index of the geometry to toggle.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="setConstruction">
|
||||
<Documentation>
|
||||
<UserDocu>set construction mode of a geometry on or off</UserDocu>
|
||||
<UserDocu>
|
||||
Set construction mode of a geometry.
|
||||
|
||||
setConstruction(geoId:int, state:bool)
|
||||
|
||||
Args:
|
||||
geoId: The zero-based index of the geometry to configure.
|
||||
state: `True` configures the geometry to "construction geometry",
|
||||
`False` configures it to regular geometry.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="getConstruction">
|
||||
<Documentation>
|
||||
<UserDocu>returns the construction mode of a geometry</UserDocu>
|
||||
<UserDocu>
|
||||
Determine whether the given geometry is a "construction geometry".
|
||||
|
||||
getConstruction(geoId:int)
|
||||
|
||||
Args:
|
||||
geoId: The zero-based index of the geometry to query.
|
||||
|
||||
Returns:
|
||||
`True` if the geometry is "construction geometry" and
|
||||
`False` if it s a regular geometry.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="addConstraint">
|
||||
<Documentation>
|
||||
<UserDocu>add a constraint to the sketch</UserDocu>
|
||||
<UserDocu>
|
||||
Add constraints to the sketch.
|
||||
|
||||
addConstraint(constraint:Constraint) -> int
|
||||
Add a single constraint to the sketch and solves it.
|
||||
|
||||
Returns:
|
||||
The zero-based index of the newly added constraint.
|
||||
|
||||
addConstraint(constraints:List(Constraint)) -> Tuple(int)
|
||||
Add many constraints to the sketch without solving.
|
||||
|
||||
Returns:
|
||||
A tuple of zero-based indices of all newly added constraints.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="delConstraint">
|
||||
<Documentation>
|
||||
<UserDocu>delete a constraint from the sketch</UserDocu>
|
||||
<UserDocu>
|
||||
Delete a constraint from the sketch.
|
||||
|
||||
delConstraint(constraintIndex:int)
|
||||
|
||||
Args:
|
||||
constraintIndex: The zero-based index of the constraint to delete.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="renameConstraint">
|
||||
<Documentation>
|
||||
<UserDocu>Rename a constraint of the sketch</UserDocu>
|
||||
<UserDocu>
|
||||
Rename a constraint in the sketch.
|
||||
|
||||
renameConstraint(constraintIndex:int, name:str)
|
||||
|
||||
Args:
|
||||
constraintIndex: The zero-based index of the constraint to rename.
|
||||
name: The new name for the constraint.
|
||||
An empty string makes the constraint "unnamed" again.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="getIndexByName" Const="true">
|
||||
<Documentation>
|
||||
<UserDocu>
|
||||
Get the index of the constraint by name.
|
||||
If there is no such constraint an exception is raised.
|
||||
Get the index of a constraint by name.
|
||||
|
||||
getIndexByName(name:str)
|
||||
|
||||
Args:
|
||||
name: The name for the constraint to look up.
|
||||
If there is no such constraint an exception is raised.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="carbonCopy">
|
||||
<Documentation>
|
||||
<UserDocu>copy another sketch's geometry and constraints</UserDocu>
|
||||
<UserDocu>
|
||||
Copy another sketch's geometry and constraints into this sketch.
|
||||
|
||||
carbonCopy(objName:str, asConstruction=True)
|
||||
|
||||
Args:
|
||||
ObjName: The name of the sketch object to copy from.
|
||||
asConstruction: Whether to copy the geometry as "construction geometry".
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="addExternal">
|
||||
<Documentation>
|
||||
<UserDocu>add a link to an external geometry to use it in a constraint</UserDocu>
|
||||
<UserDocu>
|
||||
Add a link to an external geometry.
|
||||
|
||||
addExternal(objName:str, subName:str)
|
||||
|
||||
Args:
|
||||
objName: The name of the document object to reference.
|
||||
subName: The name of the sub-element of the object's shape to link as
|
||||
"external geometry".
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="delExternal">
|
||||
<Documentation>
|
||||
<UserDocu>delete a external geometry link from the sketch</UserDocu>
|
||||
<UserDocu>
|
||||
Delete an external geometry link from the sketch.
|
||||
|
||||
delExternal(extGeoId:int)
|
||||
|
||||
Args:
|
||||
extGeoId: The zero-based index of the external geometry to remove.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="delConstraintOnPoint">
|
||||
<Documentation>
|
||||
<UserDocu>delete coincident constraints associated with a sketch point</UserDocu>
|
||||
<UserDocu>
|
||||
Delete coincident constraints associated with a sketch point.
|
||||
|
||||
delConstraintOnPoint(vertexId:int)
|
||||
|
||||
Args:
|
||||
vertexId: A zero-based index of the shape's vertices.
|
||||
|
||||
delConstraintOnPoint(geoId:int, pointPos:int)
|
||||
|
||||
Args:
|
||||
geoId: The zero-based index of the geometry that contains the point.
|
||||
pointPos: Enum denoting which point on the geometry is meant:
|
||||
1: the start of a line or bounded curve.
|
||||
2: the end of a line or bounded curve.
|
||||
3: the center of a circle or ellipse.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="setDatum">
|
||||
<Documentation>
|
||||
<UserDocu>set the Datum of a Distance or Angle constraint</UserDocu>
|
||||
<UserDocu>
|
||||
Set the value of a datum constraint (e.g. Distance or Angle)
|
||||
|
||||
setDatum(constraint, value)
|
||||
|
||||
Args:
|
||||
constraint (int or str): The index or name of the constraint to set.
|
||||
value (float or Quantity): The value to set for the constraint. When
|
||||
using floats, values for linear dimensions are interpreted as
|
||||
millimeter, angular ones as radians.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="getDatum" Const="true">
|
||||
<Documentation>
|
||||
<UserDocu>Get the value of a datum constraint</UserDocu>
|
||||
<UserDocu>
|
||||
Get the value of a datum constraint (e.g. Distance or Angle)
|
||||
|
||||
getDatum(constraint) -> Quantity
|
||||
|
||||
Args:
|
||||
constraint (int or str): The index or name of the constraint to query.
|
||||
|
||||
Returns:
|
||||
The value of the constraint.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="setDriving">
|
||||
<Documentation>
|
||||
<UserDocu>set the Driving status of a datum constraint</UserDocu>
|
||||
<UserDocu>
|
||||
Set the Driving status of a datum constraint.
|
||||
|
||||
setDriving(constraintIndex:int, state:bool)
|
||||
|
||||
Args:
|
||||
constraintIndex: The zero-based index of the constraint to configure.
|
||||
state: `True` sets the constraint to driving,
|
||||
`False` configures it as non-driving, i.e. reference.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="setDatumsDriving">
|
||||
<Documentation>
|
||||
<UserDocu>set the Driving status of datum constraints</UserDocu>
|
||||
<UserDocu>
|
||||
Set the Driving status of all datum constraints.
|
||||
|
||||
setDatumsDriving(state:bool)
|
||||
|
||||
Args:
|
||||
state: `True` set all datum constraints to driving,
|
||||
`False` configures them as non-driving, i.e. reference.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="moveDatumsToEnd">
|
||||
<Documentation>
|
||||
<UserDocu>Moves all datum constraints to the end of the constraint list</UserDocu>
|
||||
<UserDocu>
|
||||
Moves all datum constraints to the end of the constraint list.
|
||||
|
||||
moveDatumsToEnd()
|
||||
|
||||
Warning: This method reorders the constraint indices. Previously hold
|
||||
numeric references to constraints may reference different constraints
|
||||
after this operation.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="getDriving" Const="true">
|
||||
<Documentation>
|
||||
<UserDocu>Get the Driving status of a datum constraint</UserDocu>
|
||||
<UserDocu>
|
||||
Get the Driving status of a datum constraint.
|
||||
|
||||
getDriving(constraintIndex:int)
|
||||
|
||||
Args:
|
||||
constraintIndex: The zero-based index of the constraint to query.
|
||||
|
||||
Returns:
|
||||
`True` if the constraint is driving,
|
||||
`False` if it is non-driving, i.e. reference.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="toggleDriving">
|
||||
<Documentation>
|
||||
<UserDocu>toggle the Driving status of a datum constraint</UserDocu>
|
||||
<UserDocu>
|
||||
Toggle the Driving status of a datum constraint.
|
||||
|
||||
toggleDriving(constraintIndex:int)
|
||||
|
||||
Args:
|
||||
constraintIndex: The zero-based index of the constraint to toggle.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="setVirtualSpace">
|
||||
@@ -153,17 +378,44 @@ If there is no such constraint an exception is raised.
|
||||
</Methode>
|
||||
<Methode Name="setActive">
|
||||
<Documentation>
|
||||
<UserDocu>sets the constraint on/off (enforced or not)</UserDocu>
|
||||
<UserDocu>
|
||||
Activates or deactivates a constraint (enforce it or not).
|
||||
|
||||
setActive(constraintIndex:int, state:bool)
|
||||
|
||||
Args:
|
||||
constraintIndex: The zero-based index of the constraint to configure.
|
||||
state: `True` sets the constraint to active i.e. enforced,
|
||||
`False` configures it as inactive, i.e. not enforced.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="getActive" Const="true">
|
||||
<Documentation>
|
||||
<UserDocu>Get the constraint status (enforced or not)</UserDocu>
|
||||
<UserDocu>
|
||||
Get whether a constraint is active, i.e. enforced, or not.
|
||||
|
||||
getActive(constraintIndex:int)
|
||||
|
||||
Args:
|
||||
constraintIndex: The zero-based index of the constraint to query.
|
||||
|
||||
Returns:
|
||||
`True` if the constraint is active, i.e. enforced,
|
||||
`False` if it is inactive, i.e. not enforced.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="toggleActive">
|
||||
<Documentation>
|
||||
<UserDocu>toggle the active status of constraint (enforced or not)</UserDocu>
|
||||
<UserDocu>
|
||||
Toggle the constraint between active (enforced) and inactive.
|
||||
|
||||
toggleActive(constraintIndex:int)
|
||||
|
||||
Args:
|
||||
constraintIndex: The zero-based index of the constraint to toggle.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="movePoint">
|
||||
|
||||
@@ -638,9 +638,9 @@ class MatrixTestCase(unittest.TestCase):
|
||||
self.mat.setCol(0, FreeCAD.Vector(1, 0, 0))
|
||||
self.mat.setRow(0, FreeCAD.Vector(1, 0, 0))
|
||||
|
||||
def testTrace(self):
|
||||
def testDiagonal(self):
|
||||
self.mat.scale(2.0, 2.0, 2.0)
|
||||
self.assertEqual(self.mat.trace(), FreeCAD.Vector(2.0, 2.0, 2.0))
|
||||
self.assertEqual(self.mat.diagonal(), FreeCAD.Vector(2.0, 2.0, 2.0))
|
||||
|
||||
def testNumberProtocol(self):
|
||||
with self.assertRaises(NotImplementedError):
|
||||
|
||||