Curves workbench
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
Re: Curves workbench
Great ! That was rather strange, indeed.
-
- Veteran
- Posts: 3180
- Joined: Thu Sep 24, 2020 10:31 pm
- Location: Hawaii
- Contact:
Re: Curves workbench
Has anyone done a video or tutorial on the use of the Curves|Freehand BSpline tool? MangoJelly is likely https://www.youtube.com/playlist?list=P ... pYPiEKMmC] - but 41 videos are a lot to wade through!
Re: Curves workbench
I know of no video. But I'm pretty familiar. Is there a question?edwilliams16 wrote: ↑Thu Jun 30, 2022 5:43 pm Has anyone done a video or tutorial on the use of the Curves|Freehand BSpline tool? MangoJelly is likely https://www.youtube.com/playlist?list=P ... pYPiEKMmC] - but 41 videos are a lot to wade through!
Edit: there is a LOT of info in those 41 videos...
And, I did remember:
Mango did a specific video: https://www.youtube.com/watch?v=SjjMdUsGBsE
There is a woman on YouTube that has demonstrated using it to do car bodies: https://www.youtube.com/watch?v=zEWzp857wPA&t=4s
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
-
- Veteran
- Posts: 3180
- Joined: Thu Sep 24, 2020 10:31 pm
- Location: Hawaii
- Contact:
Re: Curves workbench
That one was useful.drmacro wrote: ↑Thu Jun 30, 2022 5:46 pm Mango did a specific video: https://www.youtube.com/watch?v=SjjMdUsGBsE
I wasn't sure of the concept of the tool, because when I referred to the documentation https://wiki.freecadweb.org/Curves_EditableSpline
- It doesn't actually say that it creates 3D B-Splines
- That it does so by manipulating the B-Splines in the projected view
So if I now understand, the tool provides more Gui oriented way of creating a 3D B-Spline from its projections. Given say, the projections of a curve on the XY and XZ planes (maybe from tracing the top and front view images of an object), one way would be to
- Create two sketches of the respective projections on the two planes
- Select the sketch curves and use the Curves|Mixed Curve tool
- Select top view (XY)
- Create a Curves|FreeHand B-Spline and create the XY projection of the desired curve, adding nodes and moving points as required
- Select front view (XZ) and manipulate the B-Spline to match the desired projection
- Iterate as required if you changed x-coordinates of points in the prior step
Re: Curves workbench
You can select any 2 vertexes in space, then click the tool and a 2 point spline is created., click between the 2 points, hit I and a new vertex is added to the spline. Without a modifier key, dragging the vertex will move it in 3d space (I suppose the vector is based on the camera).
So, when using orthogonal views it is a more e in the view plane. With modifier keys it can be constrained to move in a specific angle while in a non-orthogonal view.
No sketch projections are necessary.
But, I'm not sure that answers you question.
So, when using orthogonal views it is a more e in the view plane. With modifier keys it can be constrained to move in a specific angle while in a non-orthogonal view.
No sketch projections are necessary.
But, I'm not sure that answers you question.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
-
- Veteran
- Posts: 3180
- Joined: Thu Sep 24, 2020 10:31 pm
- Location: Hawaii
- Contact:
Re: Curves workbench
OK. I tried some of this out. I made a 3d curve using the mixed_curves tool and then attempted to trace it using the Freehand tool, going back and forth between the top and front views.
I couldn't get a tangent constraint at the origin end. The T key sets or un-sets tangent mode for the selected vertexes or guide lines (relative to the view direction). I hacked it with a control point very close, but that gives it too much leverage.
It took me quite a while to get even this poor match. What's the technique? I'm more used to playing with control points as in Sketcher.
I couldn't get a tangent constraint at the origin end. The T key sets or un-sets tangent mode for the selected vertexes or guide lines (relative to the view direction). I hacked it with a control point very close, but that gives it too much leverage.
It took me quite a while to get even this poor match. What's the technique? I'm more used to playing with control points as in Sketcher.
- Attachments
-
- matchingcurves.FCStd
- (22.05 KiB) Downloaded 23 times
Re: Curves workbench
... I agree to Ed's findings => the CurvesWB 3D_spline_tool is complex and hard to remember after some time of not using.
MixedCurve is more "transparent", but has it's limits. (Using the knotless Sketcher BSpline with variable control point weights).
MixedCurve is more "transparent", but has it's limits. (Using the knotless Sketcher BSpline with variable control point weights).
- Attachments
-
- matchingcurves_2.FCStd
- FC.20
- (22.7 KiB) Downloaded 23 times
Re: Curves workbench
@edwilliams16, the FreeHand BSpline is rather experimental, and suffers a couple of bugs :
- the "a" key to select everything is not working anymore
- we can't release a grab move above an existing object (I thing the pre-select highlighting is eating mouse button release signal)
This tool is far from perfect.
I wanted to experiment with the graphics library that looo added to pivy.
But it doesn't totally fit my needs, because it works purely on the coin nodes, while I also need to interact with shapes (for snapping).
So I tried to create another layer above it for that purpose, but I was not very happy with it.
The main idea behind this tool is when creating a curve network for Gordon surfaces : imagine you create a set of rail curves, then the FreeHand BSpline can be used to create the profiles, snapped on the rails, like in attached file.
- the "a" key to select everything is not working anymore
- we can't release a grab move above an existing object (I thing the pre-select highlighting is eating mouse button release signal)
This tool is far from perfect.
I wanted to experiment with the graphics library that looo added to pivy.
But it doesn't totally fit my needs, because it works purely on the coin nodes, while I also need to interact with shapes (for snapping).
So I tried to create another layer above it for that purpose, but I was not very happy with it.
The main idea behind this tool is when creating a curve network for Gordon surfaces : imagine you create a set of rail curves, then the FreeHand BSpline can be used to create the profiles, snapped on the rails, like in attached file.
- Attachments
-
- curve-network.FCStd
- (17.43 KiB) Downloaded 26 times
-
- Veteran
- Posts: 3180
- Joined: Thu Sep 24, 2020 10:31 pm
- Location: Hawaii
- Contact:
Re: Curves workbench
I tried to create a Gordon Surface from your curve network above, but I had no success.
Code: Select all
12:50:51 Traceback (most recent call last):
File "/Users/ed/Library/Application Support/FreeCAD/Mod/Curves/./freecad/Curves/gordonFP.py", line 137, in execute
s = gordon_surf.surface()
File "/Users/ed/Library/Application Support/FreeCAD/Mod/Curves/./freecad/Curves/gordon.py", line 356, in surface
self.perform()
File "/Users/ed/Library/Application Support/FreeCAD/Mod/Curves/./freecad/Curves/gordon.py", line 317, in perform
self.make_curves_compatible()
File "/Users/ed/Library/Application Support/FreeCAD/Mod/Curves/./freecad/Curves/gordon.py", line 504, in make_curves_compatible
progressbar = FreeCAD.Base.ProgressIndicator()
<class 'TypeError'>: cannot create 'N4Base19ProgressIndicatorPyE' instances
12:50:51 Recompute failed! Please check report view.
Code: Select all
OS: macOS High Sierra (10.13)
Word size of FreeCAD: 64-bit
Version: 0.20.29177 (Git)
Build type: Release
Branch: (HEAD detached at 0.20)
Hash: 68e337670e227889217652ddac593c93b5e8dc94
Python 3.9.13, Qt 5.12.9, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.3
Locale: C/Default (C)
Installed mods:
* Curves 0.4.4
* DynamicData 2.46.0
* fasteners 0.3.44
* fcgear 1.0.0
* GDML 1.8.0
* Help 1.0.2
* lattice2 1.0.0
* MeshRemodel 1.8919.0
* toSketch
Re: Curves workbench
... for Gordon match of not so good fitting (end)points => increase the tolerance value.
But @Chris: how about introducing some kind of parametric "Snapping_operation" to points or even wires into creation of 3D-BSpline?
That would be a great helper.
But @Chris: how about introducing some kind of parametric "Snapping_operation" to points or even wires into creation of 3D-BSpline?
That would be a great helper.
- Attachments
-
- curve-network_2.FCStd
- FC.20
- (70.76 KiB) Downloaded 24 times