Timeline: rearrange drawing in accordance to construction

...since the construction is determined now (and was worked out in FreeCAD),
the SVG will serve to document the construction; thus the drawing
primitives are rearranged to use the unscaled reference coordinates
to be extracted from the FreeCAD document; all scaling and placement
in the SVG document will be applied through common groups.
This commit is contained in:
Fischlurch 2023-02-25 15:32:35 +01:00
parent 3ad5eaa9ba
commit ef4401a185
2 changed files with 161 additions and 100 deletions

View file

@ -27,9 +27,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4.4873333"
inkscape:cx="54.880443"
inkscape:cy="362.36907"
inkscape:zoom="2.2436667"
inkscape:cx="30.664941"
inkscape:cy="361.12572"
inkscape:document-units="mm"
inkscape:current-layer="svg8"
showgrid="true"
@ -94,100 +94,146 @@
<g
inkscape:label="Drawing:Bracket"
inkscape:groupmode="layer"
id="layer1" />
id="layer1">
<rect
style="fill:none;stroke:teal;stroke-width:0.1"
id="rect821"
width="10"
height="10"
x="77"
y="61" />
<g
id="phi_pos"
transform="translate(20,50)">
<g
id="phi">
<rect
id="phiMaj"
y="0"
x="0"
height="10"
width="10"
style="fill:none;stroke:teal;stroke-width:0.1" />
<rect
id="phiMin"
y="0"
x="0"
height="6.1803398"
width="6.1803398"
style="fill:none;stroke:teal;stroke-width:0.1" />
<rect
id="phiMinI"
y="3.8196602"
x="3.8196602"
height="6.1803398"
width="6.1803398"
style="fill:none;stroke:teal;stroke-width:0.1" />
<text
id="phisym"
x="3.8193359"
y="6.0935059"
style="font-size:3px;font-family:Sans;fill:teal;stroke:none"
xml:space="preserve"><tspan
id="phispan"
sodipodi:role="line"
x="3.8193359"
y="6.0935059">Φ</tspan></text>
</g>
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Construction" />
<rect
style="fill:none;stroke:teal;stroke-width:0.1"
id="rect821"
width="10"
height="10"
x="77"
y="61" />
<g
id="phi_pos"
transform="translate(20,50)">
inkscape:label="Construction" >
<g
id="phi">
<rect
id="phiMaj"
y="0"
x="0"
height="10"
width="10"
style="fill:none;stroke:teal;stroke-width:0.1" />
<rect
id="phiMin"
y="0"
x="0"
height="6.1803398"
width="6.1803398"
style="fill:none;stroke:teal;stroke-width:0.1" />
<rect
id="phiMinI"
y="3.8196602"
x="3.8196602"
height="6.1803398"
width="6.1803398"
style="fill:none;stroke:teal;stroke-width:0.1" />
<text
id="phisym"
x="3.8193359"
y="6.0935059"
style="font-size:3px;font-family:Sans;fill:teal;stroke:none"
xml:space="preserve"><tspan
id="phispan"
sodipodi:role="line"
x="3.8193359"
y="6.0935059">Φ</tspan></text>
</g>
</g>
<g
id="r_dubline">
<rect
style="fill:none;stroke:teal;stroke-width:0.1"
id="r_bar"
width="3.8196602"
height="30"
x="0"
y="0" />
<rect
style="fill:none;stroke:teal;stroke-width:0.1"
id="r_vline"
width="10"
height="30"
x="0"
y="0" />
</g>
<g
id="r_mainsquare"
transform="matrix(2.6180339,0,0,2.6180339,0,0)"
style="stroke-width:0.0381966">
<g
id="g847">
<rect
style="fill:none;stroke:teal"
width="10"
height="10"
x="0"
y="0"
id="rect837" />
<rect
style="fill:none;stroke:teal"
width="6.1803398"
height="6.1803398"
x="0"
y="0"
id="rect839" />
<rect
style="fill:none;stroke:teal"
width="6.1803398"
height="6.1803398"
x="3.8196602"
y="3.8196602"
id="rect841" />
id="r_trans">
<g
id="r_ref"
style="fill:none;stroke:teal;stroke-width:0.1">
<g
id="r_dubline">
<rect
style="fill:none;stroke:teal;stroke-width:0.1"
id="r_bar"
width="3.8196602"
height="30"
x="0"
y="0" />
<rect
style="fill:none;stroke:teal;stroke-width:0.1"
id="r_vline"
width="10"
height="30"
x="0"
y="0" />
</g>
<g
id="r_mainsquare"
transform="matrix(2.6180339,0,0,2.6180339,0,-26.180339)"
style="stroke-width:0.0381966">
<rect
id="r_square"
y="0"
x="0"
height="10"
width="10" />
<rect
id="r_sq_min_nw"
y="0"
x="0"
height="6.1803398"
width="6.1803398" />
<rect
id="r_sq_min_se"
y="3.8196602"
x="3.8196602"
height="6.1803398"
width="6.1803398" />
</g>
<g
id="r_construct">
<path
id="r_diagonal"
inkscape:connector-curvature="0"
d="M 0,0 26,-26" />
<path
id="r_dia_se"
inkscape:connector-curvature="0"
d="M 10,0 26,-26" />
<path
id="r_dia_nw"
inkscape:connector-curvature="0"
d="M 0,-10 26,-26" />
<path
id="r_bisec_in"
inkscape:connector-curvature="0"
d="M 13,-19 -9,-56" />
<path
id="r_bisec_out"
inkscape:connector-curvature="0"
d="M 13,-14 -20,-49" />
<path
id="r_arc_out"
sodipodi:type="arc"
sodipodi:cy="-49"
sodipodi:cx="-20"
sodipodi:ry="53"
sodipodi:rx="53"
sodipodi:start="0.44429177"
sodipodi:end="1.2085032"
d="M 27.854511,-26.219619 A 53,53 0 0 1 -1.2157699,0.55958737 L -20,-49 Z" />
<path
id="r_arc_in"
sodipodi:type="arc"
sodipodi:cy="-56"
sodipodi:cx="-9"
sodipodi:ry="48"
sodipodi:rx="48"
sodipodi:start="0.70190517"
sodipodi:end="1.3988087"
d="M 27.653446,-25.007664 A 48,48 0 0 1 -0.78523256,-8.7081657 L -9,-56 Z" />
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View file

@ -28399,8 +28399,7 @@
Die Geometrie-Elemente in den Sketch-Objekten sind eine Spezial-Implementierung, und keine &#187;first class citizens&#171;. Es ist nicht klar, wie man sie aus Expressions referenzieren kann (kein sauberes DSL-Design). Das Dependency-Management ist viel zu naiv implementiert, und es wird empfohlen, mit Tricks und Kniffen zu arbeiten.
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1677284865478" ID="ID_1467561719" MODIFIED="1677285153626" TEXT="Contstraints und Expressions sind noch nicht vollst&#xe4;ndig entwickelt">
<richcontent TYPE="NOTE"><html>
@ -28412,8 +28411,7 @@
Eine Funktion, um eine Linie gem&#228;&#223; Proportion zu teilen, wird zwar oft gew&#252;nscht, ist aber derzeit (2022) noch in Entwicklung. Daher kann man im Moment nur eine feste Basisl&#228;nge als benannter Constraint vorgeben, und dann andere L&#228;ngen per Expression <font face="Monospaced" color="#1418c4">=Constraint.basis * (1+sqrt(5)/2</font>&#160;&#160;daran binden. Au&#223;erdem kann man solche Expressions zwar einmal initial eigeben, dann aber nur noch &#252;ber das XML editieren.
</p>
</body>
</html>
</richcontent>
</html></richcontent>
<icon BUILTIN="broken-line"/>
</node>
<node CREATED="1677283111823" ID="ID_991289244" MODIFIED="1677283133867">
@ -28475,16 +28473,33 @@
</node>
<node CREATED="1677284059069" ID="ID_239372381" MODIFIED="1677284076170" TEXT="in diesem konkreten Fall brauche ich nur ein paar numerische Koordinaten"/>
<node CREATED="1677284078398" ID="ID_314954569" MODIFIED="1677284135625" TEXT="die habe ich jetzt (manuell aus dem XML entnehmen)">
<arrowlink COLOR="#4e50ba" DESTINATION="ID_175092425" ENDARROW="Default" ENDINCLINATION="20;-39;" ID="Arrow_ID_1002715155" STARTARROW="None" STARTINCLINATION="-95;5;"/>
<linktarget COLOR="#d93353" DESTINATION="ID_314954569" ENDARROW="Default" ENDINCLINATION="229;0;" ID="Arrow_ID_1387442926" SOURCE="ID_178736804" STARTARROW="None" STARTINCLINATION="-193;12;"/>
</node>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1677284093289" ID="ID_445049749" MODIFIED="1677284109270" TEXT="Fazit: keine generell brauchbare L&#xf6;sung">
<icon BUILTIN="broken-line"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1677284189119" ID="ID_848175311" MODIFIED="1677284204214" TEXT="Dokumentation im SVG darstellen">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1677285339149" ID="ID_622350527" MODIFIED="1677285395543" TEXT="manuell die Koordinaten ins SVG reinschreiben">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1677331147847" ID="ID_175092425" MODIFIED="1677331206813" TEXT="ermittelte Koordinaten extrahieren">
<linktarget COLOR="#4e50ba" DESTINATION="ID_175092425" ENDARROW="Default" ENDINCLINATION="20;-39;" ID="Arrow_ID_1002715155" SOURCE="ID_314954569" STARTARROW="None" STARTINCLINATION="-95;5;"/>
<icon BUILTIN="flag-yellow"/>
<node CREATED="1677331237859" ID="ID_437122420" MODIFIED="1677332146589" TEXT="bezogen auf Linienweite == 1mm"/>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1677284189119" ID="ID_848175311" MODIFIED="1677336300812" TEXT="Dokumentation im SVG darstellen">
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1677285339149" ID="ID_622350527" MODIFIED="1677336296588" TEXT="manuell die Koordinaten ins SVG reinschreiben">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1677336149759" ID="ID_436410709" MODIFIED="1677336194334" TEXT="Konstruktion vollst&#xe4;ndig anlegen">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1677336159392" ID="ID_721716534" MODIFIED="1677336193101" TEXT="Elemente im SVG konsistent reorganisieren">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1677336199897" ID="ID_1876418381" MODIFIED="1677336290693" TEXT="Gruppe r_trans f&#xfc;r die Platzierung auf der Seite"/>
<node COLOR="#435e98" CREATED="1677336215871" ID="ID_142480272" MODIFIED="1677336290694" TEXT="Gruppe_r_ref umfa&#xdf;t die Konstruktion und tr&#xe4;gt den Style"/>
<node COLOR="#435e98" CREATED="1677336240060" ID="ID_1544427721" MODIFIED="1677336290694" TEXT="Gruppe r_rubline f&#xfc;r die vertikale Doppelline"/>
<node COLOR="#435e98" CREATED="1677336251555" ID="ID_595975745" MODIFIED="1677336290694" TEXT="Gruppe r_mainsquare f&#xfc;r das die Klammer umschliepende Quadrat"/>
<node COLOR="#435e98" CREATED="1677336274103" ID="ID_1407156022" MODIFIED="1677336290694" TEXT="Gruppe r_construct f&#xfc;r die Hilfskonstruktion"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1677285356443" ID="ID_1264869426" MODIFIED="1677285395543" TEXT="von diesen Eckpunkten ausgehend die Konstruktion rekonstruieren">
<icon BUILTIN="flag-yellow"/>