ACAPI_Attribute_Create
속성을 생성합니다.
GSErrCode ACAPI_Attribute_Create ( API_Attribute* attribute, API_AttributeDef* defs );
파라미터
- attribute
- [in/out] 속성의 파라미터들입니다.
속성의 타입은 반드시 속성 헤더의
typeID
필드에 전달되어야 합니다. 속성 헤더의 인덱스 필드는 새로 생성된 속성에 대한 참조 인덱스를 리턴하기 위한 출력 파라미터로 사용됩니다. - defs
- [in] 속성의 추가 파라미터들입니다. 속성의 타입에 따라서 이것을 전달하는 것이 필수일 수도 있고 선택일 수도 있습니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_ATTREXIST
- 동일한 이름을 가진 속성이 이미 존재합니다.
APIERR_BADID
- 유효하지 않은 속성 타입이 전달되었거나, 펜 또는 글꼴 속성 타입이 주어졌습니다.
APIERR_BADPARS
NULL
속성 포인터가 전달되었습니다.APIERR_NOTMINE
- 당신은 팀워크 프로젝트에 대하여 뷰-전용 모드 중에 있습니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 속성 헤더의 typeID
필드에 의해 정의된 하나의 속성을 생성하는 데 사용합니다.
새로 생성된 속성의 참조 인덱스는 속성 헤더의 index
필드에 리턴됩니다.
당신은 펜과 글꼴 속성들을 생성할 수 없습니다.
또한 이 함수는 불일치성 문제가 있는지 데이터를 점검합니다. 만약 문제가 생기면 자동으로 고치거나, 또는 오류 코드가 생성됩니다.
만약 데이터베이스 안에 동일한 이름을 가진 속성이 존재하면, 기존 인덱스가 리턴될 것입니다. 매칭 프로시저는 속성 정의의 차이점들을 무시합니다. 동일한 이름을 가진 여러 개의 속성들은 허용되지 않습니다.
속성을 생성할 때, 적용 가능한 필드들을 반드시 채워야 합니다.
API_Attr_Head
typeID
필수
index
무시
flags
적용가능한 곳에서 필수
name
필수
API_AttributeTypeID
defs
API_LayerID
-
API_LinetypeID
ltype_dashItems
(dashed line 타입의 경우)
ltype_lineItems(
symbol line 타입의 경우)
API_FilltypeID
fill_lineItems
(vector fill 타입의 경우)
fill_lineLength
(vector fill 타입의 경우)
sfill_Items
(symbol fill 타입의 경우)
API_CompWallID
cwall_compItems
API_MaterialID
-
API_CityID
-
API_LayerCombID
layer_statItems
API_ZoneCatID
zone_addParItems
API_MEPSystemID
-
당신이 할당하고 ArhiCAD에게 전달한 동적 데이터 structure 그 어느 것도 ArchiCAD는 해제하지 않는다는 사실이 중요합니다.
더 이상 필요하지 않으면 defs
파라미터에 전달된 핸들들을 폐기해야 할 책임이 당신에게 있습니다.
호환성을 이유로 ACAPI_DisposeAttrDefsHdls 함수를 사용하는 것을 권장합니다.
예제
API_Attribute attrib; API_AttributeDefs defs; short ltypeIndex; GSErrCode err; BNZeroMemory (&attrib, sizeof (API_Attribute)); BNZeroMemory (&defs, sizeof (API_AttributeDefs)); attrib.header.typeID = API_LinetypeID; /* attrib.linetype 채움 */ /* 비-솔리드 라인타입들에 대한 defs 채움 */ err = ACAPI_Attribute_Create (&attrib, &defs); ltypeIndex = attrib.header.index; ACAPI_DisposeAttrDefsHdls (&defs);
요구사항
- 버전: API 1.3 또는 이후
- 헤더: ACAPinc.h
참고사항
API_Attribute, API_AttributeDef,
ACAPI_DisposeAttrDefsHdls,
속성 관리자, API 함수