Mr. Persson Adam 0 Report post Posted December 10, 2014 Hello, The KSplines implemented in FFW seems like a good tool to model parametric yacht hulls, but the sample given with the software seems rather basic. The feature I lack the most is a radius stem, and I have been trying to modify the sample given to include a radius stem. Now, I am having some problem modelling this! Looking at Kevin Cudbys conference paper found here, which describes hull modelling using KSplines in general terms, it seems this would be accomplished by giving the KSpline curve engine a centerplane curve (CPC), consisting of a hull bottom curve (HBC), a vertical stem (fLine), and a radius between them (fSpline). But in FFW, the input into a KSpline curve engine calls for a HBC; and when I change it to a polyCurve as described above and in the paper by Cudby, I get a strange surface, with inversions etc. See attached picture and project file for more details. Dou you have any suggestions on how to model this? Best regards,Adam PerssonKSKiffKspline_mod.fdbc Share this post Link to post Share on other sites
Jörg 29 Report post Posted December 10, 2014 Hi, We'll take a look at it ... CheersJoerg Share this post Link to post Share on other sites
Jörg 29 Report post Posted December 10, 2014 Just a quick comment:Maybe Kevin can help us here, he actually modeled this nice example. I've contacted him so let's see :-) CheersJoerg Share this post Link to post Share on other sites
Mr. Claus Abt 14 Report post Posted December 10, 2014 HI Adam,In the file attached you can see a procedure how to model a rounded bow. I added a few information to the model, just move your mouse across the item in the objectTree, the you will see the information. bowShape.fdb Share this post Link to post Share on other sites
Mr. Kevin Cudby 0 Report post Posted December 11, 2014 Hi EveryoneOK I can see how this happens.Referring to my conference paper, Cudby, 2008, Figure 1:In this model HBC specifies the kspline depth at any x; and DTL specifies the kspline half-breadth at any x.The kspline datum plane is z=0.So, if HBC goes above the datum plane then the kspline wants to go upside down!Also, if the kspline depth is very small then often we do not get a good surface.The architecture of the model needs to take these issues into account.1. The metasurface is defined along HBC. The modified hull bottom curve included a vertical line c1. So, the metasurface and the curve engine were trying to draw ksplines along this vertical segment. I copied the co-ordinates from c1 begin to StemCrv end. Then I deleted c1. Now the hull bottom polycurve includes only HBC:crv and StemCrv.2. I changed the z co-ordinate of StemCrv end to (HBC:crv:end:z + |Input|HBC|StemRadius). Maybe this is esoteric. It makes the height of the stem curve roughly equal to its length.3. I reduced the stem radius to ~0.065. This brings the top of the stem down below the datum plane, ensuring the curve engine can always create a valid kspline. (Try increasing this dimension in small steps to see how it affects the surface.)4. I split the hull surface into two separate surfaces. The x cordinate of the boundary coincides with the joint between the kspline section of HBC, and the stem. I usually model a hull in segments like this. The segment boundaries correspond to any joints in HBC or DTL (except midships). This improves the quality of metasurfaces. To locate the boundary I used two parameters, |Hull|crvRail|tBtmStem and |Hull|crvRail|xBtmStem.5. In the Hull Bottom polycurve HBCStem, I specified "dense end" parameterization (In the object editor, click the three dots "..." next to the word "General" to access parametrisation). This forces reparametrisation of the polycurve. There is a lot more curvature at the end of this curve. Dense parametrisation around this tight curvature also the quality of the metasurface.OKSo now we have model with a radiused stem. Perhaps you want to make the stem taller? if so, then you need to raise the datum plane. There are two ways to achieve this.1. Simply increase the depth. In effect, this moves the datum plane further up the hull.2. Curve the datum plane, as shown in Figure 15 of my conference paper. To do this, you need to modify the feature definition to accept a three-dimensional datum curve. Usually I use two separate curves: DTLy is drawn in the xy plane and defines the kspline breadth at any x; DTLz is drawn in the xz plane and defines the depths. You could make SJC equivalent to DTLz. Then you need only modify the feature definition. The rail curve already exists.I've uploaded a photo of a hull with a curved datum plane and radiused stem. (It's not me in the photo. The builder's name is Don Manning)Hope this helps. Happy modelling! Best Kevin CudbyKSKiffKspline_KC.fdbc Share this post Link to post Share on other sites
Mr. Claus Abt 14 Report post Posted December 12, 2014 Hi Folks,Here is a short video creating a hull from a bsplinesurface and then adding the bow from the feature definition. Make sure that the u-v-orientation of your surface is as in this example, otherwise the feature will not create that rounding at the bow ..... hullPlusBow.mp4 roundedBow.fdf CheersClaus Share this post Link to post Share on other sites