오토캐드 속성 블록 만들기 (ATTDEF)

오토캐드에서 BLOCK 명령어를 이용하면 여러 객체를 하나의 블록으로 만들어 반복해서 사용할 수 있습니다.

하지만 일반 블록 안에 TEXT로 문자를 넣으면 블록을 삽입할 때마다 원하는 내용으로 간단하게 바꾸기에는 불편할 수 있습니다.

예를 들어 도면에 다음과 같은 부품번호를 반복해서 넣는다고 생각해보겠습니다.

1번 부품

2번 부품

3번 부품

모양은 모두 같고 숫자만 달라져야 한다면 번호마다 별도의 블록을 만드는 것은 비효율적입니다.

이럴 때 사용하는 기능이 속성(Attribute)이며, 속성을 정의할 때 사용하는 대표적인 명령어가 ATTDEF입니다.

이번 글에서는 오토캐드 ATTDEF 사용법부터 속성 블록 만드는 방법, 블록 삽입 후 속성값을 변경하는 방법까지 알아보겠습니다.


오토캐드 속성 블록이란?

속성 블록을 이해하려면 먼저 일반 블록과의 차이를 알아두는 것이 좋습니다.

예를 들어 원 안에 숫자 1이 들어간 부품번호 기호를 일반 블록으로 만들었다고 가정해보겠습니다.

블록을 복사하면 기본적으로 같은 형태와 내용이 반복됩니다.

하지만 실제 도면에서는

처럼 블록의 모양은 동일하게 유지하면서 숫자만 다르게 표시해야 할 수 있습니다.

이럴 때 숫자 부분을 Attribute, 즉 속성으로 정의하면 됩니다.

속성 블록은 쉽게 말해

블록의 모양은 그대로 유지하면서 특정 문자나 값을 각각 다르게 입력할 수 있는 블록

이라고 이해하면 됩니다.


ATTDEF란?

ATTDEFAttribute Definition의 약자로 블록에 포함할 속성 정의를 만드는 명령어입니다.

명령창에

ATTDEF

를 입력하고 Enter를 누르면 속성 정의와 관련된 설정 화면이 나타납니다.

여기에서 대표적으로 설정하는 항목은 다음과 같습니다.

  • Tag
  • Prompt
  • Default
  • 문자 위치
  • 문자 높이
  • 문자 스타일
  • 정렬 방식
  • 속성 모드

처음 보면 항목이 많아 복잡해 보이지만 Tag, Prompt, Default 세 가지 개념부터 이해하면 ATTDEF를 사용하기 어렵지 않습니다.


ATTDEF Tag란?

Tag(태그)는 해당 속성을 구분하는 이름입니다.

예를 들어 부품번호를 입력하는 속성이라면

PART_NO

처럼 지정할 수 있습니다.

도면에 표시되는 실제 부품번호가 아니라 속성의 이름표라고 생각하면 쉽습니다.

예를 들어 여러 속성이 포함된 블록이라면

PART_NO

PART_NAME

MATERIAL

처럼 각각의 속성을 구분할 수 있습니다.

속성 블록을 나중에 수정하거나 데이터를 관리할 때도 Tag를 이용해 각각의 속성을 구분하기 때문에 알아보기 쉬운 이름을 사용하는 것이 좋습니다.


Prompt란?

Prompt(프롬프트)는 블록을 삽입할 때 사용자에게 어떤 값을 입력해야 하는지 알려주는 안내 문구입니다.

예를 들어 Tag가

PART_NO

라면 Prompt는

부품번호를 입력하세요

처럼 설정할 수 있습니다.

그러면 블록을 삽입할 때 부품번호를 입력하도록 안내할 수 있습니다.

즉,

Tag = CAD 내부에서 속성을 구분하는 이름

Prompt = 사용자에게 보여주는 입력 안내

라고 생각하면 이해하기 쉽습니다.


Default란?

Default(기본값)는 별도의 값을 입력하지 않았을 때 사용할 기본 내용을 의미합니다.

예를 들어 부품번호 속성의 기본값을

1

로 지정할 수 있습니다.

블록을 삽입할 때 다른 값을 입력하면 해당 값으로 변경되고 기본값을 그대로 사용하면 설정된 내용이 표시됩니다.

반복적으로 사용하는 기본 문자가 있다면 Default를 설정해두면 편리합니다.


오토캐드 속성 블록 만드는 방법

이제 실제로 간단한 원형 부품번호 블록을 만들어보겠습니다.

목표는 다음과 같습니다.

원형 기호 안에 숫자가 들어가고 블록을 삽입할 때마다

1

2

3

처럼 숫자를 변경할 수 있도록 만드는 것입니다.


1. 블록으로 사용할 도형 그리기

먼저

CIRCLE

명령어를 이용해 원을 하나 그립니다.

이 원이 부품번호를 둘러싸는 풍선 모양이 됩니다.

원 크기는 실제 도면에서 사용할 문자 크기와 출력 축척 등을 고려해서 지정합니다.

처음 연습할 때는 정확한 크기에 너무 신경 쓰기보다 기능을 익히는 데 집중해도 됩니다.


2. ATTDEF 실행하기

명령창에

ATTDEF

를 입력하고 Enter를 누릅니다.

속성 정의 화면이 나타나면 필요한 내용을 입력합니다.

부품번호를 만든다고 가정하면 다음처럼 설정할 수 있습니다.

Tag

PART_NO

Prompt

부품번호를 입력하세요

Default

1

이렇게 설정하면 PART_NO라는 이름의 속성이 만들어지고 블록을 사용할 때 부품번호를 입력할 수 있습니다.


3. 문자 높이 설정하기

ATTDEF에서는 속성 문자의 높이도 설정할 수 있습니다.

원형 블록 안에 숫자를 표시한다면 원 크기에 맞춰 문자 높이를 지정합니다.

문자가 너무 크면 원 밖으로 튀어나올 수 있고 너무 작으면 출력했을 때 알아보기 어렵습니다.

따라서 실제 블록 크기와 도면 축척에 맞게 조절하는 것이 좋습니다.


4. 문자 정렬 설정하기

원 가운데 숫자를 넣어야 한다면 문자 정렬(Justification) 설정도 중요합니다.

속성 문자를 가운데에 배치할 수 있도록 적절한 정렬 방식을 선택한 다음 원의 중심을 기준으로 위치를 지정합니다.

이렇게 해두면

1

에서

10

이나

100

처럼 문자 길이가 달라지더라도 위치를 관리하기가 훨씬 편리합니다.

특히 부품번호나 풍선번호를 만들 때는 속성의 정렬 설정을 꼼꼼하게 확인하는 것이 좋습니다.


5. 속성 위치 지정하기

ATTDEF 설정을 완료하면 도면에서 속성 문자를 배치할 위치를 지정합니다.

앞서 만든 원형 부품번호라면 원의 중심 부분에 배치하면 됩니다.

이제 화면에는 일반 문자와 비슷하게 1 또는 설정한 기본값이 표시됩니다.

하지만 이것은 단순한 TEXT가 아니라 속성 정의 객체입니다.


6. BLOCK 명령어 실행하기

도형과 속성 정의를 만들었다면 이제 하나의 블록으로 묶어야 합니다.

명령창에

BLOCK

을 입력하고 Enter를 누릅니다.

블록 이름을 입력합니다.

예를 들어

PART_NO

또는

BALLOON_NO

처럼 용도를 알아보기 쉬운 이름을 지정합니다.


7. 블록 기준점 지정하기

블록을 만들 때는 Base Point(기준점)도 지정해야 합니다.

원형 부품번호라면 보통 원의 중심을 기준점으로 지정하면 관리하기 편리합니다.

다만 이후 MLEADER와 연결하는 등 사용 목적에 따라 적절한 기준점은 달라질 수 있습니다.

블록을 만들 때 기준점을 아무 곳이나 지정하면 나중에 삽입하거나 이동할 때 불편할 수 있으므로 주의합니다.


8. 객체와 ATTDEF를 함께 선택하기

블록에 포함할 객체를 선택합니다.

여기서 중요한 부분은 원만 선택하면 안 된다는 것입니다.

원과 함께 앞에서 만든 ATTDEF 속성 정의 객체도 반드시 선택해야 합니다.

즉,

원 + ATTDEF

두 객체를 함께 선택해서 하나의 블록으로 만듭니다.

확인을 누르면 속성이 포함된 블록이 완성됩니다.


속성 블록 제대로 만들어졌는지 확인하기

이제 실제로 블록을 삽입해보겠습니다.

INSERT

명령어를 이용해 방금 만든 블록을 선택합니다.

블록을 삽입하는 과정에서 속성값을 입력할 수 있습니다.

예를 들어

1

을 입력해 첫 번째 블록을 만들고 다시 삽입해서

2

를 입력하면 같은 모양의 블록이지만 번호는 다르게 표시할 수 있습니다.

이것이 일반 블록과 속성 블록의 가장 큰 차이입니다.


같은 블록인데 번호를 다르게 표시할 수 있다

속성 블록을 사용하면 블록 정의는 하나만 유지하면서 각 블록 참조마다 다른 값을 사용할 수 있습니다.

예를 들어

PART_NO 블록

하나만 만들어 놓고 도면에서는

처럼 각각 다른 번호로 사용할 수 있습니다.

따라서 부품번호마다

PART_01

PART_02

PART_03

처럼 별도의 블록을 만들 필요가 없습니다.

부품번호가 많아질수록 속성 블록을 사용하는 것이 훨씬 효율적입니다.


이미 삽입한 속성값 수정하기

속성 블록을 삽입한 후 번호를 잘못 입력했다고 해서 블록을 삭제하고 다시 만들 필요는 없습니다.

속성이 포함된 블록을 더블클릭하면 속성값을 편집할 수 있는 관련 화면을 이용할 수 있습니다.

또는 객체를 선택하고

Ctrl + 1

을 눌러 특성(Properties) 창에서 속성 관련 값을 확인하고 수정할 수도 있습니다.

따라서

3

이라고 입력했던 번호를

5

로 바꿔야 한다면 기존 블록의 속성값만 변경하면 됩니다.


EATTEDIT 명령어 활용하기

속성 블록을 편집할 때 알아두면 좋은 명령어가

EATTEDIT

입니다.

속성이 포함된 블록을 선택하고 속성값을 편집할 때 사용할 수 있습니다.

부품번호뿐 아니라 여러 속성이 포함된 블록이라면 각 속성의 값을 확인하고 수정하는 데 유용합니다.

속성 블록을 자주 사용하는 경우 알아두면 편리한 명령어입니다.


여러 개의 속성을 하나의 블록에 넣는 방법

ATTDEF는 블록 하나에 하나만 사용할 수 있는 것이 아닙니다.

필요하다면 여러 개의 속성을 만들 수 있습니다.

예를 들어 부품 정보 블록에 다음과 같은 값을 넣는다고 가정해보겠습니다.

부품번호

PART_NO

부품명

PART_NAME

재질

MATERIAL

각 항목마다 ATTDEF를 하나씩 만들어 배치한 다음 모든 도형과 속성 정의를 함께 선택해 하나의 BLOCK으로 만들면 됩니다.

이후 블록을 삽입하면서 각 속성값을 입력할 수 있습니다.

이 방법은 부품정보표, 도면 표제란 등 반복되는 양식에도 활용할 수 있습니다.


ATTDEF 속성 모드 알아보기

ATTDEF 화면에는 속성의 동작 방식을 결정하는 여러 옵션도 있습니다.

AutoCAD 버전에 따라 화면 구성이나 명칭은 조금씩 다를 수 있지만 대표적인 개념은 다음과 같습니다.

Invisible

속성값은 가지고 있지만 도면 화면에는 표시하지 않는 방식입니다.

화면에는 보이지 않아도 블록 데이터로 값을 관리해야 할 때 활용할 수 있습니다.

Constant

속성값을 고정해서 사용하는 방식입니다.

블록마다 다른 값을 입력할 필요가 없는 항목에 사용할 수 있습니다.

Verify

속성값 입력 과정에서 내용을 다시 확인하도록 하는 옵션입니다.

Preset

미리 설정된 값을 활용하는 방식입니다.

속성 블록의 목적에 따라 필요한 옵션만 사용하면 됩니다.

처음 속성 블록을 배우는 경우에는 기본적인 Tag, Prompt, Default부터 익힌 뒤 필요할 때 추가 옵션을 사용하는 것이 좋습니다.


속성 블록 수정 후 기존 블록에 반영되지 않을 때

실무에서 자주 겪는 문제가 있습니다.

블록 편집기를 이용해 ATTDEF를 추가하거나 속성 정의를 수정했는데 이미 도면에 삽입되어 있던 기존 블록에는 변경 사항이 제대로 반영되지 않는 경우입니다.

이럴 때 알아두면 좋은 명령어가

ATTSYNC

입니다.

ATTSYNC는 변경된 블록의 속성 정의를 기존 블록 참조에 동기화할 때 사용합니다.

즉,

블록 속성 정의 수정

ATTSYNC 실행

기존 블록에 속성 정의 동기화

와 같은 방식으로 사용할 수 있습니다.

속성 블록을 자주 수정하는 작업 환경이라면 ATTDEF와 함께 기억해두면 매우 유용합니다.


ATTDEF와 TEXT 차이

처음 사용하는 분들이 가장 헷갈리는 부분 중 하나입니다.

TEXT

일반적인 문자를 작성합니다.

블록 안에 넣을 수 있지만 기본적으로 블록의 일반 객체로 사용됩니다.

ATTDEF

블록에서 사용할 변경 가능한 속성값의 정의를 만듭니다.

따라서 블록마다 서로 다른 번호나 이름, 재질 등을 입력해야 한다면 TEXT보다 ATTDEF를 사용하는 것이 적합합니다.

간단하게 정리하면

항상 같은 문자

→ TEXT

블록마다 달라지는 문자나 데이터

→ ATTDEF

라고 생각하면 이해하기 쉽습니다.


ATTDEF와 ATTRIBUTE 차이

오토캐드를 사용하다 보면 Attribute라는 용어와 ATTDEF가 함께 등장합니다.

Attribute

블록에 포함되어 관리되는 속성값을 의미합니다.

ATTDEF

그 속성이 어떤 이름과 기본값, 표시 형태를 가질 것인지 정의하는 명령어입니다.

즉, ATTDEF로 속성 정의를 만들고 그것을 BLOCK에 포함시키면 실제로 값을 입력할 수 있는 속성 블록이 만들어지는 구조입니다.


MLEADER 블록 지시선에도 활용 가능

ATTDEF로 만든 속성 블록은 MLEADER와 함께 활용할 수도 있습니다.

예를 들어 원 안에 부품번호가 들어가는 속성 블록을 만든 다음

MLEADERSTYLE

에서 콘텐츠 유형을 Block으로 설정하고 해당 블록을 지정할 수 있습니다.

그러면 화살표 끝에 부품번호 블록이 표시되는 MLEADER 블록 지시선을 만들 수 있습니다.

기계 조립도에서 풍선번호를 표시할 때 활용하기 좋은 방법입니다.

즉,

ATTDEF

→ 변경 가능한 번호 만들기

BLOCK

→ 번호와 원을 하나의 블록으로 만들기

MLEADERSTYLE

→ 해당 블록을 지시선 콘텐츠로 설정

MLEADER

→ 실제 부품번호 지시선 작성

순서로 연결해서 활용할 수 있습니다.


속성 블록이 제대로 작동하지 않을 때

ATTDEF로 속성을 만들었는데 블록 삽입 시 값을 입력할 수 없다면 몇 가지 부분을 확인해보는 것이 좋습니다.

먼저 ATTDEF 객체가 실제로 블록 안에 포함되어 있는지 확인합니다.

도형만 선택해서 BLOCK으로 만들고 ATTDEF를 선택하지 않았다면 속성 블록이 만들어지지 않습니다.

또한 속성 모드에서 Constant 등 입력 방식에 영향을 주는 옵션이 설정되어 있는지도 확인합니다.

기존 블록의 속성 정의를 변경했다면 ATTSYNC가 필요한지도 확인합니다.


오토캐드 ATTDEF 사용 순서 요약

가장 기본적인 속성 블록 만드는 방법을 다시 정리해보겠습니다.

① 블록으로 사용할 도형을 그립니다.

ATTDEF를 입력합니다.

③ Tag를 지정합니다.

④ Prompt를 입력합니다.

⑤ Default 값을 설정합니다.

⑥ 문자 높이와 정렬을 설정합니다.

⑦ 도면에서 속성 위치를 지정합니다.

BLOCK을 실행합니다.

⑨ 기준점을 지정합니다.

⑩ 도형과 ATTDEF를 모두 선택합니다.

⑪ 블록을 완성합니다.

INSERT로 삽입하면서 속성값을 입력합니다.

이 과정만 익혀두면 번호나 문자 내용이 달라지는 다양한 블록을 만들 수 있습니다.


속성 블록 관련 명령어 정리

속성 블록 작업에서 알아두면 좋은 명령어를 정리하면 다음과 같습니다.

ATTDEF

블록에 사용할 속성 정의를 만듭니다.

BLOCK

도형과 속성 정의를 하나의 블록으로 만듭니다.

INSERT

만들어진 블록을 도면에 삽입합니다.

EATTEDIT

블록에 포함된 속성값을 편집할 때 활용합니다.

ATTSYNC

변경된 속성 정의를 기존 블록 참조에 동기화할 때 사용합니다.

BEDIT

블록 편집기를 열어 블록 정의를 수정할 때 사용합니다.

PROPERTIES

객체의 특성을 확인하거나 속성 관련 값을 수정할 때 활용할 수 있습니다.

단축키는 Ctrl + 1입니다.


마무리

오토캐드에서 모양은 동일하지만 번호나 이름처럼 내용만 달라지는 블록을 만들어야 한다면 ATTDEF를 이용한 속성 블록을 활용하면 편리합니다.

핵심적인 과정은

ATTDEF로 속성 정의 만들기 → 도형과 ATTDEF를 함께 BLOCK으로 만들기 → 블록을 삽입하면서 속성값 입력

입니다.

ATTDEF에서는 특히 Tag, Prompt, Default의 차이를 이해하는 것이 중요합니다.

Tag는 속성을 구분하는 이름이고, Prompt는 값을 입력할 때 보여주는 안내 문구이며, Default는 기본적으로 사용할 값입니다.

또한 블록의 속성 정의를 나중에 변경했다면 기존 블록에 변경 사항을 반영하기 위해 ATTSYNC를 활용할 수 있습니다.

ATTDEF를 익혀두면 단순한 부품번호뿐 아니라 도면 표제란, 장비번호, 부품명, 재질 정보 등 반복적으로 사용되는 다양한 정보를 블록으로 관리할 수 있습니다.

특히 앞서 살펴본 MLEADER 블록 지시선과 결합하면 부품번호나 풍선번호를 화살표와 함께 표시할 수 있어 기계도면이나 조립도 작업에서도 유용하게 활용할 수 있습니다.

댓글 남기기