Ms. Lenja Buennemann 0 Report post Posted May 24, 2016 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 Share this post Link to post Share on other sites
Mr. Carlo Pasquinucci 1 Report post Posted May 24, 2016 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 Share this post Link to post Share on other sites
Ms. Lenja Buennemann 0 Report post Posted May 24, 2016 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
Mr. Carlo Pasquinucci 1 Report post Posted May 24, 2016 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 3and 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 jobCarlo Share this post Link to post Share on other sites
Ms. Lenja Buennemann 0 Report post Posted May 24, 2016 Hi Carlo, thank you very much for your explanation, now I could follow your idea. I'll try it and give you response if it's work or not :) Best regards, Lenja Share this post Link to post Share on other sites
Mr. Lalym Yuriy 0 Report post Posted May 27, 2016 // 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) Share this post Link to post Share on other sites
Mr. Lalym Yuriy 0 Report post Posted May 27, 2016 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 planeplane pl1(p1, vn1) {.setExtLength(10).setExtWidth(10)} // Convert plane to surfacebsplinesurface 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