Featurerequest Sketcher: partielle Bestimmtheit

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
ickby
Posts: 2922
Joined: Wed Oct 05, 2011 7:36 am

Re: Featurerequest Sketcher: partielle Bestimmtheit

Postby ickby » Sat Dec 03, 2016 12:31 pm

tom wrote:
ickby wrote:Das Problem ist mathematisch hochkomplex. In kommerziellen Systemen wird zusätzlich zu den numerischen auf Graphen-basierte Algorithmen zurückgegriffen, es gibt aber keinen geschlossenen Algorithmus der garantiert alle Lösungen zu finden.
Dass das hochkomplex ist, merke ich auch schon eine Weile. Ich verfolge ja auch mit Interesse die Entwicklung bezüglich robuster Referenzen und suche auch selbst nach brauchbaren Lösungen. Bin jedoch bisher kläglich daran gescheitert. Doch zurück zum Thema: An zusätzliche Graphen zur Lösung des Problems hatte ich auch gedacht. In meinem Kopf existiert derzeit folgender Algorithmus, von einander unabhängige Teile eines Sketches zu lösen:
  • Zunächst wird ein Graph mit den Elementen des Sketches als Knoten (Vertexes und Edges). Die Constraints des Sketches bilden die Kanten im Graphen, wobei sie jene Knoten verbinden, die direkt von den Constraints berührt werden. Die Art des Contraints ist für die Kante im Graphen ohne Belang.
  • Nun werden Spanning Trees im Graphen gesucht. Die Spanning Trees müssen nicht zwingenderweise minimal sein. Es reicht, sie überhaupt zu finden. Die Operation kostet O(n), wobei n die Anzahl der Knoten im Graphen ist. Die Spanning Trees umfassen jeweils die von uns gesuchten voneinander unabhängigen Teile des Sketches.
  • Pro Spanning Tree wird nun ein Gleichungssystem aufgestellt und wie bisher auch gelöst.
Könnte das funktionieren?
ickby wrote:Aber dem User anzeigen, was schon fest ist, werden wir trotzdem nicht. Wenn man das macht muss man sicherstellen das es alles anzeigt. Und das können wir nicht.
Den Satz habe ich nicht ganz verstanden.

VG Thomas
Grundsätzlich ja, so finded man von einander losgelöste Sketch-Teile die man einzeln Lösen kann. Das wird aktuell auch so gemacht.
Das hilft nur für das hier beschriebene Problem nicht. Wie du richtig beschrieben hast sind Sketch-Teile miteinander Verbunden, sobald eine Beschränkung besteht, auch wenn die Kantenzüge voneinander getrennt sind. Das Ergebnis is extrem unintuitiv: Erst wird ein Teilsketch als vollständig beschränkt angezeigt, und auf einmal, wenn man eine Beschränkung hinzufügt, die an der Bestimmtheit nichts ändert, ist er auf einmal nicht mehr voll beschränkt. Das verwirrt viel mehr als alles andere.
Den Satz habe ich nicht ganz verstanden.
Ich meine damit das das Grundlegende Problem eigentlich ist, zu erkennen, ob eine Geometrie (also Line, Kreis etc.) noch freiheitsgrade hat oder nicht. Wenn man anfängt, solche Freiheitsgrade anzuzeigen, muss man sicherstellen, das es das immer richtig anzeigt. Erst wenn man das kann sollte man das feature einführen, den es ist viel verwirrender solch ein Feature zu haben was nicht richtig funktioniert und worauf man sich ann sowieso nicht verlasen kann als es nicht zu haben.
Das anzeigen für Kantenzügen ist nur eine besondere Form des Problems. Und es gilt auch da: Man muss die Freiheitsgrade der Kantenzüge zuverlässig erkennen können bevor man sie Anzeigt. Und das geht so leider nicht.
HartmutG
Posts: 190
Joined: Fri Oct 21, 2016 10:13 am

Re: Featurerequest Sketcher: partielle Bestimmtheit

Postby HartmutG » Sat Dec 03, 2016 12:46 pm

ickby wrote:Ich meine damit das das Grundlegende Problem eigentlich ist, zu erkennen, ob eine Geometrie (also Line, Kreis etc.) noch freiheitsgrade hat oder nicht. Wenn man anfängt, solche Freiheitsgrade anzuzeigen, muss man sicherstellen, das es das immer richtig anzeigt. Erst wenn man das kann sollte man das feature einführen, den es ist viel verwirrender solch ein Feature zu haben was nicht richtig funktioniert und worauf man sich ann sowieso nicht verlasen kann als es nicht zu haben.
Also ich verstehe Deine Einstellung schon ganz gut, soll nur dann grün anzeigen, wenn es dass immer bei allen positiv als auch negativ erkennen kann. Und Du hast recht, das immer sicher einzeln festzustellen ist vielleicht garnicht möglich (oder nicht mit vertretbarem Aufwand).

Man kann es aber auch anders rum sehen: Wenn der Sketcher ein einzelnes als grün erkennen kann, andere "bestimmte" aber noch scharz läßt, obwohl ebenfalls bestimmt, ist es immerhin besser, als wenn er grundsätzlich von Anfang an alles bis zum letzten Konstraint alles kategorisch schwarz läßt. IMHO für den Anwender eine Hilfe, selbst wenn es nicht immer mathematisch perfekt ist und alles immer zu 100% auf Anhieb findet.
Gruß, HG
tom
Posts: 65
Joined: Sun Mar 29, 2015 9:20 pm

Re: Featurerequest Sketcher: partielle Bestimmtheit

Postby tom » Sat Dec 03, 2016 4:38 pm

ickby wrote:Grundsätzlich ja, so finded man von einander losgelöste Sketch-Teile die man einzeln Lösen kann. Das wird aktuell auch so gemacht.
Das wusste ich nicht. Werde mich wohl jetzt mal näher mit dem Source-Code auseinandersetzen müssen...
ickby wrote:Das Ergebnis is extrem unintuitiv: Erst wird ein Teilsketch als vollständig beschränkt angezeigt, und auf einmal, wenn man eine Beschränkung hinzufügt, die an der Bestimmtheit nichts ändert, ist er auf einmal nicht mehr voll beschränkt. Das verwirrt viel mehr als alles andere.
Ok, das hatte ich nicht bedacht.
ickby wrote:
Den Satz habe ich nicht ganz verstanden.
Ich meine damit das das Grundlegende Problem eigentlich ist, zu erkennen, ob eine Geometrie (also Line, Kreis etc.) noch freiheitsgrade hat oder nicht. Wenn man anfängt, solche Freiheitsgrade anzuzeigen, muss man sicherstellen, das es das immer richtig anzeigt. Erst wenn man das kann sollte man das feature einführen, den es ist viel verwirrender solch ein Feature zu haben was nicht richtig funktioniert und worauf man sich ann sowieso nicht verlasen kann als es nicht zu haben.
Das anzeigen für Kantenzügen ist nur eine besondere Form des Problems. Und es gilt auch da: Man muss die Freiheitsgrade der Kantenzüge zuverlässig erkennen können bevor man sie Anzeigt. Und das geht so leider nicht.
Da gebe ich Dir vollkommen recht. Das ganze muss schon für den Anwender nachvollziehbar sein. Nichtsdestotrotz reizt mich das Thema, da ich dieses Feature in Solidworks gesehen habe und es als extrem nützlich empfand. Ich glaube, ich muss jetzt zunächst die virtuelle Schulbank in höherer Mathematik drücken, um zu sehen, was geht. Andere bekommen es ja auch hin.
wmayer
Site Admin
Posts: 14887
Joined: Thu Feb 19, 2009 10:32 am

Re: Featurerequest Sketcher: partielle Bestimmtheit

Postby wmayer » Sat Dec 03, 2016 9:50 pm

Hier ein paar Links aus der Zeit, als der Sketcher entwickelt wurde:
viewtopic.php?f=10&t=835&start=140#p7375
viewtopic.php?f=10&t=835&start=130#p7269

Falls es von Interesse ist, dann hier noch der Anschluss-Thread:
viewtopic.php?f=10&t=1393