feat(rebar): 단면·폐합 at two fixed stations side by side (단부 0.3 m, first column centre)
- The station input is removed. The section shows the 단부 (first shear station, from the 3D bar records) and the first column centre, side by side. - The 상면 간격 label is removed. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
64539c63d6
commit
ec402e22d7
3 files changed
+28
-19
No files matched your search
@@ -53,6 +53,12 @@ export function chainDims(positions: number[], startMm: number, endMm: number):
|
||||
return out;
|
||||
}
|
||||
|
||||
/** The 단부 station (m): the first station of the 전단·띠 bars (C9–C11), i.e. the first shear position. */
|
||||
export function copingEndStation(records: BarRecord[]): number {
|
||||
const loops = records.filter((r) => /^C(9|10|11)$/.test(r.name));
|
||||
return Math.min(...loops.flatMap((r) => r.pts.map((p) => p[0])));
|
||||
}
|
||||
|
||||
/**
|
||||
* Bar positions (mm, along the coping): one per bar, its mean s. A loop or a cross bar sits at one station, so its
|
||||
* points share the same s apart from the bends; the bends are not positions of their own.
|
||||
@@ -221,7 +227,6 @@ export function copingSectionSvg(records: BarRecord[], s0: number, copingTopEl?:
|
||||
for (const d of topChain) {
|
||||
parts.push(`<line x1="${d.from}" y1="${dimTop}" x2="${d.to}" y2="${dimTop}" stroke="#18212B" stroke-width="8"></line><text x="${(d.from + d.to) / 2}" y="${dimTop - 90}" text-anchor="middle" font-size="160" fill="#18212B">${d.text}</text>`);
|
||||
}
|
||||
parts.push(`<text x="${(-halfW + halfW) / 2}" y="${dimTop - 260}" text-anchor="middle" font-size="150" fill="#55606E">상면 간격</text>`);
|
||||
|
||||
// 4: the side rows (C12·C13) along the EL, from the coping top EL down to the lowest side bar.
|
||||
const side = unique.filter((c) => c.group === 'side' && c.x < 0);
|
||||
|
||||
Reference in new issue
Block a user