Jump to content
Ms. Lenja Buennemann

Filling surface between bow and bulb

Recommended Posts

Hello everyone,

 

I made up a full parametric design of a yacht with the help of your great tutorials. The only part, I'm not really happy with, is the filling between bow and bulb. As you can see in the attached picture the surface has not the right entry angle at the center line. I created this surface by the use of a Coons Patch. Do you have any better idea to define the conjunction between bow and bulb? 

 

I would be very grateful for your help.

 

Best regards,

 

Lenja

post-673-0-09156000-1464068874_thumb.png

Share this post


Link to post
Share on other sites

Hello Lenja.

 

I think I have two ideas..

 

First, I suggest you to create a planar surface in the y-plane.

 

Then, the first idea is a little complex. You have to create a metasurface. You can fin an idea in the sample "Fillet Surface". That is bewtween two surface, but you can modify it in order to be fillet also with the other two surface.

 

The second idea is to fillet the vertical surfaces, then fillet this fillet surface with one orizzontal, then with the other planar.

 

Maybe it would be better to reduce a little the domain using an image surface with domain [0,0.8].

 

Can you try this second idea?

 

If it is not clear, just re-answer.

 

Cheers.

 

Carlo

 

 

post-441-0-90119000-1464081327_thumb.png

Share this post


Link to post
Share on other sites

Hello Carlo,

 

I think I'm not really sure, what you mean with vertical and horizontal surfaces and the planar surface in the y-plane. Is there any opportunity to mark the surfaces in my picture above?

 

Thank you in advance,

 

Lenja

Share this post


Link to post
Share on other sites

Hey Leja,

it was not so clear.

I attache a picture.

 

I think the best idea is to create surface like the number 1, then create an image of the number 1 and the number2  with a domain [0,0.8] in "z"direction (I don't know if it is u o w direction, sorry)

Then fillet this two image surface.

Then fillet the result with the number 3

and then fillet with the number 4

 

Or maybe you can work with two or more more little surfaces.

 

If you can attach the project, maybe only that part, can be easily for us to help you.

 

Or you can send via email also with password.

 

Thankyou and have a good job

Carlo

post-441-0-43469200-1464094310_thumb.png

Share this post


Link to post
Share on other sites

// c1, c2 - SurfaceCurve or edges

 

point p1(c1.getPos(t0))

point p4(c2.getPos(t0))

 

double m(abs(p4 - p1) / 3)

 

 

double u1(c1.getU(t0))

double v1(c1.getV(t0))

 

vector vt1u(c1.getSurface().getDU(u1, v1))

vector vt1v(c1.getSurface().getDV(u1, v1))

 

// I miss finding the best mix.

// cblend:start = [0,0,0]

// cblend:end  = [1,0,1]

 

double blend(cblend.fv(0, t0):z)      // It can be very simple blend = t0

 

// image 5 - UV orientation (in my case). Otherwise vt1u, vt1v are reversed and can change direction (+ to -)

vector vt1((vt1u * (1 - blend) - vt1v * blend).getNormalized())

 

// There must be a second tangent vector to the upper surface. I'm too lazy to build it. Adopted vertical vector.

vector vt4([0, 0, 1])

 

point p2(p1 + vt1 * m)

point p3(p4 - vt4 * m)

 

bsplinecurve connect([p1, p2, p3, p4], 3)

 

post-128-0-86861700-1464358540_thumb.png

post-128-0-86158300-1464358541_thumb.png

post-128-0-56354600-1464358542_thumb.png

post-128-0-36792700-1464358543_thumb.png

post-128-0-19165000-1464359153_thumb.png

Share this post


Link to post
Share on other sites

Or clean vector math

 

// c1, c2 - SurfaceCurve or edges

 

point p1(c1.getPos(t0))

point p4(c2.getPos(t0))

 

double m(abs(p4 - p1) / 3)

 

double u1(c1.getU(t0))

double v1(c1.getV(t0))

 

// Normal determines the tangent plane to the surface {c1.getSurface()} at the point p1.

vector vn1(c1.getSurface().getNormal(u1, v1))

 

// The tangent plane

plane pl1(p1, vn1) {

.setExtLength(10)

.setExtWidth(10)

}

 

// Convert plane to surface

bsplinesurface spl1() {

.setUDegree(1)

.setVDegree(1)

.setPointArray([[pl1.getCorner(0), pl1.getCorner(1)], [pl1.getCorner(3), pl1.getCorner(2)]])

}

 

projectionpoint pp1() {

.setSurface(spl1)

.setSource(p4)

.setDirection(vn1)

}

 

// Vector lies in the plane pl1, tangent to the surface {c1.getSurface()}, and coincides with the projection of the line [p1, p4]

vector vt1((pp1 - p1).getNormalized())

 

// There must be a second tangent vector to the upper surface. I'm too lazy to build it. Adopted vertical vector.

vector vt4([0, 0, 1])

 

point p2(p1 + vt1 * m)

point p3(p4 - vt4 * m)

 

bsplinecurve connect([p1, p2, p3, p4], 3)

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...