글 목록

2017년 6월 16일 금요일

AutoCAD_복잡한 선종류 (Complex linetype) - 1

선종류(linetype)는 도면에서 실선, 숨긴선 등 다양한 선들을 다양한 의미로 표현하기 위해 쓰이는 기능입니다. 오토캐드에선 기본적으로 acad.lin이라는 파일을 제공하며 그안의 선종류들을 쓰거나 수정해서 쓸수 있도록 되어있습니다. 하지만 작업하다보면 기본으로 제공되는 선 뿐만아니라 상황에 따라 다른 종류의 선들도 필요한 경우가 생깁니다. 그래서 lin파일의 구조와 Lintype 만드는 방법을 알아보겠습니다.



Linetype에 쓰이는 확장자 파일


.lin - Linetype deifinition 이라고 불리는 linetype 정보가 ASCII코드로 저장된 파일
.shp - shape 정보가 담긴 파일
.shx - shpae를 CAD에서 쓸수있도록 compile된 파일



Complex linetype 구조 1


Linetype을 만들기 위해서는 Lin파일 안에서 ASCII코드형태로 제작해야합니다.
예시로 오토캐드에서 제공하는 acad.lin 안에 있는 DASHDOT 으로 설명해보겠습니다.

DASHDOT 

*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . _
A,.5,-.25,0,-.25

* - linetype임을 알리는 문자
DASHDOT - linetype의 이름
Dash dot  - linetype의 설명, 47글자를 초과할수 없다. 공백으로 표시해도 됩니다.
A - Type alignment로써 A type을 쓰고있습니다.
.5 - 첫번째 segment길이
-.25 - 공백의 길이 (공백은 음수로 표현한다.)
0 - 점 (점은 값 0 으로 표현한다.)
-.25 - 공백의길이

각 길이의값은 도면의 단위가 무엇이든지 절대값으로 표현됩니다.

※ Type alignment


Atype

Atype - Dash가 시작점과 끝점에서  끝내도록 정렬됩니다.
이미지를 보다시피 모서리부분에 선의 시작점이 Dash, 선의 끝점도 Dash로 정렬됩니다.


Stype

Stype - Dash가 시작점, Dot이 끝점이 되도록 정렬됩니다.
이미지를 보다시피 선의 시작점은 Dash, 선의 끝점은 Dot(또는 공백) 이여서 선이 서로만나는 부분이 하나의 선처럼 깔끔하게 이어집니다.



Complex linetype 구조 2


linetype에는 선만 넣을 수 있는게 아니라 TEXT또는 모형이 들어가는 경우도 많습니다.
TEXT가 들어가는 경우에는 TEXT에 지정해준 TEXT style과 일치되야 합니다.


Text Style의 Height

TEXT style의 높이값이 Linetype의 Text 높이값에 영향주기때문에 0으로 설정해놓는 것이 좋습니다. 물론 처음부터 기본 높이값을 다르게 하고 싶다면 0 이상의 값을 설정해도 좋습니다.
TEXT가 들어가는 경우는 acad.lin파일안에있는 GAS_LINE 으로 설명해 보겠습니다.


GAS_LINE

*GAS_LINE,Gas line ----GAS----GAS----GAS----GAS----GAS----GAS--

A,.5,-.2,["GAS",STANDARD,S=.1,U=0.0,X=-0.1,Y=-.05],-.25



- linetype을 알리는 문자
GAS_LINE - linetype의 이름
gas line --  - linetype의 설명, 47글자를 초과할수 없다. 공백으로 표시해도 됩니다.

A - Type alignment로써 A type을 쓰고있습니다.
.5 - 첫번째 segment길이

-.2 - 공백의 길이 (공백은 음수로 표현한다.)

[ ] - 외부 정보를 불러올때 써야합니다.
"GAS" - TEXT 내용
STANDARD - TEXT Style, STANDARD는 절대 지울수없는 Style이라 오류 걱정 안해도됩니다.
S - TEXT의 Scale
U - ARC와 같은 곡선 위에 있는 Text의경우 문자의 뒤집힘을 막아줍니다.
X - TEXT의 X값 Offset
Y - TEXT의 Y값 Offset
-.25 - 공백의 길이 (공백은 음수로 표현한다.)


Complex linetype 구조 3


위에 예시를 따라하며 TEXT가 Standard의 글꼴에 영향을 받는 것을 볼수 있습니다. 그래서
특수한 Text style의 글꼴을 응용해서 더 다양한 linetype만들 수 있습니다.
Wingdings 글꼴의 경우 문자가 특수문자로 바뀌는 글꼴을 이용한 것 입니다.
이경우도 반드시 TEXT Style과 문자가 일치되어야 합니다.

WINGDIGNS

*WINGDIGNS
S,8,-.6,["a",WIng,y=-.5,s=1,u=0,r=90],-2.4

- linetype을 알리는 문자
WINGDIGNS - linetype의 이름
SType alignment로써 S type을 쓰고있습니다.
8 - 첫번째 segment 길이
-.6 - 공백의 길이 (공백은 음수로 표현한다.)
[ ] - 외부 정보를 불러올때 써야합니다.
"a" - TEXT 내용
Wing - TEXT Style 
Y - TEXT의 Y값 Offset
S - TEXT의 Scale
U - ARC와 같은 곡선 위에 있는 Text의경우 문자의 뒤집힘을 막아줍니다.
R - TEXT의 Rotation
-2.4공백의 길이 (공백은 음수로 표현한다.)




Complex linetype 구조 4


Linetype에는 TEXT뿐만아니라 Shape 정보도 넣을 수 있습니다.
대신 Shape는 반드시 SHX파일로 컴파일된 정보를 사용해야 합니다.
예시는 acad.lin파일 안에있는 TRACKS 로 해보겠습니다.

TRACKS

*TRACKS,Tracks -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-

A,.15,[TRACK1,ltypeshp.shx,s=.25],.15


- linetype을 알리는 문자
TRACKS - linetype의 이름
Tracks -l... - linetype의 설명, 47글자를 초과할수 없다. 공백으로 표시해도 됩니다.
A - Type alignment로써 A type을 쓰고있습니다.
.15 - 첫번째 segment 길이
[ ] - 외부 정보를 불러올때 써야합니다.
TRACK1 - Shape의 이름
ltypeshp.shx - 정보를 불러올 컴파일된 shape파일
s - Shape의 scale
.15 - 두번째 Segment 길이

댓글 2개: