Jump to content
Mr. Chien Nguyen

Rebuild Interpolation Curve to Nurbs Curve or Fspline curve

Recommended Posts

Is there any way to rebuild a interpolation 2D curve through the imported data points to Nurbs curve or Fspline curve (similar to rebuild command in Rhinoceros) ?

 

I am having the problem creating loft surface through profile sections to make a propeller blade. The imported sections have too many points, so the lofted surface is not good and my computer takes a lot of time to re-create the surface when I change the parameters (such as diameter). So I think the problem is the sections have too many points. I would like to simplify them by Nurbs curve or Fspline curve, then it's possible that the problem can be solved. 

 

I can do this manually for each sections but is there any better way to do ? (I am thinking about something similar to the command like Rebuild in Rhinoceros)

 

Thank you!

Share this post


Link to post
Share on other sites

Dear Chien,

 

I am not familiar with what exactly the rebuild command in Rhino does. However, there are a number of ways to reduce the number of control points in order to fair things out a little. In any case, what I would start with, is to investigate the parametrization of the sections. Maybe you can get a better result if you re-parameterize them as "unit speed" or pseudo unit speed" even though this will probably increase and not decrease the density of control points. However, If this helps you to get a smooth blade, you can always reduce the number of points at a later stage (e.g. by increasing the data reduction tolerance of the final BRep).

 

In order to actually reduce the number of points while trying to fit the imported points as good as possible, you can also try a few options. What works good in my experience is, to use a generic curve that simply holds your current section as source, such as:

X(t) = yourSection.getPos(t):x

Y(t) = yourSection.getPos(t):y

Z(t) = yourSection.getPos(t):z

An then set "Generate Nurbs Curve" to true and choose a low number of control points (maybe 10 to 30...).

 

If you prefer using an F-Spline, I suggest you handle suction and pressure side individually and try to create F-Splines that match the start and end angles, area and centroid as your current sections. This way they should look very similar, but you could choose a maximum number of control points.

 

Best regards,

Heinrich

Share this post


Link to post
Share on other sites

Dear Heinrich,
Thank you for your reply!

 

I have made the generic curve from the section curve and choose 10 control points for generate nurbs curve. The blade is now more smooth! I have used Blade tip feature to create the blade tip. But I have problem when I try to make a solid propeller. When I create Brep with "solid from intersection" option for Hub and Blades, there is only Hub part left....

How can I do in this situation ?

 

Thank you!

Share this post


Link to post
Share on other sites

Dear Chien,

 

that's hard to answer -- maybe you can compare how things are done in the propeller sample that comes with CAESES? Or, if you are willing to share your project, I can take a quick look.

 

Cheers,

Heinrich

 

 

Dear Heinrich

 

Can I send my project to you by email ? Thank you

Share this post


Link to post
Share on other sites

Dear Chien,

 

you can upload your file here:

https://fcloud.friendship-systems.de/index.php/s/95ryLm88sAkp8Cx

It's an upload only link.

 

Cheers,

Heinrich

Dear Heinrich,

 

I have uploaded the files.

There are 2 files and data points (csv) file for section. Maybe you have to manually load the section data

The first file (No rebuild section) I have a problem to create fillet with hub and blade

The second file (rebuilt section) I have a problem to create solid from intersection between blade and hub

 

Thank you so much!

Chien

Share this post


Link to post
Share on other sites

Dear Chien,

 

one of the files (with number "2" and "NO_REBUILD") in the name shows nothing but a hub. The other file doesn't show anything. Please take some time to prepare the files and let me know in detail for which object the BRep operation fails.

 

Maybe you can also use just one string parameter to hold the file path so that I can adjust this one parameter to my local directory of csv files.

 

Thanks,

Heinrich

Share this post


Link to post
Share on other sites

Dear Chien,

 

one of the files (with number "2" and "NO_REBUILD") in the name shows nothing but a hub. The other file doesn't show anything. Please take some time to prepare the files and let me know in detail for which object the BRep operation fails.

 

Maybe you can also use just one string parameter to hold the file path so that I can adjust this one parameter to my local directory of csv files.

 

Thanks,

Heinrich

Dear Heinrich,

 

Sorry for make you confused! 

I have uploaded file again. Please change the location of "CSVData" folder in the string parameter "csv_loc". In my case, I put the "CSVData" folder in D:\

My final Brep is "Prop_Hub". It is fail to create fillet in the "NO REBUILD" file and fail to make solid in "REBUILD" file. Maybe you can just have a look at it to save your time. Thank you so much!!

 

Chien

Share this post


Link to post
Share on other sites

Hi Chien,

 

thanks for taking the time to sort things a little bit.

First thing I noticed is your usage of the BRep operation "solid from intersections". This is actually meant to allow you to create a closed solid from a set of surfaces. This could be something like the 6 sides of a cube, but the beauty is, that you don't have to worry if your faces are a bit over sized and intersect each other. The enclosed volume will be found and end up as your solid...

 

Second is a bit earlier in the process. You might want to double check your trailing edge -- the two surfaces don't seem to be a tight match. Usually you should be able to add suction and pressure side of the blade, as well as the tip to one BRep using "add sources" and there should be no open (red) edges. Except for the hole towards the hub, of course.

 

 

Please feel free to get back to me once you have sorted this part out.

 

Cheers,

Heinrich

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...