표가 DXF의 표로 나가야 한다(사용자 확정). 지금까지 도면의 표는 선과 문자 뭉치라 내보낼 때 고를 수 있는 길이 하나뿐이었다. - TableEntity: 열별 폭·행별 높이·칸 문자·병합을 한 객체가 들고 있다. 격자선은 담지 않고 병합 자리에서 선을 끊는 규칙을 표가 스스로 안다(helpers/table-geometry.ts). 회전·대칭은 지원하지 않는다 — 표는 축에 붙어 있다. - 명령: TABLE을 표 객체 생성으로 다시 쓰고 TABLEEDIT(칸 문자)·TABLEROW·TABLECOL· TABLEMERGE·TABLEUNMERGE를 더했다. EXPLODE는 표를 선과 문자로 흩는다. - 그립: 좌측 상단으로 표를 옮기고, 열·행 경계로 폭·높이를 바꾼다. - 백엔드: 유역 정보표와 횡단 수량 산출표를 표 객체로 낸다. 횡단표는 머리행이 폭 8등분, 본문이 11열 가중치로 격자가 서로 달라 두 경계를 합친 18열로 만들고 병합으로 원래 칸을 되살렸다 — 손으로 하던 가로선 끊기가 사라졌다. - 수량 역추출: 값 Text의 결정적 id로 읽던 것을 칸에 실은 key로 읽도록 옮겼다. 이미 저장된 도면을 위해 옛 방식을 폴백으로 남겼다. 토적도·종단표는 값이 칸이 아니라 측점 위치에 놓이는 성격이라 이관하지 않았다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
128 lines
3.0 KiB
TypeScript
128 lines
3.0 KiB
TypeScript
export enum Tool {
|
|
SELECT = 'SELECT',
|
|
LINE = 'LINE',
|
|
RECTANGLE = 'RECTANGLE',
|
|
CIRCLE = 'CIRCLE',
|
|
MOVE = 'MOVE',
|
|
COPY = 'COPY',
|
|
SCALE = 'SCALE',
|
|
ERASER = 'ERASER',
|
|
IMAGE_IMPORT = 'IMAGE_IMPORT',
|
|
INSERT_BLOCK = 'INSERT_BLOCK',
|
|
GRIP_EDIT = 'GRIP_EDIT',
|
|
ROTATE = 'ROTATE',
|
|
ALIGN_LEFT = 'ALIGN_LEFT',
|
|
ALIGN_RIGHT = 'ALIGN_RIGHT',
|
|
ALIGN_CENTER_HORIZONTAL = 'ALIGN_CENTER_HORIZONTAL',
|
|
ALIGN_TOP = 'ALIGN_TOP',
|
|
ALIGN_BOTTOM = 'ALIGN_BOTTOM',
|
|
ALIGN_CENTER_VERTICAL = 'ALIGN_CENTER_VERTICAL',
|
|
ARRAY = 'ARRAY',
|
|
PEDIT = 'PEDIT',
|
|
// 조사표 1절 — 그리기
|
|
PLINE = 'PLINE',
|
|
ARC = 'ARC',
|
|
POLYGON = 'POLYGON',
|
|
ELLIPSE = 'ELLIPSE',
|
|
SPLINE = 'SPLINE',
|
|
MLINE = 'MLINE',
|
|
MLSTYLE = 'MLSTYLE',
|
|
XLINE = 'XLINE',
|
|
RAY = 'RAY',
|
|
POINT = 'POINT',
|
|
DONUT = 'DONUT',
|
|
DIVIDE = 'DIVIDE',
|
|
MEASURE_LENGTH = 'MEASURE_LENGTH',
|
|
HATCH = 'HATCH',
|
|
GRADIENT = 'GRADIENT',
|
|
BOUNDARY = 'BOUNDARY',
|
|
REGION = 'REGION',
|
|
WIPEOUT = 'WIPEOUT',
|
|
// 조사표 2절 — 수정
|
|
MIRROR = 'MIRROR',
|
|
ALIGN = 'ALIGN',
|
|
OFFSET = 'OFFSET',
|
|
STRETCH = 'STRETCH',
|
|
LENGTHEN = 'LENGTHEN',
|
|
FILLET = 'FILLET',
|
|
CHAMFER = 'CHAMFER',
|
|
BLEND = 'BLEND',
|
|
BREAK = 'BREAK',
|
|
BREAK_AT_POINT = 'BREAK_AT_POINT',
|
|
EXTEND = 'EXTEND',
|
|
JOIN = 'JOIN',
|
|
EXPLODE = 'EXPLODE',
|
|
ERASE = 'ERASE',
|
|
MATCHPROP = 'MATCHPROP',
|
|
DRAWORDER_FRONT = 'DRAWORDER_FRONT',
|
|
DRAWORDER_BACK = 'DRAWORDER_BACK',
|
|
SETBYLAYER = 'SETBYLAYER',
|
|
REVERSE = 'REVERSE',
|
|
OVERKILL = 'OVERKILL',
|
|
HATCHEDIT = 'HATCHEDIT',
|
|
// 조사표 3절 — 도면층·특성·그룹·유틸리티
|
|
LAYER_CURRENT = 'LAYER_CURRENT',
|
|
LAYOFF = 'LAYOFF',
|
|
LAYFRZ = 'LAYFRZ',
|
|
LAYLCK = 'LAYLCK',
|
|
LAYULK = 'LAYULK',
|
|
LAYISO = 'LAYISO',
|
|
LAYERSTATE = 'LAYERSTATE',
|
|
LAYERSTATE_RESTORE = 'LAYERSTATE_RESTORE',
|
|
LAYMCH = 'LAYMCH',
|
|
LAYCUR = 'LAYCUR',
|
|
LAYMRG = 'LAYMRG',
|
|
LAYDEL = 'LAYDEL',
|
|
TRANSPARENCY = 'TRANSPARENCY',
|
|
GROUP = 'GROUP',
|
|
UNGROUP = 'UNGROUP',
|
|
DIST = 'DIST',
|
|
RADIUS_INQUIRY = 'RADIUS_INQUIRY',
|
|
ANGLE_INQUIRY = 'ANGLE_INQUIRY',
|
|
AREA = 'AREA',
|
|
ID_POINT = 'ID_POINT',
|
|
QUICKCALC = 'QUICKCALC',
|
|
MEASUREGEOM = 'MEASUREGEOM',
|
|
QSELECT = 'QSELECT',
|
|
SELECTSIMILAR = 'SELECTSIMILAR',
|
|
ISOLATEOBJECTS = 'ISOLATEOBJECTS',
|
|
HIDEOBJECTS = 'HIDEOBJECTS',
|
|
COPYBASE = 'COPYBASE',
|
|
PASTECLIP = 'PASTECLIP',
|
|
// 조사표 5절 — 주석
|
|
TEXT = 'TEXT',
|
|
MTEXT = 'MTEXT',
|
|
TEXTEDIT = 'TEXTEDIT',
|
|
FIND = 'FIND',
|
|
DIM = 'DIM',
|
|
DIMLINEAR = 'DIMLINEAR',
|
|
DIMALIGNED = 'DIMALIGNED',
|
|
DIMBASELINE = 'DIMBASELINE',
|
|
DIMCONTINUE = 'DIMCONTINUE',
|
|
QDIM = 'QDIM',
|
|
DIMRADIUS = 'DIMRADIUS',
|
|
DIMDIAMETER = 'DIMDIAMETER',
|
|
DIMANGULAR = 'DIMANGULAR',
|
|
DIMARC = 'DIMARC',
|
|
DIMORDINATE = 'DIMORDINATE',
|
|
CENTERMARK = 'CENTERMARK',
|
|
CENTERLINE = 'CENTERLINE',
|
|
DIMSPACE = 'DIMSPACE',
|
|
DIMSTYLE = 'DIMSTYLE',
|
|
MLEADER = 'MLEADER',
|
|
MLEADERSTYLE = 'MLEADERSTYLE',
|
|
MLEADERALIGN = 'MLEADERALIGN',
|
|
TABLE = 'TABLE',
|
|
TABLESTYLE = 'TABLESTYLE',
|
|
TABLEEDIT = 'TABLEEDIT',
|
|
TABLEROW = 'TABLEROW',
|
|
TABLECOL = 'TABLECOL',
|
|
TABLEMERGE = 'TABLEMERGE',
|
|
TABLEUNMERGE = 'TABLEUNMERGE',
|
|
REVCLOUD = 'REVCLOUD',
|
|
ANNOSCALE = 'ANNOSCALE',
|
|
COLOR = 'COLOR',
|
|
LINETYPE = 'LINETYPE',
|
|
LWEIGHT = 'LWEIGHT',
|
|
}
|