Files
Pier_v1/도면작성/cad-style.ts
T
2026-11-04 13:34:51 +09:00

15 lines
1.5 KiB
TypeScript

/** HS_050 / 1_1(typ1): 3mm text and 1mm arrow in the reference. Values below are paper mm. */
export const CAD_STYLE={dimensionText:3.0,elevationText:2.6,text:2.5,tableText:2.5,title:3.0,arrow:1.0,extensionGap:5,extensionOverrun:1,laneGap:9,clearance:1.2,viewGap:7};
export const CAD_LAYERS:Record<string,string>={STRUCTURE:'CS-CONC-MAJR',HIDDEN:'CS-CONC-REFR-HIDD',CENTER:'CS-XXXXCS-CENT',DIMENSION:'CS-DIML',TEXT:'CS-DIMT',ELEVATION:'CS-DIMT',BEARING:'CS-CONC-MAJR',SECTION:'CS-SYMB',HATCH:'CS-PATT253',FRAME:'CX-BORD-LIN1'};
/** Verified from reference-style-analysis.json; ACI 7 is black on white paper. */
export const REFERENCE_ACI:Record<string,number>={'CS-CONC-MAJR':4,'CS-CONC-REFR-HIDD':8,'CS-XXXXCS-CENT':1,'CS-DIML':1,'CS-DIMT':3,'CS-SYMB':1,'CS-PATT253':253,'CX-BORD-LIN1':4,'CX-BORD-TEX3':7,'CS-TABL-LIN1':4,'CS-TABL-LIN2':1,'CS-TABL-TEX2':3,'CR-BORE-TEXT':3,'CR-BORE-MISC':1};
export const referenceLayer=(e:{layer:string;kind:string;source:{member:string};cad?:{layer:string}}):string=>{
if(e.cad)return e.cad.layer;
if(e.source.member==='bearing-table')return e.kind==='text'?'CS-TABL-TEX2':'CS-TABL-LIN2';
if(e.layer==='FRAME'&&e.kind==='text')return 'CX-BORD-TEX3';
if(e.layer==='DIMENSION'&&e.kind==='text')return 'CS-DIMT';
return CAD_LAYERS[e.layer]??e.layer;
};
export const aciPaper=(aci:number):string=>({1:'#ff0000',2:'#ffff00',3:'#00ff00',4:'#00ffff',5:'#0000ff',6:'#ff00ff',7:'#000000',8:'#808080',252:'#666666',253:'#999999',254:'#cccccc'}[aci]??'#000000');