Skip to content
design
Components

Hanse, 2021 on

The vessel profile's outline for Hanse's Berret-Racoupeau range from 2021 on, and the vessels it draws.

On this page
WLLWL 13.43 mLOA 14.60 mDraft 2.27 mFreeboard 1.61 m
The Hanse 2021 outline as drawn, dimensioned in meters read from its marked points.
Code
import { HANSE_2021, VesselProfile, type VesselOutline } from "@bosunkit/components/vessel-profile";
import type { ReactElement } from "react";

export const description: string =
  "The Hanse 2021 outline as drawn at 14.6 m, dimensioned in meters read from the points marked on it.";

const outline: VesselOutline = HANSE_2021;

/** Drawing units to the meter: the length overall, from the transom to the bow's tip, is the reference length. */
const perMeter: number = (outline.hooks.bowTip - outline.hooks.transom) / outline.referenceLength;

/** A distance on the drawing, in meters. */
function meters(units: number): string {
  return `${(units / perMeter).toFixed(2)} m`;
}

export default function Drawn(): ReactElement {
  const { hooks }: VesselOutline = outline;
  return (
    <VesselProfile
      outline={outline}
      dimensions={{
        lengthOverall: meters(hooks.bowTip - hooks.transom),
        waterlineLength: meters(hooks.waterlineForward - hooks.waterlineAft),
        draft: meters(hooks.keelFoot - hooks.waterline),
        freeboard: meters(hooks.waterline - hooks.deckAtBow),
      }}
    />
  );
}

Hanse's Berret-Racoupeau range from 2021 on has an outline of its own, traced from the hull plan Hanse publishes for the 460, the first of the range: a straight sheer rising a little toward a plumb stem with its bow roller, a reverse transom, three hull windows, a low coachroof with its window band, and below the antifouling line the canoe body, the L-shaped fin keel with its bulb aft, the spade rudder and the saildrive. The rails and the shallow-keel option, drawn dashed in the plan, are left out. Hanse states each model's length overall to the tip of the bow roller, so the outline's length ends there; traced at that scale, the hull measures 13.87 m against Hanse's 13.95 m, and the draft 2.27 m against 2.25 m. With the plumb stem, a shorter waterline comes off the stern alone, so the stem stays upright and the stern lifts.

The outline is traced at 14.6 m and listed in VESSEL_OUTLINES as hanse-2021; the kit exports it as HANSE_2021. The 360, 410, 460, 510 and 590 take this outline; the Judel/Vrolijk boats before them, the 315 to the 548, are another range. It is the profile's default. Given a vessel's proportions, the vessel profile stretches it to her length overall, waterline length, freeboard and draft; a particular not given follows the length overall in the outline's proportion.

Examples

A range from one outline

WLLWL 10.29 mLOA 11.30 mDraft 2.06 m
Hanse 360
WLLWL 13.05 mLOA 14.60 mDraft 2.25 m
Hanse 460
WLLWL 16.26 mLOA 17.60 mDraft 2.70 m
Hanse 590
Three of Hanse's Berret-Racoupeau range from one outline, each stretched to her own length overall, waterline length and draft and drawn to one scale: the 360, the 460 and the 590.
Code
import { HANSE_2021, VesselProfile } from "@bosunkit/components/vessel-profile";
import type { ReactElement } from "react";

export const description: string =
  "Three of Hanse's Berret-Racoupeau range from one outline, each stretched to her own length overall, waterline " +
  "length and draft and drawn to one scale: the 360, the 460 and the 590.";

/** Length overall and draft from the vessel catalog; waterline lengths from YACHT's tests of each model. */
const RANGE: readonly { readonly model: string; readonly loa: number; readonly lwl: number; readonly draft: number }[] =
  [
    { model: "360", loa: 11.3, lwl: 10.29, draft: 2.06 },
    { model: "460", loa: 14.6, lwl: 13.05, draft: 2.25 },
    { model: "590", loa: 17.6, lwl: 16.26, draft: 2.7 },
  ];

export default function Range(): ReactElement {
  return (
    <div style={{ display: "grid", gap: "var(--space-md)" }}>
      {RANGE.map(
        ({ model, loa, lwl, draft }): ReactElement => (
          <figure key={model} style={{ margin: 0 }}>
            <VesselProfile
              outline={HANSE_2021}
              proportions={{ lengthOverall: loa, waterlineLength: lwl, draft }}
              frameLength={17.6}
              dimensions={{
                lengthOverall: `${loa.toFixed(2)} m`,
                waterlineLength: `${lwl.toFixed(2)} m`,
                draft: `${draft.toFixed(2)} m`,
              }}
            />
            <figcaption style={{ marginTop: "var(--space-xs)", color: "var(--text-dim)", fontSize: "0.85em" }}>
              Hanse {model}
            </figcaption>
          </figure>
        ),
      )}
    </div>
  );
}
  • Vessel profile: the component, its props, and the outline for each hull shape.