Curves workbench

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
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!
thschrader
Veteran
Posts: 3129
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Curves workbench

Post by thschrader »

Hi Wilfried,
you can can call me "private paula", but i still dont get it.
What is the criterion for "smoth" attached curves/surfaces? G1 or G2?
In my opinion G2. Pictures taken from (saso, thanks for the link :) )
https://knowledge.autodesk.com/support/ ... 0-htm.html
fromAutodesk1.JPG
fromAutodesk1.JPG (41.43 KiB) Viewed 2566 times
fromAutodesk2.JPG
fromAutodesk2.JPG (82.56 KiB) Viewed 2566 times
User avatar
saso
Veteran
Posts: 1920
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Curves workbench

Post by saso »

see also https://knowledge.autodesk.com/support/ ... 3-htm.html and https://knowledge.autodesk.com/support/ ... 7-htm.html

i am guessing however it is the silk wb that goes more in to this class-a modeling... ?
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Curves workbench

Post by microelly2 »

Chris_G wrote: Wed Nov 29, 2017 6:57 am Hi Microelly,
The rational Bezier curve is planar (3 control points).
My BlendCurve tool is a "general purpose" 3D tool.
Raising the degree of the bezier curve to cubic (to make it work in non-planar context) shows that it is not at all symmetric.
bezier.jpg
So that would make it quite hard for me to integrate it in the BlendCurve tool.
I think a specific tool or macro would be better.
It's not a problem to write a macro which apllies your method to my use case
but I still think my example is not only a 2D
bp_642.png
bp_642.png (6.7 KiB) Viewed 2524 times

Code: Select all

ps=[(100,0,0),(100,100,100),(0,100,200)]
pts=[FreeCAD.Vector(p) for p in ps]

bs=Part.BSplineCurve()
weights=[1,1,2]
knots=[1,2]
mults=[3,3]
bs.buildFromPolesMultsKnots(pts,mults,knots,False,2,weights)

c1=FreeCAD.ActiveDocument.addObject('Part::Spline', 'QuarterHelix')
c1.Shape=bs.toShape()
c1.ViewObject.ControlPoints = True

bzs=bs.toBezier()

c2=FreeCAD.ActiveDocument.addObject('Part::Spline', 'BezierHelix')
c2.Shape=bzs[0].toShape()
c2.ViewObject.ControlPoints = True
the idea is that the projection of such a helix is a 2D quarter circle
Where I'm wrong? :?
thschrader
Veteran
Posts: 3129
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Curves workbench

Post by thschrader »

Hi Chris,
please have a look at the file. After constructing the blendcurves,
saving/closing file and reloading file the blend-curves are
still in the model-tree, but not in 3d-view (?).
regards Thomas
testCurves.FCStd
(10.56 KiB) Downloaded 103 times
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.12703 (Git)
Build type: Release
Branch: master
Hash: e7d4296b2918f4ab939b9d425347d8fa5833de5b
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: German/Germany (de_DE)
curves 1.JPG
curves 1.JPG (32.29 KiB) Viewed 2468 times
curves 2.JPG
curves 2.JPG (27.62 KiB) Viewed 2468 times
thschrader
Veteran
Posts: 3129
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Curves workbench

Post by thschrader »

@microelly:
projektion of the (blue) sketch on a cylinder (red curve).
Is that what you are looking for?
workflow:
select sketch in model-tree
click on cylinder-surface in 3D
hit the "map sketch on surface" button
projection.FCStd
(6.08 KiB) Downloaded 95 times
projektion.JPG
projektion.JPG (43.09 KiB) Viewed 2440 times
User avatar
Chris_G
Veteran
Posts: 2579
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

thschrader wrote: Fri Dec 01, 2017 11:17 am Hi Chris,
please have a look at the file. After constructing the blendcurves,
saving/closing file and reloading file the blend-curves are
still in the model-tree, but not in 3d-view (?).
regards Thomas
Hi,
Changing a property, or marking the blendCurve for recompute and recomputing should bring it back.

Anyway, I totally rewrote the blendCurve tool.
It should now save / restore correctly.
The reverse properties are removed.
Reversing is now done by negative scales.
And a double-clic on the blendCurve shows its control-points.
Chris
thschrader
Veteran
Posts: 3129
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Curves workbench

Post by thschrader »

Hi Chris,
thank you for your fast response and the work you are doing on the curves-wb :) .
There where several big diskussions in the german forum (the pics speak...)
how to solve several geometric problems.
https://forum.freecadweb.org/viewtopic.php?f=13&t=25614
https://forum.freecadweb.org/viewtopic.php?f=13&t=25512

Thread one german text means: "fascinating experiments with curves/surface-wb".
Thread two: "tilted concrete walls, how to attach?".
Especially the problem with the two concrete walls could only be solved by using curves/surface-wbs.
(as bernd wrote in the introduction, even his professional CAD-technicians couldnt solve it, but FC did... :mrgreen: )
regards Thomas
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Curves workbench

Post by freecad-heini-1 »

Hi Chris,
thank you so much for your great work. I tried to replicate this part without success:
https://forum.freecadweb.org/viewtopic. ... 43#p180843
Sweep_to_rails fails.
In your file it's still there:
https://forum.freecadweb.org/download/file.php?id=39726

I guess that limitations of newest PartDesignNext version can causes the problem.
Could this be true?

I tried to replicate this example with six bspline curves, created in the sketcher workbench:
Image

I thougt that first I have to discretize all edges. After group them. Finaly approximate points to nurbs.
But I have no success. No idea what's going wrong.

Please can you help me.
User avatar
Chris_G
Veteran
Posts: 2579
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Curves workbench

Post by Chris_G »

thschrader wrote: Fri Dec 01, 2017 7:10 pm Hi Chris,
thank you for your fast response and the work you are doing on the curves-wb :) .
There where several big diskussions in the german forum (the pics speak...)
how to solve several geometric problems.
https://forum.freecadweb.org/viewtopic.php?f=13&t=25614
https://forum.freecadweb.org/viewtopic.php?f=13&t=25512

Thread one german text means: "fascinating experiments with curves/surface-wb".
Thread two: "tilted concrete walls, how to attach?".
Especially the problem with the two concrete walls could only be solved by using curves/surface-wbs.
(as bernd wrote in the introduction, even his professional CAD-technicians couldnt solve it, but FC did... :mrgreen: )
regards Thomas
Hi,
It is pleasing to read that some people have interest in Nurbs in FreeCAD.
On the other hand , I feel a bit scared to read that several people start to use my Curves WB.
Please keep in mind that this WB is mainly a "playground" for me.
It is my "homework" while I'm leaning coding.
The more I learn coding with this workbench, or by looking at FC development, the more I measure the huge difference there is between amateur hacking ( Curves WB ) and serious professional coding.

freecad-heini-1 wrote: Fri Dec 01, 2017 8:00 pm Hi Chris,
thank you so much for your great work. I tried to replicate this part without success:
https://forum.freecadweb.org/viewtopic. ... 43#p180843
Sweep_to_rails fails.
In your file it's still there:
https://forum.freecadweb.org/download/file.php?id=39726

I guess that limitations of newest PartDesignNext version can causes the problem.
Could this be true?
Indeed, it fails in the PartDesignNext context.
Unfortunately, I don't use this Workbench, so I don't really know what could be wrong here.
I'll try to investigate.
But copying the Ruled surface and the profiles to a new file ( outside of a PDN body ) make the Sweep2Rails work.

By the way, as I read some of you get interest into the surface WorkBench, the Filling tool now offers to add "Unbound edges" to a surface.
These "Unbound edges" are edge constraints that are NOT boundaries.
See the attached file with a fresh Git FreeCAD.
surface.jpeg
surface.jpeg (146.44 KiB) Viewed 2387 times
test-surface.fcstd
(26.51 KiB) Downloaded 98 times
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Curves workbench

Post by freecad-heini-1 »

Chris_G wrote: Fri Dec 01, 2017 9:46 pm By the way, as I read some of you get interest into the surface WorkBench, the Filling tool now offers to add "Unbound edges" to a surface.
These "Unbound edges" are edge constraints that are NOT boundaries.
See the attached file with a fresh Git FreeCAD.
Image
Whow, amazing. Werner is a great programmer. Such nice stuff with just two icons. I'm very impressed.

Please let me know, how do you figure out such cool things?
Post Reply