Contraining point onto two lines in one move

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
FBXL5
Posts: 979
Joined: Sat Aug 03, 2019 8:45 pm

Re: Contraining pointonto two lines in one move

Post by FBXL5 »

chrisb wrote: Sun Aug 07, 2022 3:12 pm In common language there isn't a sharp distinction, and there is indeed the notion of a "bent line". However, in FreeCAD you can create lines, they exist as Python objects of that type and they are always straight.
I think the problem is that English lacks a single word for "Gerade" and uses "straigt line" which is too long for a key word. And for programming the distinction between curve and line is precise enough.

(In der Karosserieconstruktion werden Flächenbereiche über ihre Grenzlinien definiert. Wenn ich mich richtig erinnere definiert die E-Linie die theoretische Kante zwischen Dach und Seitenwand eines PKW, vor der aus die Verrundungsfläche(n) konstruiert werden. Da ging es immer nur um die entsprechenden Linien. In diesem Falle 3D-Kurven. Öffnungslinien für Fenster- und Türausschnitte, Kulminationslinie, die den Verlauf des Krümmungsmaximums einer Übergangsfläche (Verrundung im Werkstattjargon) darstellt oder Radienauslauflinie, die die Grenze zwischen Designfläche und Übergangsfläche darstellt. Ich meine auch der Topograf verwendet Höhenlinien, um eine Geländeform zu beschreiben.)

Sorry but that would have taken several hours to translate into proper English... :roll:

And so lines that are not straight are not an invention of common language or colloquial speech.

Even the latin linea = line - Linie can as well be translated as stroke - Strich (probably not straight) :ugeek:
User avatar
FBXL5
Posts: 979
Joined: Sat Aug 03, 2019 8:45 pm

Re: Contraining pointonto two lines in one move

Post by FBXL5 »

adrianinsaval wrote: Sun Aug 07, 2022 3:41 pm I've never had issue with the name so I don't see the point in changing it, if it would be changed I disagree with point on line since it also works on circles, parabolas, etc.
point on element or point on edge might be better but then again point on object is almost the same as those. So I vote to keep as is.
To me object implies that I could place the point on faces as well (those displayed in the background)

A line (generic term) refer to a straight line, an axis, a curve, an arc, a (B-)spline, a circle, a stroke, a contour, an outline, a parabola, a hyperbola...
A line could be any sketcher geometry apart from points/vertices.

But I just aksed for a reason and if the the reason is like "We have called it like that since shortly after the big bang and we feel it is still too early to consider a renaming" it's OK with me. I just wondered if I was the only one to find this a wee bit odd.
chrisb
Veteran
Posts: 53922
Joined: Tue Mar 17, 2015 9:14 am

Re: Contraining pointonto two lines in one move

Post by chrisb »

FBXL5 wrote: Sun Aug 07, 2022 5:35 pm To me ...
Please note, that not everybody here has the same (German) background as you.

Let's be glad that the meaning of the notion "Line" is in FreeCAD a very clear one. In FreeCAD the notion "Line" is always a straight line. And we should by no means weaken this. We have enough troubles in other places (think about "Part") where the word has even in FreeCAD several meanings.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
FBXL5
Posts: 979
Joined: Sat Aug 03, 2019 8:45 pm

Re: Contraining pointonto two lines in one move

Post by FBXL5 »

chrisb wrote: Sun Aug 07, 2022 10:10 pm Please note, that not everybody here has the same (German) background as you.
This german section of the reply was especially for you to show how line - Linie is used instead of e.g. curve - Kurve in terms other than colloquial speech. The point is: I know this for sure in German but I'm less sure about English.

But even the OP chose lines for the topic. 8-)
chrisb wrote: Sun Aug 07, 2022 10:10 pm In FreeCAD the notion "Line" is always a straight line. And we should by no means weaken this.
In the sense of "Never change a running system!" you are definitely right.

But if we want to constantly improve FreeCAD, no matter how big/tiny the steps are, it should be allowed to consider all sort of changes.
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: Contraining pointonto two lines in one move

Post by adrianinsaval »

considering change is absolutely allowed, but this change in particular is not desirable IMO, note that OP might have chosen to go with line because he was working with actual lines, and as you can see in drmacro's response that is the natural interpretation in the context of CAD and we have to take context into account, for general use it might be appropriate to call any curve a line but within this context a line is straight, I would be more confused by point on line than by point on object.
chrisb
Veteran
Posts: 53922
Joined: Tue Mar 17, 2015 9:14 am

Re: Contraining pointonto two lines in one move

Post by chrisb »

FBXL5 wrote: Mon Aug 08, 2022 4:12 pm This german section of the reply was especially for you to show how line - Linie is used instead of e.g. curve - Kurve in terms other than colloquial speech. The point is: I know this for sure in German but I'm less sure about English.
Yes, I know, but it doesn't help in the English version that there is a dedicated word for straight lines in German.

It may seem that I am sometimes against change in general. I hope that this is not the case. But long term users are perhaps more aware of the implications of a change and we know the benefits of what we have.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
onekk
Veteran
Posts: 6144
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Contraining pointonto two lines in one move

Post by onekk »

chrisb wrote: Sun Aug 07, 2022 10:10 pm Let's be glad that the meaning of the notion "Line" is in FreeCAD a very clear one. In FreeCAD the notion "Line" is always a straight line. And we should by no means weaken this. We have enough troubles in other places (think about "Part") where the word has even in FreeCAD several meanings.
Every text of geometry will define a Line as straight and also infinite, if not "equation of a line" with "slope" and similar term has no meanings.

Probably translation is not using the "correct term" but as you can read:

https://en.wikipedia.org/wiki/Line_(geometry)

(I know that wikipedia is not an "authoritative" source of informations, but usually it is a handy place to start from to make further research if links are from "authoritative" documents)


Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
FBXL5
Posts: 979
Joined: Sat Aug 03, 2019 8:45 pm

Re: Contraining pointonto two lines in one move

Post by FBXL5 »

onekk wrote: Tue Aug 09, 2022 10:43 am Probably translation is not using the "correct term" but as you can read:

https://en.wikipedia.org/wiki/Line_(geometry)
Thanks for the link. At the bottom was another link:
https://en.wikipedia.org/wiki/Line_(graphics)

It seems my definition of a line is a more graphical than geometrical...

Having worked on the border between designers (graphics, clay) and "real" engineers (geometric, CAD modelling) creating body-in-white related parts has opened my mind for the designers approach on lines too much. :roll:

In Sketcher we are only interested in the geometric characteristics of a line and so I'm convinced yet that line should not be used in this case. (At least for the english part)
JassMan23
Posts: 2
Joined: Mon Aug 22, 2022 6:21 am

Re: Contraining pointonto two lines in one move

Post by JassMan23 »

Before this post wandered off in to suggestions about reading "IMPORTANT", and other discussions as to whether a line is straight or curved, drmarco posted (back in 2014) a helpful video showing how to Constrain a point to 2 elements. For many use cases this works as shown. However it doesn't work as the documentation describes. Using drmarco's video as a starting point, if you drag the point past the end of one of the lines, you find it is not constrained to the object at all, it is constrained to an infinite extension of the object. If you replace one of the lines with an arc, you find it is constrained to the circle on which the arc lies, not the arc itself. I have a use case where I need a folding 4 bar linkage to have one arm constrained to an arc (or a short line since I am only worried about limits of travel) but instead the constraint is definitely to the circle not the arc. I have tested in both 19 (24366) & 20 (29177).

Is there a way to truly constrain to the visible object rather than the underlying geometry?
JassMan23
Posts: 2
Joined: Mon Aug 22, 2022 6:21 am

Re: Contraining pointonto two lines in one move

Post by JassMan23 »

SOLVED
Finally worked out how to answer my own question.

1.You need to place your "constraining" line (or arc) of an appropriate length across the arm you wish to constrain.
2.Now draw a line at right angles to the midpoint of the "constraining" line and fully constrain both lines.
3.Place a circle on this line so that its diameter is the length of the first line.
4.Constrain the centre of the circle to run along the second line.
5.Constrain a point on your arm to the circle.

The arm will now move the circle up and down as the point moves along the "constraining" line, but only as far as 1 radius either side of the right angle line. Obviously once it is working, you need to change the constraint mechanism to construction mode.
Post Reply