feat(view): 전단철근 구간 표 on the ③ coping tab (시안 ③)
- Segments of C9 (좌 경사), C10 (Level), C11 (우 경사): first and last bar in metres, spacing, count, and bar number. From the bar positions (코핑철근.md §3). - Test: 0.300–4.550 (18 @250), 4.800–7.200 (9 @300), 7.450–11.700 (18 @250). - Not verified in a browser. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
488b65af31
commit
8ac5d2973c
3 files changed
+59
No files matched your search
@@ -110,3 +110,24 @@ export function capLength(x: number, coping: number): number {
|
||||
|
||||
/** Pieces per position: 3 closed stirrups × (U + cap) = 6. Total 270 for C9 + C10 + C11 (document). */
|
||||
export const PIECES_PER_POSITION = 6;
|
||||
|
||||
/**
|
||||
* 전단철근 구간 표 (시안 ③ · 코핑): C9 / C10 / C11 grouped by segment, from the bar positions.
|
||||
* Positions are along the coping length (mm); the table shows the first and last bar of each segment.
|
||||
*/
|
||||
export function shearSegments(coping: number): { segment: string; from: number; to: number; spacing: number; count: number; bar: 'C9' | 'C10' | 'C11' }[] {
|
||||
const b = shearBars(coping);
|
||||
const seg = (name: string, xs: number[], bar: 'C9' | 'C10' | 'C11', spacing: number) => ({
|
||||
segment: name,
|
||||
from: Math.min(...xs),
|
||||
to: Math.max(...xs),
|
||||
spacing,
|
||||
count: xs.length,
|
||||
bar,
|
||||
});
|
||||
return [
|
||||
seg('좌 경사', b.c9, 'C9', COPING_REBAR.spacingS),
|
||||
seg('Level', b.c10, 'C10', COPING_REBAR.spacingL),
|
||||
seg('우 경사', b.c11, 'C11', COPING_REBAR.spacingS),
|
||||
];
|
||||
}
|
||||
Reference in new issue
Block a user