ACAPI_Element_Merge_Remove
주어진 요소들로부터 병합 연결을 제거합니다.
GSErrCode ACAPI_Element_Merge_Remove (
const API_Guid& guid_Element1,
const API_Guid& guid_Element2
);
파라미터
- guid_Element1
- [in] 1번째 요소 GUID입니다.
- guid_Element2
- [in] 2번째 요소 GUID입니다.
리턴 값
NoError- 함수가 성공적으로 완료되었습니다.
APIERR_REFUSEDCMD- 함수는 undoable이어야 합니다. 열린 undoable session이 없습니다.
APIERR_BADDATABASE,APIERR_NOTMINE- 함수가 현재 데이터베이스에서 작동할 수 없습니다.
APIERR_BADINDEX- 1개 이상의 전달된 ID들이 유효하지 않습니다.
APIERR_BADELEMENTTYPE- 요소들 중 하나가 건설 요소 타입이 아닙니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 요소들 간의 병합 연결을 제겋바니다.
예제
void Do_Merge_Remove (void)
{
API_ElemTypeID typeID1;
API_Guid guid_Element1;
if (!ClickAnElem ("Click on a construction element to remove the connection!", API_ZombieElemID, NULL, &typeID1, &guid_Element1)) {
WriteReport_Alert ("No element was clicked.");
return;
}
API_Element tmpElement;
BNZeroMemory (&tmpElement, sizeof(tmpElement));
tmpElement.header.guid = guid_Element1;
if (ACAPI_Element_Get (&tmpElement) != NoError) {
WriteReport_Alert ("No element was clicked.");
return;
}
typeID1 = tmpElement.header.typeID;
guid_Element1 = tmpElement.header.guid;
if (typeID1 == API_SectElemID) {
typeID1 = tmpElement.sectElem.parentID;
guid_Element1 = tmpElement.sectElem.parentGuid;
}
API_ElemTypeID typeID2;
API_Guid guid_Element2;
if (!ClickAnElem ("Click on a second construction element to remove the connection with the first!", API_ZombieElemID, NULL, &typeID2, &guid_Element2)) {
WriteReport_Alert ("No element was clicked.");
return;
}
BNZeroMemory (&tmpElement, sizeof(tmpElement));
tmpElement.header.guid = guid_Element2;
if (ACAPI_Element_Get (&tmpElement) != NoError) {
WriteReport_Alert ("No element was clicked.");
return;
}
typeID2 = tmpElement.header.typeID;
guid_Element2 = tmpElement.header.guid;
if (typeID2 == API_SectElemID) {
typeID2 = tmpElement.sectElem.parentID;
guid_Element2 = tmpElement.sectElem.parentGuid;
}
GSErrCode err = ACAPI_Element_Merge_Remove (guid_Element1, guid_Element2);
if (err != NoError) {
if (err == APIERR_NO3D)
WriteReport_Alert ("Only construction elements have merge connection!");
else
WriteReport_Alert ("ACAPI_Element_Merge_Remove failed: %d", err);
}
return;
}
요구사항
- 버전: API 18 또는 이후
- 헤더: ACAPinc.h
참고사항
ACAPI_Element_Merge_Elements
ACAPI_Element_Merge_GetMergedElements
API 함수