';
QS.forEach(function (q) { var e = EST[q[0]]; html += '
' + q[1] + '
' + e[0] + '
' + esc(e[1]) + '
' + e[2] + '
'; });
html += '
기둥 단면·철근 형상·철근 생성 방식
' + badge('dash', '◇', '판단 불가') + '
도면 문자로 판별할 근거가 없다. 사람이 답한다
-
';
html += '
◆
코핑 하면 형상은 정면도의 큰 R 문자(10 m 이상)만 본다. 평면 모서리의 작은 R은 제외한다. 평면의 사각·직각과 각도는 문항이 아니라 아래 값으로 입력한다.
';
html += '
3 6문항 확인 후 교각 만들기
';
QS.forEach(function (q) {
html += '';
});
[['rs', '철근 형상 종류가 템플릿의 재료표 형식 열과 같은가'], ['rm', '철근 생성 방식(규칙 값 / 철근별 중심선)이 같은가']].forEach(function (q) {
html += '';
});
html += '';
var bad = nBad();
html += '
결과 판정
' + (bad.length ? badge('bad', '■', '같은 템플릿으로 만들 수 없음') + ' 다른 문항: ' + esc(bad.join(', ')) : badge('good', '●', '이 템플릿으로 만들 수 있음')) + '
' +
(bad.length ? '
가장 가까운 템플릿에 생성기·검사기를 추가해야 한다. 그래도 진행하면 교각 이름 옆과 모든 화면 상단에 형식 불일치 경고가 계속 표시된다(닫을 수 없다).
' : '') + '';
html += '
' + (N.err ? '■' + esc(N.err) + '' : '') + '
';
html += '';
html += '
';
main.innerHTML = html;
var y = window.scrollY;
main.querySelectorAll('[data-a]').forEach(function (e) { e.onchange = function () { N.ans[e.getAttribute('data-a')] = e.value; viewNew(); window.scrollTo(0, y); $('#' + e.id).focus(); }; });
main.querySelectorAll('[data-r]').forEach(function (e) { e.onchange = function () { N[e.getAttribute('data-r')] = e.value; viewNew(); window.scrollTo(0, y); $('#' + e.id).focus(); }; });
main.querySelectorAll('[data-g]').forEach(function (e) { e.oninput = function () { N[e.getAttribute('data-g')] = e.value; }; });
$('#nm').oninput = function () { N.name = this.value; };
$('#tp').onchange = function () { N.tpl = this.value; viewNew(); window.scrollTo(0, y); $('#tp').focus(); };
$('#mk').onclick = function () {
N.name = $('#nm').value.trim();
if (!N.name) { N.err = '교각 이름이 비어 있다. 폴더를 만들 이름이 필요하다. 이름을 입력한다'; viewNew(); $('#nm').focus(); return; }
N.err = '';
toast("교각 '" + N.name + "'을(를) 만들었다. 올린 도면이 교각 폴더로 옮겨졌고 6문항 답과 각도 값이 저장되었다." + (bad.length ? ' 형식 불일치 경고가 표시된다.' : ''));
viewNew();
};
}