Graphisoft®

API Development KitVersion: 18

라이브러리 파트 서브타입

이 섹션은 ArchiCAD 8에서 도입된 라이브러리 파트 서브타입 개념의 개요를 제공합니다.

 

라이브러리 파트 글로벌 유일 ID

ArchiCAD 8부터 모든 라이브러리 파트는 유일한 식별자를 갖습니다. 즉, 라이브러리 파트를 저장하면 ID가 생성되고 라이브러리 파트 파일로 저장됩니다. 이 유일 ID는 2개 파트로 구성되어 있습니다: 메인(main) 및 개정(revision) GUID. 각각은 표준 128-비트 유일 ID 문자열입니다. 개정 GUID는 라이브러리 파트를 변경하고 재저장할 때 변경될 수 있습니다. 반면 메인 GUID는 라이브러리의 전체 수명 사이클 동안 계속 동일합니다.

이 식별에 의해 실제 이름이 무엇이든지 상관없이 특정 라이브러리 파트는 세계 어디에서나 참조될 수 있습니다.

 

서브타입 계층

새로운 라이브러리 파트를 생성할 때, 당신은 새로운 라이브러리 파트가 상속할 프로퍼티를 지정하는 부모 서브타입을 선택해야 합니다. 이 액션은 또한 서브타입 계층 트리 내에서 라이브러리 파트의 위치를 결정합니다. Root Object까지의 전체 조상 정보는 라이브러리 파트의 특수 섹션으로 저장됩니다. 그래서 나중에 계층을 재구성하는 것이 가능합니다.

이 그림은 표준 ArchiCAD 라이브러리의 조상 계층을 보여줍니다:

 

서브타입 노드는 라이브러리 파트 GUID에 의해 식별될 수 있습니다. 당신은 아래 리스트에서 내부 서브타입 템플릿의 유일 ID 정의들을 찾을 수 있습니다.

RootID              "{F938E33A-329D-4A36-BE3E-85E126820996}-{00000000-0000-0000-0000-000000000000}"

ModelElemID         "{103E8D2C-8230-42E1-9597-46F84CCE28C0}-{00000000-0000-0000-0000-000000000000}"
LightID             "{51A838E5-0F40-4F6D-A658-CF2845581749}-{00000000-0000-0000-0000-000000000000}"
OpeningID           "{6ACDA889-69B2-4EC5-936C-CB1DA7032A92}-{00000000-0000-0000-0000-000000000000}"
WallOpeningID       "{F6AE9687-2BC7-4D47-88C9-8F793E1DE2D6}-{00000000-0000-0000-0000-000000000000}"
WallDoorID          "{11E85B84-8DD1-491B-A2FE-337454A91545}-{00000000-0000-0000-0000-000000000000}"
WallWindowID        "{4ABD0A6E-634B-4931-B3AA-9BEE01F35CDF}-{00000000-0000-0000-0000-000000000000}"

PlanSignID          "{4FD10D67-2F29-4844-A65A-6597589B0CB5}-{00000000-0000-0000-0000-000000000000}"
ZoneStampID         "{A73622DE-E40A-4E63-ADB7-52D13422BD06}-{00000000-0000-0000-0000-000000000000}"
LabelID             "{BDB8C3EE-4019-46C8-91D0-7A8DE0A5EC6D}-{00000000-0000-0000-0000-000000000000}"

PropertiesID        "{8F157ABA-E5C9-48B6-9DCE-68F0F02A808E}-{00000000-0000-0000-0000-000000000000}"

WallEndID           "{0F059DC2-6053-11D7-9084-000393ABEA8E}-{00000000-0000-0000-0000-000000000000}"
StairID             "{57B7C584-5C0D-11D6-A0D8-036F034B6792}-{00000000-0000-0000-0000-000000000000}"

MarkerID            "{B3A106BF-6277-456E-8657-65B5C2D1C315}-{00000000-0000-0000-0000-000000000000}"
DetailMarkerID      "{BEE8F3CB-CF52-4029-9602-9B449461EF64}-{00000000-0000-0000-0000-000000000000}"
SectionMarkerID     "{930D0E3F-8BD2-4A54-A1F0-DAC3DB4531D4}-{00000000-0000-0000-0000-000000000000}"
WindowMarkerID      "{9C0F3C78-D2CB-4528-ADA2-703C8A09FC1A}-{00000000-0000-0000-0000-000000000000}"

EmptyDoorID         "{80E9BA91-1494-4E24-85A7-A092857FB5C8}-{00000000-0000-0000-0000-000000000000}"
EmptyWindowID       "{9647310C-5BD5-4874-8C3F-FEE520EC1820}-{00000000-0000-0000-0000-000000000000}"
BasicStampID        "{7E21C4B2-6113-4CDA-96C2-E658F17D9CA6}-{00000000-0000-0000-0000-000000000000}"

BasicSectMarkerID   "{E56F96A9-D028-477C-A21D-AC1225B15BDD}-{00000000-0000-0000-0000-000000000000}"
BasicDetailMarkerID "{0585F813-1620-476A-A6B4-9EAD75FC9F17}-{00000000-0000-0000-0000-000000000000}"
BasicWindowMarkerID "{036F7C0F-7E36-47B1-8B70-D0CD051029B6}-{00000000-0000-0000-0000-000000000000}"

SectionMarker70ID   "{13639454-0C08-4B20-94DA-8C9A5241DD56}-{00000000-0000-0000-0000-000000000000}"
WindowMarker70ID    "{C9A7085A-956D-4A59-A4F0-85B71215144A}-{00000000-0000-0000-0000-000000000000}"

 

당신이 라이브러리 파트를 참조할 필요가 있을 때마다, 당신은 또한 ArchiCAD의 Select Subtype 다이얼로그 박스로부터 복사하여 그것의 GUID 문자열을 가져올 수 있습니다.

당신은 또한 라이브러리 파트 GUID들로 조작하는 데 도움이 되는 함수들도 많이 갖고 있습니다. 다음을 참조하십시오: APIAny_GetBuiltInLibpartUnIdID, APIAny_CheckLibPartSubtypeOfID, APIAny_CompareLibPartUniqueIdsID, APIAny_GetElemCreatorToolUnIdID, and APIAny_SetEmptyHoleUnIdID.

 

툴박스로 서브타입 등록하기

당신은 또한 ArchiCAD 툴박스에 새로운 객체 타입들을 추가할 수도 있습니다. 당신이 ACAPI_Register_Subtype 함수로 서브타입을 등록할 때, 당신은 요소 데이터베이스를 고유 요소 기본값, 설정 다이얼로그, 심지어 툴박스 항목을 가진 새로운 요소 타입으로 확장합니다. 이 기능을 사용하면 당신의 애드온은 자신의 특수 객체들을 다른 객체들로부터 쉽게 구별할 수 있게 됩니다.

 

참고사항

라이브러리 파트 개요, 라이브러리 파트 관리자