﻿2026-10-27: GTSCODE3 오수맨홀(OM)·사각 우수맨홀(S4)을 원래 사각형으로 복원했습니다. 우·오 선글자와 삽입 중심도 원형 변경 전 자료와 동일합니다. GTSCODE2와 기존 원형 UM은 유지합니다. 아래 이전 이중원 기록 중 GTSCODE3 OM·S4 부분은 이 변경으로 대체합니다.

exceltocad_lisp_ver0.8 · AutoCAD / ZWCAD 통합 리습

폴더 전체를 압축 해제하고 APPLOAD에서 EXCELTOCAD.lsp만 로드합니다.
첫 로드에서 위치를 물으면 같은 EXCELTOCAD.lsp를 선택하세요.
이전 Mimi/Tksupp2000 로더나 선택 별칭은 함께 로드하지 않습니다.
현재 통합 폴더의 mimi/detail/symbols/text/layers/geometry만 사용하며 이전 폴더를 참조하지 않습니다.

기본 명령: ETC 접두사를 쓰는 측량·편집 70종(ETCNTXT 포함) + 현장 심볼 3종 + 배수시설 ETD 명령 15종 + ETCTXT 1종 + ETCGT 1종 = 90종.
명령어에 ETC가 붙는 이유는 기존 명령어와의 충돌을 방지하기 위해서입니다.
예: ETCNR / ETCSA / ETCCJ. 접두사와 명령어 사이에 언더바를 넣지 않습니다.
담장 ETCBD / 옹벽 ETCOB / 철책 ETCFS를 입력합니다.
새 버전은 MM_·OOB·BBD·FFS 단축 명령을 등록하지 않습니다.
이전 버전을 이미 로드한 도면은 CAD를 재실행한 뒤 새 EXCELTOCAD.lsp를 로드하세요.
ETCHELP: 측량·편집 안내 / ETCLISP: 버전 확인 / ETDETAIL: 배수시설 선택 폼.
ETDOLD, ETDSETUP, 원본 DWG 삽입 기능 및 이전 버전 파일은 포함하지 않습니다.

배수시설: ETDU, ETDCOVER, ETDJ, ETDV, ETDL, ETDCHANNEL, ETDHALF,
ETDPIPE, ETDBOX, ETDHEAD, ETDDROP, ETDCATALOG, ETDLEVEL, ETDCLI, ETDETAIL.
치수 B/H/t/D/기초는 mm, IN/OUT은 m입니다. 현재 도면 단위 m/mm를 별도 선택하세요.
단면은 입력한 치수에 따른 2D 참고 기호입니다. 표준도 치수 자동 판정이나 배근 설계는 포함하지 않습니다.
폼을 지원하지 않는 환경에서는 ETDCLI를 사용하세요.

웹 리습 탭에서 명령어·작업명으로 검색하고 개별 사용방법과 이미지를 확인할 수 있습니다.
주기 스플라인 SPINT는 원본을 유지합니다. 모든 도면/모든 분기의 전수 검증은 아닙니다.
캐드 보안 설정과 자동 시작은 변경하지 않습니다. src는 UTF-8 편집 소스,
실행 LSP/DCL은 한국어 CP949입니다. tools/rebuild.py로 다시 생성합니다.

ver0.3 계승: ETCRB 보도블럭 / ETCPB 핀블럭 / ETCMMT 돌망태
두 점을 순서대로 지정하면 중간에 심볼을 생성합니다. 평면 거리 × 0.7 배율과 선 방향 − 90도 회전을 사용합니다.
새 기호의 높이는 두 선택점 Z의 평균이며 현재 UCS를 따릅니다. Enter 또는 Esc로 종료합니다.
RB/PB/MMT 기존 명령은 덮어쓰지 않습니다. DWG·SHX 추가 설치는 필요 없습니다.

ver0.5 제공 심볼: 고정 문자를 미리 선으로 작성
우수맨홀=우 / 오수맨홀=오 / 제수변=제 / ASP 등은 고정 글자를 선 도형으로 삽입합니다.
32종 심볼을 정리했고 고정 표기 33개를 선화했습니다. 삽입 기준점을 유지합니다.
ver0.7: GTSCODE2 오수맨홀(OM), GTSCODE3 오수맨홀(OM)·집수정(S4)을 원형 UM 기준의 이중원으로 변경했습니다.
이중원 반지름은 0.525/0.7이며 GTSCODE2 S4는 사각형을 유지합니다.
GTSCODE3 우·오 선글자는 비율을 유지해 안쪽 원에 맞췄습니다. 기존 원본 심볼과 이전 버전은 보존합니다.
신규 심볼 삽입에는 글꼴 파일, 폰트 매칭, 수동 ETCTXT 실행이 필요하지 않습니다.
글꼴은 제작 단계에서만 사용했습니다. 없는 기존 SHX는 승인된 CAD 기본 whgtxt로 제작했습니다.
고정 기호에만 적용되며 CP 번호·지반고·속성 등 바뀌는 문자는 계속 편집할 수 있습니다.
리습 우수맨홀은 내부 Layer0/ByBlock, 외부 INSERT는 해당 코드 레이어를 사용합니다.
symbols/prebuilt-gts에는 미리 만든 DWG·DXF 32종이 있으며, examples/고정문자_선화심볼_샘플.dxf로 확인합니다.

선택 기능: ETCTXT · 기존 도면 블록의 고정 문자 외곽선 변환
1. EXCELTOCAD.lsp 로드 후 ETCTXT를 입력합니다.
2. 문자 포함 심볼을 선택하고 Enter를 누릅니다.
3. Original(기본값)은 원본 TTF 글꼴을 유지합니다.
   SHX·BigFont·없는 글꼴은 원문을 남깁니다. 대체하려면 Malgun을 직접 선택합니다.
   Malgun은 맑은 고딕으로 바꾸므로 원래 SHX 글자 모양과 다릅니다.
4. 선택한 심볼에 새 ETC05_TXT_* 블록을 적용합니다. 원본 정의·미선택 심볼은 유지합니다.
5. U 한 번으로 이번 변환을 취소할 수 있습니다.

글자 외곽선이 닫힌 LWPOLYLINE으로 생성됩니다. 중심선 단선화 기능은 아닙니다.
TEXT와 단순 MTEXT, 중첩 블록을 처리합니다. 숫자가 포함된 문자(CP1·표고),
ATTRIB·ATTDEF, 필드·특수문자 코드·복잡한 MTEXT는 원문을 유지합니다.
외부참조·동적 블록·잠긴 레이어는 제외하며 고정 문자 256개까지 처리합니다.
원본 글꼴이 설치되어 있어야 Original 모드에서 같은 모양을 만들 수 있습니다.

기존 블록에 ETCTXT를 추가 실행할 때만 Windows 전체 AutoCAD/ZWCAD와 .NET Framework 4가 필요합니다.
tools/EtcTextOutline.exe를 포함한 폴더 전체를 압축 해제하세요. Core Console 전용 명령은 아닙니다.
이 도구는 Windows에 설치된 글꼴에서 윤곽을 생성합니다. 글꼴 파일은 배포하지 않습니다.
외부 접속·전송·설치·보안 설정 변경은 하지 않습니다.
helper 재빌드: tools/build-outline.ps1 (Windows .NET C# 컴파일러 사용).

레이어 명령 통합 · 2026-10-20

ETCLON · 선택 객체 레이어 ON/OFF·동결 제어
1. ETCLON을 입력하고 객체를 선택한 뒤 Enter를 누릅니다
2. On=레이어ON / Off=레이어OFF / Freeze=동결ON / Thaw=동결OFF 중 선택합니다. 기본값은 On입니다
3. 선택한 객체가 있는 레이어에만 적용합니다. U 한 번으로 이번 변경을 되돌립니다
현재 작업 레이어는 Off·Freeze에서 보호합니다. 작업 레이어를 변경한 후 다시 실행하세요.
On은 동결을 해제하지 않으며 Thaw는 꺼진 레이어를 켜지 않습니다.
블록은 선택한 INSERT의 레이어를 기준으로 합니다. 내부 객체 레이어·색상·잠금은 변경하지 않습니다.
ETCLLON·ETCLLOF는 ETCLON으로 통합했습니다. 이전 LON·LOF 명령은 등록하지 않습니다.

ETCLOF · 레이어 설정값 저장·불러오기
1. ETCLOF를 실행하고 저장 이름을 입력한 뒤 현재 상태 저장을 누릅니다
2. 저장 목록에서 이름을 선택하고 선택 상태 적용을 누르거나 두 번 클릭합니다
3. 선택 목록 삭제는 선택한 항목만, 전체 목록 삭제는 저장 목록을 모두 지웁니다. 같은 이름의 저장과 삭제는 명령줄에서 Yes를 선택해야 진행합니다
4. DWG를 저장하면 목록이 도면 내부에 보관됩니다. 도면을 다시 열어도 불러올 수 있습니다
저장 대상은 전체 레이어의 ON/OFF·전체 동결 여부입니다. 색상·잠금·선종류·뷰포트별 동결은 포함하지 않습니다.
저장 이후 추가한 레이어는 유지하고 삭제한 레이어는 건너뜁니다. 레이어 이름을 기준으로 불러옵니다.
현재 레이어를 동결해야 할 때만 저장 상태의 비동결 레이어로 작업 레이어를 전환합니다.
선택·전체 목록 삭제는 저장 항목만 지웁니다. 현재 도면의 레이어 ON/OFF·동결 상태는 바뀌지 않습니다.
저장·적용·삭제는 각각 U 한 번으로 되돌릴 수 있습니다. 저장 목록은 현재 도면에만 적용됩니다.


담장·옹벽 일괄 3D OFFSET / ETC3ET 끝점 연결 · 2026-10-20

ETCBD · 담장 기호 배치
1. ETCBD를 입력하고 연결된 기준선 전체를 한 번에 선택한 뒤 Enter를 누릅니다
2. 심볼 간격을 입력합니다. 기본값은 1.2입니다
3. 평행선 폭 0.2 / 0.3 / 0.4 / 0.5 등을 입력합니다. 기본값은 0.2이며 0이면 심볼만 생성합니다
4. 생성 방향을 한 번 클릭합니다. Enter는 정렬된 연결 진행 방향의 왼쪽입니다
5. 공유점 Z를 유지한 평행 LINE과 원본 기준선 위 심볼을 확인합니다. 선택 순서·개별 LINE의 방향이 뒤섞여도 연결 순서를 정렬합니다
폭·간격은 도면 좌표 단위입니다. 평행선 폭은 WCS XY 평면거리이며 모서리의 원본 Z를 유지합니다.
5개 직선·공유점 4곳이면 보통 새 LINE 5개가 연결됩니다. 원본 선은 유지하며 3D POLYLINE을 새로 만들지 않습니다.
심볼 간격은 연결망 전체에서 연속 계산합니다. 원본 공유점의 작은 허용오차는 0.000001입니다.
직선 LINE과 직선 구간의 2D/3D POLYLINE을 지원합니다. 원호·곡선 폴리선·분기 연결망은 제외합니다.
급한 모서리의 돌출이 폭의 10배를 넘으면 짧은 LINE으로 모따기 연결합니다. 폭이 너무 커 선이 뒤집히거나 서로 교차하는 연결망은 제외합니다.

ETCOB · 옹벽 기호 배치
1. ETCOB를 입력하고 연결된 기준선 전체를 한 번에 선택한 뒤 Enter를 누릅니다
2. 심볼 간격을 입력합니다. 기본값은 1.2입니다
3. 평행선 폭 0.2 / 0.3 / 0.4 / 0.5 등을 입력합니다. 기본값은 0.2이며 0이면 심볼만 생성합니다
4. 생성 방향을 한 번 클릭합니다. Enter는 정렬된 연결 진행 방향의 왼쪽입니다
5. 공유점 Z를 유지한 평행 LINE과 원본 기준선 위 심볼을 확인합니다. 선택 순서·개별 LINE의 방향이 뒤섞여도 연결 순서를 정렬합니다
폭·간격은 도면 좌표 단위입니다. 평행선 폭은 WCS XY 평면거리이며 모서리의 원본 Z를 유지합니다.
5개 직선·공유점 4곳이면 보통 새 LINE 5개가 연결됩니다. 원본 선은 유지하며 3D POLYLINE을 새로 만들지 않습니다.
심볼 간격은 연결망 전체에서 연속 계산합니다. 원본 공유점의 작은 허용오차는 0.000001입니다.
직선 LINE과 직선 구간의 2D/3D POLYLINE을 지원합니다. 원호·곡선 폴리선·분기 연결망은 제외합니다.
급한 모서리의 돌출이 폭의 10배를 넘으면 짧은 LINE으로 모따기 연결합니다. 폭이 너무 커 선이 뒤집히거나 서로 교차하는 연결망은 제외합니다.

ETC3ET · 기존 3D OFFSET LINE 끝점 연결
1. 이미 OFFSET한 LINE들을 한 번에 선택하고 Enter를 누릅니다
2. 연결할 끝점의 최대 간격을 입력합니다. 기본값은 1.0이며 도면 좌표 단위입니다
3. 같은 높이인 인접 끝점끼리 평면 교차 위치에서 연결된 것을 확인합니다
4. 미연결 끝점이 남으면 허용 간격·높이 또는 중복 후보를 확인하고 해당 구간만 선택해 다시 실행합니다
새 평행선을 만드는 명령은 아닙니다. 담장·옹벽 생성은 ETCBD·ETCOB를 사용합니다.
기존 LINE의 레이어·색상·반대쪽 끝점을 유지합니다. 연결점의 Z를 선별 경사로 다시 계산하지 않습니다.
높이가 0.000001 이내인 끝점만 같은 높이로 판단하며 공통 Z는 두 기존 값 중 작은 값을 사용합니다.
이미 연결된 끝점, 평행한 다른 경계선, 후보가 같은 거리로 중복되는 끝점은 임의로 연결하지 않습니다. 잠긴 레이어는 변경하지 않습니다.
끝점 간격과 각 선의 연장 길이를 제한하며 안쪽·바깥쪽 경계의 잘못된 교차 연결을 걸러냅니다.

ETCTEUD · 지반고 문자와 점 올리기·내리기
1. 숫자 지반고 문자를 선택합니다
2. Up 또는 Down을 선택합니다
3. 문자와 대응 POINT의 Z를 확인합니다
중복 명령 ETCTEUDT를 ETCTEUD로 통합했습니다. 문자와 대응 측점의 Up/Down은 ETCTEUD를 사용하세요.


심볼 없는 측구 3D OFFSET · ETCGT · 2026-10-20

1. ETCGT를 입력하고 이어진 기준선 전체를 한 번에 선택한 뒤 Enter를 누릅니다
2. 폭 0.3 / 0.4 / 0.5 / 0.6 / 0.8 / 1.0 / 1.2를 입력합니다. 기본값은 0.3이며 다른 양수도 직접 입력할 수 있습니다
3. 생성 방향을 한 번 클릭합니다. Enter는 정렬된 연결 진행 방향의 왼쪽입니다
4. 원본과 새 평행 LINE을 확인합니다. 공유점 높이는 유지되며 심볼 간격 질문·심볼 생성은 없습니다
폭은 도면 좌표 단위의 WCS XY 평면거리입니다. 미터 단위 도면에서 0.3은 0.3m입니다.
선택 순서·개별 LINE 방향이 달라도 연결 순서를 정렬합니다. 공유점 XYZ를 일치시키고 원본 선·높이·레이어·색상을 유지합니다.
직선 5개·공유점 4곳이면 보통 연결된 새 LINE 5개가 생성됩니다. 3D POLYLINE이나 심볼 블록은 생성하지 않습니다.
직선 LINE과 직선 구간의 2D/3D POLYLINE을 지원합니다. 원호·곡선 폴리선·T형 분기는 제외합니다.
ETCOB와 동일하게 급한 모서리의 과도한 돌출은 모따기 LINE으로 연결하고, 폭에 따른 뒤집힘·자체 교차 연결망은 제외합니다.
이미 OFFSET된 선의 끝점만 보정하려면 ETC3ET를 사용하세요. ETCGT는 원본을 기준으로 새 평행선을 만드는 명령입니다.

CEP·CEPP·CEPP2는 ETCCEP 하나로 통합했습니다. 이전 ETCCEPP 명령 대신 ETCCEP를 사용하세요.

ETCCEP 자동 스플라인 세분화 · 2026-10-20

1. ETCCEP를 입력합니다. 별도 기능 선택 메뉴는 없습니다
2. 교체할 새 곡선을 먼저, 기존 등고선을 다음으로 선택하고 Enter를 누릅니다. 총 2개를 순서대로 선택하세요
3. 스플라인은 SPINT 방식으로 제어점을 추가하고 곡선의 데이터 점을 늘려 자동으로 폴리라인으로 변환합니다
4. 기존 등고선의 양쪽 끝점·표고·레이어·색상을 유지한 교체 결과를 확인합니다
중복 CEP·CEPP·CEPP2는 ETCCEP로 통합했습니다.
스플라인 제어점 추가는 곡선 형상을 유지하는 매듭 삽입 방식이며 추가 선택이나 수치 입력이 없습니다.
폴리라인 변환은 곡선 표본 오차 0.01 도면 좌표 단위로 처리합니다. 결과는 SPLINE이 아닌 폴리라인입니다.
평면 등고선은 기존 등고선의 Z를 사용합니다. 교체 곡선의 임시 복사본은 처리 후 정리합니다.
정상적인 새 폴리라인을 만든 뒤 입력 곡선과 기존 등고선을 교체합니다. 잠긴 레이어·주기 스플라인·유효하지 않은 교체 구간은 원본을 유지합니다.
구간 교체 없이 스플라인 제어점만 추가하려면 기존 ETCSPINT를 사용하세요.


ETCTSC · 전체 문자 글꼴 이름만 변경 · 2026-10-20
1. ETCTSC를 실행합니다. 기존 ETCTJ 정렬 명령은 그대로입니다.
2. 도면에 등록된 스타일 이름 | 글꼴 파일 목록에서 사용할 글꼴을 선택합니다.
3. 확인을 누르면 모형·배치·블록·속성문자에 적용합니다. 외부참조·SHAPE 스타일은 제외합니다.
기존 문자 스타일의 이름·높이·폭 비율·기울기·반전 설정 및 개별 객체의 높이·색상·정렬 설정을 유지합니다.
선택한 스타일에서 기본 글꼴·큰 글꼴 이름과 글꼴 식별 정보만 가져옵니다.
MTEXT·치수·다중지시선의 개별 글꼴 서식도 이름만 바꾸고 나머지 서식을 유지합니다.
글꼴의 고유 자폭과 MTEXT 자동 줄바꿈은 달라질 수 있습니다. U 한 번으로 이번 변경을 되돌립니다.
글꼴 파일이 없거나 선택을 취소하면 변경하지 않습니다.
중복 PT·PPT는 ETCPT 하나로 사용하며 ETCPPT는 제외합니다. 격자설정 GX·GY도 제외합니다.


2026-10-24 · 도면 높이 및 리습 변경
ETCGETRNG는 유지합니다. ETC3UP·ETCMESH·ETCRLTR·ETCLROT는 제외하며 ETCLRO를 사용합니다. 현재 공개 명령은 90종입니다.
문자를 생성하는 리습은 TEXTSIZE가 0일 때 0.5로 보정합니다. 양수 값과 기존 문자 크기는 바꾸지 않습니다.

ETCNR · 법면 기호
상단선 양 끝 높이와 종단경사·하단점의 고도를 분석해 기울어진 법면에 맞는 3D 선 기호를 작성합니다.
1. 상단 LINE 또는 폴리라인의 직선 구간을 선택합니다
2. 대응 하단점을 객체 스냅으로 지정합니다
3. 같은 상단 구간의 하단점을 계속 지정하거나 Enter로 종료합니다
4. 기호 양 끝 높이가 상단 경사와 일치하는지 확인합니다. U 한 번으로 되돌립니다
선택점·선 끝점의 실제 WCS Z를 사용합니다. Z=0·음수도 높이로 처리합니다.
두 점만으로 기호의 양쪽 높이를 같게 만들지 않습니다. 상단 방향 경사와 하단 방향 경사를 함께 적용합니다.
하단점은 상단 구간에 수직 투영되는 범위여야 합니다. 수직선·평면 길이 0은 생성하지 않습니다.
직선 구간 기준입니다. 원호 bulge가 있는 폴리라인은 먼저 직선 구간으로 나누어 사용하세요.

ETCPLZ · 중첩 심볼·지시선 2D 변환
선택 객체를 WCS Z=0으로 작성합니다. 중첩·겹친 심볼과 지시선·다중지시선을 포함합니다.
1. 2D로 만들 심볼·라인·폴리라인·문자·지시선을 SSGET으로 한 번에 선택합니다
2. Enter를 누르면 선택 객체만 변환합니다
3. 문자 정렬·회전·크기·색상과 XY를 확인합니다. U 한 번으로 복구합니다
중첩 심볼과 다중지시선은 화면 형상을 유지한 개별 2D 블록으로 작성합니다. 원본 공유 블록 정의와 선택하지 않은 삽입은 유지합니다.
같은 XY에 겹친 심볼은 각 삽입을 유지합니다. 중복 삭제 기능이 아닙니다.
다중지시선은 2D 블록 내부의 선·화살표·문자로 바뀝니다. 다중지시선 편집 속성은 유지되지 않습니다.
잠긴 레이어·외부참조·지원되지 않는 기울어진 OCS 도형은 원본을 유지하고 명령줄에 사유를 표시합니다.
이 명령은 선택 POINT와 등고선도 Z=0으로 만듭니다. 웹 도면 규정 변환의 포인트·등고선 보존 설정과 구분해 사용하세요.

ETCNTXT · POINT 높이로 지반고 생성
선택한 POINT의 실제 Z(H)로 빨강 지반고 TEXT를 생성합니다.
1. POINT 객체를 선택하고 Enter를 누릅니다
2. 문자 높이를 입력합니다. 현재 TEXTSIZE가 0이면 0.5로 설정합니다
3. 소수 자리수 0~8을 입력합니다. 기본값은 2입니다
4. NEW_CA0021 레이어의 빨강 문자를 확인합니다. 원본 POINT는 유지됩니다
문자 위치는 POINT 기준 X+0.7, Y−0.5이며 실제 POINT Z를 유지합니다.
레이어 NEW_CA0021 · ACI 1(빨강). 0·음수 높이도 표시합니다. 좌표 단위는 도면 단위를 따릅니다.
기존 문자 내용에서 표고를 추정하지 않고 POINT의 Z(H)만 읽습니다.
NEW_CA0021 레이어가 잠겨 있으면 생성하지 않습니다. 한 번의 U로 이번 생성과 레이어 설정을 복구합니다.

베타버전 0.8: 구 심볼 7종 제외 — BOX규격, U형수로규격, width B, 흄관규격, 석축높이, 수면지시선, 계량기(계)
