오토캐드 속성 블록(Attribute Block) 완전 가이드 — ATTDEF부터 BOM 추출까지

AutoCAD · 속성 블록

처음 속성 블록이라는 걸 접했을 때, 솔직히 “그냥 텍스트 쓰면 되는 거 아닌가?” 싶었습니다. 그런데 도면 틀(Title Block)을 매번 새 프로젝트마다 손으로 수정하다 보면, 어느 순간 깨닫게 되더라고요 — “아, 이걸 좀 더 똑똑하게 관리할 방법이 있구나.”

“속성 블록 하나 잘 만들어두면, 도면 틀 수정부터 BOM 자동 추출까지 전부 해결됩니다.”

이번 글에서는 속성 블록의 개념, ATTDEF로 만드는 법, 수정 방법(더블클릭·ED·ATTEDIT), ATTSYNC 동기화, 그리고 DATAEXTRACTION으로 엑셀 BOM까지 뽑아내는 방법을 단계별로 정리해 보겠습니다.


1. 속성 블록(Attribute Block)이란?

일반적인 ‘블록’이 단순히 선과 원의 집합이라면, 속성 블록은 그 안에 ‘수정 가능한 문자 정보(데이터)’를 담고 있는 스마트한 블록입니다.

  • 핵심 개념: 블록을 삽입할 때마다 매번 다른 텍스트(부품 번호, 도면명, 규격 등)를 입력할 수 있도록 설정된 블록입니다.
  • 쉬운 비유: ‘빈칸 채우기 양식’이 포함된 도장이라고 생각하면 됩니다. 도장을 찍은 뒤 빈칸에 필요한 글자만 채워 넣는 방식이거든요.
💡 잠깐, 뭐가 ‘특별한’ 건지 정확히 짚고 갑시다

‘속성 블록’이라고 하면 마치 블록 자체가 무슨 특수한 종류인 것 같지만, 사실은 그렇지 않습니다. 블록은 그냥 평범한 블록이고, 진짜 특별한 건 그 안에 들어가는 ‘속성 정의(Attribute Definition)’라는 특수한 문자 객체입니다.

풀어서 설명하면 이렇습니다. ATTDEF 명령어로 만드는 것은 일종의 ‘입력 폼이 달린 특수 텍스트’입니다. 이 특수 텍스트를 선이나 원 같은 형상과 함께 BLOCK으로 묶으면 그때 비로소 ‘속성 블록’이 되는 겁니다. 즉, 속성 블록 = 일반 블록 + 속성 정의 문자인 셈이거든요.

이 구조를 이해하고 나면 나중에 EXPLODE(분해)나 ATTSYNC(동기화)같은 명령어의 동작 방식도 훨씬 직관적으로 이해할 수 있습니다.


2. 속성 블록을 사용하는 이유

  • 데이터 일관성 유지: 도면 틀(Title Block)이나 부품 번호 기입 시 동일한 글꼴과 위치를 유지할 수 있습니다. 여러 사람이 작업하더라도 양식이 흐트러지지 않습니다.
  • 일괄 수정 및 관리: BATTMAN(블록 속성 관리자) 명령어를 통해 수백 개의 블록 속성을 한꺼번에 제어할 수 있습니다.
  • 데이터 추출 기능: 도면에 입력된 속성 정보(부품명, 수량, 가격 등)를 엑셀(Excel)로 추출하여 BOM(자재명세서)을 자동으로 만들 수 있습니다. 이게 속성 블록의 가장 강력한 장점입니다.
💡 실무 현장에서는?

속성 블록은 주로 도면 틀(Title Block)이나 대량 생산 부품의 BOM 관리에 많이 활용됩니다. 반면, 지그(Jig) 설계처럼 부품 수가 적고 빠른 수정이 중요한 분야에서는 일반 단일 텍스트(DT)를 직접 수정하는 편이 훨씬 빠르기 때문에 잘 사용하지 않는 경우도 많습니다. 업무 특성에 맞게 선택하면 됩니다.


3. 속성 블록 만드는 법 (단계별 가이드)

Step 1: 속성 정의 (명령어: ATTDEF)

가장 먼저 블록 내부에 들어갈 문자 틀(속성 정의)을 만들어야 합니다.

  1. 명령창에 ATTDEF를 입력합니다.
  2. 태그(Tag): 속성의 식별자입니다. (예: PART_NO) 공백은 사용할 수 없습니다.
  3. 프롬프트(Prompt): 블록 삽입 시 사용자에게 띄울 질문입니다. (예: “부품 번호를 입력하세요”)
  4. 기본값(Default): 아무것도 입력하지 않았을 때 자동으로 들어갈 기본 내용입니다.
  5. 텍스트 설정(글꼴, 높이, 정렬)을 마친 후 확인을 누르고 화면에 배치합니다.
💡 단일행만 되나요? 다중행도 됩니다

기본적으로 ATTDEF로 생성된 문자는 단일행 문자(DTEXT)와 유사한 성격을 가집니다. 하지만 속성 정의 창(ATTDEF) 좌측 하단의 모드(Mode) 설정에서 ‘여러 줄(Multiple lines)’ 옵션을 체크하면, 다중행 문자(MTEXT)처럼 여러 줄을 입력할 수 있는 속성을 만들 수 있습니다.

💡 기존 텍스트를 속성으로 변환할 수 있나요?

아쉽게도 오토캐드 기본 명령어 중에는 일반 문자를 속성 정의로 한 번에 변환해 주는 기능이 없습니다. 원칙적으로는 ATTDEF 명령어로 속성을 새로 만들고 기존 문자를 지워야 합니다.

실무에서는 이런 번거로움을 해결하기 위해 텍스트를 속성으로 바꿔주는 무료 리습(LISP) 프로그램인 TXT2ATT 등을 활용하는 경우가 많습니다.


Step 2: 블록 제작 (명령어: BLOCK)

작성한 속성 문자와 함께 블록으로 묶어줍니다.

  1. 명령창에 BLOCK (또는 B)을 입력합니다.
  2. 블록 이름을 지정하고 기준점(Base Point)을 잡습니다.
  3. 객체 선택: 그려둔 형상(원, 사각형 등)과 방금 만든 속성 문자를 함께 선택합니다.
💡 선택 순서가 중요합니다

여러 속성을 선택할 때는 선택하는 순서대로 나중에 입력창이 나타납니다. 부품 번호 → 부품명 → 재질 순으로 입력받고 싶다면 그 순서대로 클릭하면 됩니다.


Step 3: 블록 삽입 (명령어: INSERT)

만든 블록을 도면에 불러와 확인해 봅니다.

  1. INSERT (또는 I) 명령어로 블록을 삽입합니다.
  2. 클릭하는 순간 정보를 입력하라는 팝업창(또는 명령행 프롬프트)이 뜹니다.
  3. 원하는 내용을 입력하면 완료!

Step 4: 속성 텍스트 수정하기 (더블클릭 · ED · ATTEDIT)

이미 삽입이 끝난 속성 블록의 내용을 나중에 다시 수정하고 싶다면 아주 간단합니다. 방법이 세 가지나 있는데, 셋 다 결국 같은 편집 창을 띄워주는 동일한 역할을 합니다.

  • 더블클릭: 삽입된 속성 블록을 마우스로 더블클릭하면 ‘고급 속성 편집기(Enhanced Attribute Editor)’가 열려 즉시 텍스트를 변경할 수 있습니다. 가장 직관적이고 빠른 방법이라 실무에서 제일 많이 쓰더라고요.
  • ATTEDIT (단축키 ATE): 속성 블록 편집의 정석 명령어입니다. ATTEDIT를 입력한 뒤 속성 블록을 클릭하면 동일한 편집 창이 나타납니다.
  • ED (DDEDIT): 문자 편집 단축키인 ED를 입력한 뒤 속성 블록을 클릭해도 같은 결과입니다.
💡 실무에서는 더블클릭이 제일 빠릅니다

명령어를 외울 필요 없이, 수정하고 싶은 속성 블록을 그냥 두 번 클릭하면 됩니다. 대부분의 현장 엔지니어들이 이 방법을 가장 많이 사용합니다.


Step 5: 속성 구조를 변경했다면? — ATTSYNC 필수! ⚠️

이미 도면에 여러 개가 삽입되어 있는 기존 속성 블록을 열어(블록 편집기 BEDIT 등) 새로운 속성 문자를 추가하거나 기존 속성을 삭제하는 등 블록의 ‘구조’ 자체를 변경했다면 주의해야 할 점이 있습니다.

블록 편집을 저장하고 나오더라도, 이미 도면에 깔려 있던 기존 블록들에는 변경된 속성이 자동으로 업데이트되지 않습니다. 이것 때문에 처음에 당황하시는 분들이 정말 많더라고요.

이럴 때 ATTSYNC (속성 동기화) 명령어를 1회 실행해 주어야 도면 내 기존 블록들에도 구조 변경 사항이 일괄 적용됩니다.

  • 실행 방법: ATTSYNC 입력 → S (선택) → 동기화할 블록 객체 클릭 → Y (예)
⚠️ 이 옵션은 꼭 기억하세요

속성 블록의 구조(태그 추가·삭제)를 변경한 뒤 ATTSYNC를 잊으면, 기존 블록은 옛날 양식 그대로 남아 있고 새로 삽입한 블록만 새 양식이 적용되어 도면 전체가 뒤죽박죽이 됩니다. 블록 구조를 손봤다면 반드시 ATTSYNC를 한 번 실행해 주세요.


Step 6: 속성 블록을 EXPLODE(분해)했을 때 — 내용 유지 방법

속성 블록을 EXPLODE(분해, 단축키 X)로 깨뜨리면, 블록 안에 들어 있던 속성 텍스트는 어떻게 될까요?

결론부터 말하면, 블록을 분해하면 속성 텍스트의 ‘입력된 내용’은 사라지고 원래의 속성 정의(태그 이름) 상태로 되돌아갑니다. 예를 들어 태그가 PART_NO이고 “SH-1234″라고 입력해 뒀다면, EXPLODE 후에는 “SH-1234” 대신 “PART_NO”라는 태그명만 남게 되는 거죠. 이걸 모르고 분해하면 입력해둔 데이터를 전부 날릴 수 있습니다.

내용을 유지한 채 분해하고 싶다면?

  • BURST 명령어 사용: BURST는 Express Tools에 포함된 명령어로, 블록을 분해하면서 속성에 입력된 내용을 일반 텍스트로 변환하여 그대로 유지해 줍니다. EXPLODE 대신 BURST를 쓰면 “SH-1234″가 단일행 텍스트(DTEXT)로 살아남습니다.
  • Express Tools가 없다면: 분해 전에 속성 내용을 미리 메모해두거나, 분해 직후 Ctrl+Z(실행 취소)로 되돌릴 수 있도록 준비해 두세요.
⚠️ EXPLODE vs BURST 차이 정리

EXPLODE: 블록 분해 → 속성 텍스트의 입력 내용이 사라지고 태그명으로 되돌아감
BURST: 블록 분해 → 속성 텍스트의 입력 내용이 일반 텍스트로 변환되어 그대로 유지됨
속성 블록을 꼭 깨야 하는 상황이라면, EXPLODE 대신 BURST를 습관적으로 사용하는 것을 추천합니다.


Step 7: 속성 데이터를 엑셀로 추출하기 — BOM 작성 (명령어: DATAEXTRACTION)

속성 블록이 가진 최고의 장점 중 하나는, 도면 여기저기에 흩어진 수많은 속성 데이터(부품 번호, 수량, 이름, 재질 등)를 단 한 번에 엑셀(Excel) 파일이나 도면 내 표(Table)로 쭉 뽑아낼 수 있다는 것입니다.

  • 실행 방법: 명령어 DATAEXTRACTION (단축키 DX)을 입력하면 ‘데이터 추출 마법사’ 창이 뜹니다. 화면의 안내에 따라 도면 내의 블록을 선택하고, 필요한 속성 정보(Tag)만 체크해서 외부 파일(.xls 등)로 뽑아내면 자재명세서(BOM)가 자동으로 완성됩니다.
💡 실무에서는 이렇게 활용합니다

동일한 속성 블록을 복사(Copy)해서 도면에 배치하기만 하면, 추출 마법사에서 알아서 같은 부품의 개수(Count)를 합산하여 깔끔한 집계표를 만들어 줍니다. 부품 수량을 사람이 하나하나 세던 시절과 비교하면 업무 효율이 비교할 수 없을 정도로 올라갑니다.


4. 속성 블록 관련 명령어 한눈에 보기

명령어 단축키 기능
ATTDEF ATT 속성 정의 — 블록 안에 넣을 문자 틀 생성
ATTEDIT ATE 개별 속성 블록의 내용을 수정할 때 사용
BATTMAN 블록 속성 관리자 — 태그 순서 변경이나 속성 일괄 동기화 시 필수
ATTSYNC 블록 정의 변경 후 기존에 삽입된 블록들에 속성을 강제 적용(동기화)
DATAEXTRACTION DX 도면 내 속성 정보를 엑셀이나 테이블로 추출 (BOM 작성용)
BURST 속성 블록을 분해하면서 입력된 내용을 일반 텍스트로 유지 (Express Tools)

마치며

속성 블록은 처음 세팅하는 데 시간이 좀 들지만, 한 번 잘 만들어 놓으면 도면 관리가 훨씬 체계적으로 바뀝니다. 핵심만 다시 정리하면 이렇습니다.

  • ATTDEF로 속성 정의 → BLOCK으로 블록 제작 → INSERT로 삽입
  • 내용 수정은 더블클릭이 가장 빠르고, ATTEDIT이나 ED도 동일한 역할
  • 속성의 구조(태그)를 추가·삭제했다면 반드시 ATTSYNC를 1회 실행
  • 블록을 깨야 한다면 EXPLODE 대신 BURST를 써야 입력 내용이 유지됨
  • DATAEXTRACTION으로 엑셀 BOM 추출까지 자동화 가능

다만 지그 설계처럼 부품 수가 적고 빠른 수정이 핵심인 작업에서는 솔직히 단일 텍스트(DT)를 직접 고치는 게 더 빠릅니다. 업무 특성에 맞게 판단하시면 됩니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤