Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

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

WICHTIG: Bitte zuerst lesen, bevor Sie posten
JochenB
Posts: 11
Joined: Wed Jun 29, 2022 7:39 pm

Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by JochenB »

Liebe FreeCADler,

Ich glaube ich habe als Anfänger den Sketcher an seinen Grenzen gebracht und bin ratlos, wie ich nun mit dem Programm mein Ziel erreichen kann. Der Sketcher spukt Fehlermeldungen aus oder kann einfachste Dinge nicht mehr.

Wisst ihr, wie ich ihn zum Arbeiten bringen kann?

Oder gibt es einen besseren Weg zum Ziel als mit dem Sketcher wie ich ihn benutze?

Im Detail:

Ich möchte den Bahnhof Wilischthal als Modellbahn nachbauen. Dazu habe ich einen Originalplan von 1887 als Image und das Geländemodell als Terrains importiert. Ich versuche die Mittellinie der Gleise und Weichen sowie die Umrisse der Gebäude mit dem Sketcher nachzuzeichnen. Im Anschluss schaue ich, wie groß die Modellbahnplatte werden muss. Danach sollen an den Mittellinien irgendwie Schienen und Schwellen positioniert werden, vermutlich als Pfade. Maßstäblich ausgedruckt wird das dann die Grundlage für den Gleisbau im Modell.

Hier der Link zur Datei: Wilischthal mit DGM1m_v5.FCStd

Der Sketcher ist wie gemacht dafür, denn ich kann mittels Beschränkungen die Längen, Radien und Winkel vorgeben und nachträglich ändern, ohne dass es Knicke in den Gleisen gibt. Damit kann ich durch Probieren die Skizze nahe an den Originalplan bringen. Allerdings kommt schnell eine große Anzahl an Beschränkungen zusammen, bei mir sind es mehrere Skizzen, die größte hat derzeit 159 Beschränkungen.

Aber je mehr Beschränkungen ich habe, desto häufiger kommt die folgende Meldung.

Maßliche Einschränkung: Invalid constraint index: ...

Ich kann Werte nur noch in sehr kleinen Schritten ändern, irgendwann dann gar nicht mehr. Wenn ich z.B. in meiner Skizze "Skizze Bf-Gleise 750mm" die 160. Längenbeschränkung hinzufügen möchte, in der ich die vorhandene Länge der 58. Linie fixieren möchte, kommt die Fehlermeldung:

"Maßliche Einschränkung: Datum 1014,663 mm for the constraint with index 159 is invalid"

Im Ausgabefenster steht:

Code: Select all

23:09:15  Traceback (most recent call last):
  File "<string>", line 1, in <module>
<class 'ValueError'>: Datum 1014,663 mm for the constraint with index 159 is invalid
23:09:15  App.getDocument('Wilischthal_mit_DGM1m_v5').getObject('Sketch001').setDatum(159,App.Units.Quantity('1014.663000 mm'))
Selbst bei neu angelegte Skizzen mit einfachen Formen funktionieren simple Dinge nicht, wie z. B. Rechtecke drehen (Skizze "Grundplatten"). Scheinbar ist der Solver mit zu vielen Beschränkungen überfordert.

Im englischem Forum habe ich folgenden Tipp gefunden (übersetzt):

Sie können in den Skizze-Einstellungen das Kontrollkästchen "Bereich 'Erweiterte Löser-Steuerung' im Task-Dialog anzeigen" aktivieren. Im Sketcher können Sie "Multiplikator der Skizzengröße" aktivieren, danach konnte ich sofort zum gewünschten Winkel von 10 ° gehen. ( https://forum.freecadweb.org/viewtopic.php?t=37716 )

In FreeCAD 0.20 habe ich die Kontrollkästchen gefunden unter Bearbeiten > Einstellungen > Skizze bzw. im Aufgabenfenster der Skizze. Geholfen hat es leider nicht.

Danke schonmal!
Jochen

Code: Select all

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.29177 (Git)
Build type: Release
Branch: releases/FreeCAD-0-20
Hash: 68e337670e227889217652ddac593c93b5e8dc94
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.2
Locale: German/Germany (de_DE)
Installed mods: 
  * Trails 2022.1.0
chrisb
Veteran
Posts: 44495
Joined: Tue Mar 17, 2015 9:14 am

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by chrisb »

Hallo und willkommen im Forum!

160 Constraints sind zwar schon jenseits des Limits von 100, das wir gerne als sinnvoll ausgeben, aber der Löser wird erst mal nur langsamer und sollte derlei eigentlich noch gut handhaben können.

Ich habe eher die Vermutung, dass Du mal zwischendurch redundante oder andere Fehler hattest und dann weitere Beschränkungen hinzugefügt hast. Dann kann der Löser komplett aus dem Tritt geraten.

Ich würde Dir eher empfehlen von einem einfachen Master-Sketch auszugehen und dann die Gleisanlage in mehrere Sketche aufzuteilen. Gar nicht mal wegen des Sketchers, sondern um selbst den Überblick zu behalten.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 44495
Joined: Tue Mar 17, 2015 9:14 am

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by chrisb »

Vielleicht ist auch die Block-Beschränkung das Problem. Wenn ich sie durch eine wahrscheinlich sowieso sinnvolle tangentiale Beschränkung zur externen Geometrie ersetze, dann kann ich auch die Länge der Kante 58 setzen.
Attachments
Wilischthal mit DGM1m_v5_cb.FCStd
(18.05 KiB) Downloaded 7 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
thomas-neemann
Veteran
Posts: 7213
Joined: Wed Jan 22, 2020 6:03 pm
Location: Osnabrück DE

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by thomas-neemann »

JochenB wrote: Mon Aug 08, 2022 11:17 pm ...
hallo jochen

wenn man im modellau arbeitet, braucht man meistens keine parametrik weil sich die vorlage nicht verändert. deshalb würde ich das hier in draft erledigen


gruss thomas
ich biete freecad online-support an, als mini-job
VHS Freecad Aufbaukurs
https://www.vhs-lingen.de/programm/beru ... 012#inhalt
my workflow is optimized for speed, not for parametric
Isabel
Posts: 66
Joined: Mon Jun 25, 2018 6:06 am

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by Isabel »

Wie machst Du da die tangentialen Übergänge? Muss man die jeweils manuell konstruieren?
(Mal abgesehen davon, dass ich im bei den Modellbauern hier unter den Makern häufig noch nachträgliches Finetuning sehe.)
JochenB
Posts: 11
Joined: Wed Jun 29, 2022 7:39 pm

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by JochenB »

Hallo Chrisb,

Danke, für das ausprobieren! Das ist sehr nett und hilfreich!
chrisb wrote: Tue Aug 09, 2022 12:08 amVielleicht ist auch die Block-Beschränkung das Problem. Wenn ich sie durch eine wahrscheinlich sowieso sinnvolle tangentiale Beschränkung zur externen Geometrie ersetze, dann kann ich auch die Länge der Kante 58 setzen.
Danke, das schafft wieder etwas Luft. Allerdings hatte ich die Fixieren-Bedingung recht spät gesetzt. Ich hatte die Probleme auch schon davor, da vor allem mit Winkel-Bedingungen. Das wird mich also schnell wieder einholen.
chrisb wrote: Mon Aug 08, 2022 11:43 pmIch habe eher die Vermutung, dass Du mal zwischendurch redundante oder andere Fehler hattest und dann weitere Beschränkungen hinzugefügt hast.
Ich habe da versucht aufzupassen, aber vielleicht ist es trotzdem das. Ich hatte nach jeder neuen Kante geschaut, dass die Skizze vollständig bestimmt ist. Allerdings kommen am Ende des Bahnhofs zwei - voll bestimmte Gleise - wieder zusammen. Vielleicht war es deswegen überbestimmt oder dort widersprüchlich. Das probiere ich aus.

In meiner Datei habe habe ich einige dieser Beschränkungen gelöscht, da nichts mehr ging. Der Versuch, sie dann wieder neu zu setzen scheiterte, siehe Ursprungsbeitrag oben.
chrisb wrote: Mon Aug 08, 2022 11:43 pmIch würde Dir eher empfehlen von einem einfachen Master-Sketch auszugehen und dann die Gleisanlage in mehrere Sketche aufzuteilen. Gar nicht mal wegen des Sketchers, sondern um selbst den Überblick zu behalten.
Das habe ich versucht, aber die neuen Skizzen kommen schon mit einfachen Formen ans Ende, siehe Skizze "Grundplatten". Dort sind es 4 Rechtecke mit 14 Kanten und 27 Beschränkungen. Eigentlich müsste man die Rechtecke noch drehen können, geht aber nicht.

Ich habe die selbe Skizze in einer völlig neuen, sonst leeren Datei erstellt und dort lassen sich die Rechtecke drehen.

Wenn ich keine andere Lösung finde, werde ich für jedes Gleis eine neue Skizze erstellen. Dann sind die Zusammenhänge zwischen den Gleisen leider nicht mehr darstellbar und damit der Hauptvorteil des Sketchers. Ich probiere ja ständig, wie sich alles ändert, wenn ich einen Parameter ändere.

Mir fehlt dazu auch die Funktion, zwischen den Skizzen etwas zu kopieren. So könnte ich mir eine Weiche aus der alten in die neue Skizze kopieren um von dort am abzweigenden Gleis weiterzuarbeiten. So muss ich versuchen, genau die gleichen Punkte zu treffen wie auf der anderen Skizze.
JochenB
Posts: 11
Joined: Wed Jun 29, 2022 7:39 pm

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by JochenB »

Hallo Thomas,
thomas-neemann wrote: Tue Aug 09, 2022 5:07 amwenn man im modellau arbeitet, braucht man meistens keine parametrik weil sich die vorlage nicht verändert. deshalb würde ich das hier in draft erledigen
Danke für den Hinweis! Wenn ich mit dem Sketcher nicht weiter komme, werde ich mir den Draft-Modus vornehmen und auf den Komfort des Sketchers verzichten

Was die Parametrik betrifft hast du Recht - wenn alles fertig ist. Bis dahin ist es bei mir ein ständiges Ausprobieren. Z.B probiere ich was passiert, wenn ich den ersten Bogen um 1° verlängere. Dann schaue ich, ob am Ende des Bahnhofs die Gleise besser zum Originalplan passen und schraube ggf. an anderer Stelle weiter.

Ebenso wollte ich es später versuchen, den Gleisplan mit anderen Radien und Weichenwinkeln kompakter zu machen, damit die Modellbahnplatte ins Kinderzimmer passt. Das geht mit dem Sketcher wunderbar - wenn er mitspielt.
Isabel wrote: Tue Aug 09, 2022 8:52 amWie machst Du da die tangentialen Übergänge? Muss man die jeweils manuell konstruieren?
Genau diese Frage wird sich mir dann auch stellen.
chrisb
Veteran
Posts: 44495
Joined: Tue Mar 17, 2015 9:14 am

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by chrisb »

Du arbeitest mit m wo sonst oft nur mm angesagt sind. Ich habe daher mal diverse Parameter deutlich gröber eingestellt. Dann geht auch das Einstellen eines Drehwinkels für die Grundplatte.
Attachments
SnipScreenshot-b34ad4.png
SnipScreenshot-b34ad4.png (67.98 KiB) Viewed 435 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 44495
Joined: Tue Mar 17, 2015 9:14 am

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by chrisb »

Leider funktionieren diese Werte nicht bei "Skizze Bf-Gleise 750mm".

Dort habe ich allerdings noch die teilweise fehlerhafte Verwendung der Tangenten entdeckt: Du darfst diese Beschränkung nicht mit der Koinzidenz kombinieren, Da musst Du die Punkt-zu-Punkt-Tangente nehmen. Hier ein Beispiel, es gibt noch mehr davon.

Das Problem mit den großen Werten solltest Du mal auf ein möglichst kleines Beispiel reduzieren und dann im englischen Forum vorstellen und Abdullah mit einbeziehen.
Attachments
SnipScreenshot-3b55fc.png
SnipScreenshot-3b55fc.png (86.99 KiB) Viewed 425 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
Shalmeneser
Veteran
Posts: 5238
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Beschränkungen bringen Sketcher an der Grenze? (Invalid constraint index)

Post by Shalmeneser »

[EN]
* Do you need all the railways in the same sketch ? divide ut regnes
* Do you need dimensions ? Sketcher_ConstrainTangent and Sketcher_ConstrainParallel are not enough ? And Sketcher_ConstrainBlock ?
* Do you need arcs ? Try Sketcher_CreateBSpline
* Why is your placement in km ?
Post Reply