[Feature requests] Working points, lines and planes

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
Zolko
Posts: 450
Joined: Mon Dec 17, 2018 10:02 am

Re: [Feature requests] Working points, lines and planes

Postby Zolko » Wed Oct 16, 2019 10:52 am

chrisb wrote:
Wed Oct 16, 2019 8:44 am
There was a post with some macros for creating datum geometry outside of PartDesign, alas, I cannot find it.

Code: Select all

App.ActiveDocument.addObject('PartDesign::CoordinateSystem', 'LCS_name' )
App.ActiveDocument.addObject('PartDesign::Plane', 'Plane_name' )
App.ActiveDocument.addObject('PartDesign::Point', 'Point_name' )
This will put them at the root of the document. If you want to put them in an App::Part that is already in the document, and if that part is called 'Part' :

Code: Select all

App.ActiveDocument.getObject('Part').newObject( 'PartDesign::CoordinateSystem', 'LCS_new' )
note the difference addObject —vs— newObject
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — simple tutorial here
mfasano
Posts: 51
Joined: Wed Apr 11, 2018 12:31 pm

Re: [Feature requests] Working points, lines and planes

Postby mfasano » Wed Oct 16, 2019 2:07 pm

chrisb wrote:
Wed Oct 16, 2019 8:50 am
Just after finally writing my previous post I had the right idea for searching ...
In this post in the german forum are some macros for DatumGeometry in other WBs.
ickby suggests it would not be hard to code in this thread, but I am not much of a programmer.

https://forum.freecadweb.org/viewtopic.php?f=22&t=33654
User avatar
Pauvres_honteux
Posts: 220
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [Feature requests] Working points, lines and planes

Postby Pauvres_honteux » Wed Oct 16, 2019 6:29 pm

First of all, this thread is about structuring/making the most basic stuff work flawlessly, no hiccups allowed in any way or form.
Secondly, Zolko's user created coordinate systems must of course be part of the bigger plan / next level of surface creation. Which in turn is the basis of the final solid.
But as me and Zolko already pointed out, most versions of creating these points, lines and planes are in place. It's "just" a matter of creating these pop-up windows (more 3D real estate to the people!) and populate them with what is appropriate for each feature, i.e. one icon + window for point creation, another icon + window for line creation and ditto for planes.

The new paradigm shall be, for example: in orderto create a point on a line one shall only be presented with selection options for that particular creation mode, that is, only attaching the point on a line/curve. Not being able to move it anywhere else with this creation mode! Only movement on and along that line/curve will be allowed in this specific creation mode. This principle shall be forced for every creation mode that can be thought of for these features.

So the principle, and I do stress 'The principle' can be seen here below:
.
Point_Coordinates.png
Point_Coordinates.png (23.39 KiB) Viewed 184 times
Point: here the option Coordinates was chosen. That means only logical and possible options for this creation mode is available to play with. Note that sane default values was present before the user chose otherwise.
______________________________________________________________________
Point_on_line_curve.png
Point_on_line_curve.png (37.17 KiB) Viewed 184 times
Point: here the option On line/curve was chosen. That means only logical and possible options for this creation mode is available to play with. Note that sane default values was present before the user chose otherwise.
______________________________________________________________________
Line.png
Line.png (34.2 KiB) Viewed 184 times
Line: here the option Point-to-point was chosen. That means only logical and possible options for this creation mode is available to play with. Note that sane default values was present before the user chose otherwise. As a sidenote, there's a nifty feature here: "Line on support", which means the chosen points are on a (double)curved surface and the function draws the line the shortest distance between these points following the surface! (for REALLY advanced surface creations!)
______________________________________________________________________
Connect_curve.png
Connect_curve.png (37.31 KiB) Viewed 184 times
Connect curve: here the option Normal/standard was chosen. That means only logical and possible options for this creation mode is available to play with. Note that sane default values was present before the user chose otherwise. Also note that the curve will not start/end anywhere else then the selected points.
______________________________________________________________________
.
I'm pretty sure we can do better than the above, but the principle holds anyway: no additional editing allowed beyond the chosen option. The opposite is true in today's FreeCAD. And for those of you who haven't got it yet: moving (out of its original position) something in CAD is called transformation (horrible word, but anyway) and always result in a new icon in the tree! I.e. one clearly see something is moved(transformed) just by looking at the tree. The very opposite of today's situation...
User avatar
GlouGlou
Posts: 1721
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: [Feature requests] Working points, lines and planes

Postby GlouGlou » Wed Oct 16, 2019 6:36 pm

You're right. Could be useful with theses choice and selection box.
The first one doesn't exist, it could be easy to write with python.
The second, Split curve (curveWb) can do it.
The 3rd, line of workfeature Wb and interpolation curve do that.
The 4th, blend curve (curveWb) do it.
But can be useful to have a Gui interface box.
User avatar
Pauvres_honteux
Posts: 220
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [Feature requests] Working points, lines and planes

Postby Pauvres_honteux » Mon Nov 25, 2019 10:25 am

Feature request: issue #4202