APIEnv_Change3DCuttingPlanesID
3D 절단 면들을 변경합니다.
GSErrCode ACAPI_Environment (
APIEnv_Change3DCuttingPlanesID,
API_3DCutPlanesInfo* cutInfo
);
파라미터
- cutInfo
- "3D Cutting Planes..." 다이얼로그의 데이터입니다.
리턴 값
NoError- 함수가 성공적으로 완료되었습니다.
APIERR_BADPARScutInfo가NULL이거나 유효하지 않은 데이터를 포함하고 있습니다.APIERR_NOPLAN- 열린 프로젝트가 없습니다.
설명
이 함수는 3D 절단 면 파라미터들을 변경하는 데 사용합니다.
예제
API_3DCutPlanesInfo cutInfo;
BNZeroMemory (&cutInfo, sizeof (API_3DCutPlanesInfo));
GSErrCode err = ACAPI_Environment (APIEnv_Get3DCuttingPlanesID, &cutInfo, NULL);
if (err == NoError) {
if (cutInfo.shapes != NULL)
BMKillHandle ((GSHandle *) &(cutInfo.shapes));
cutInfo.isCutPlanes = true;
cutInfo.nShapes = 2;
cutInfo.shapes = reinterpret_cast<API_3DCutShapeType**> (BMAllocateHandle (cutInfo.nShapes * sizeof (API_3DCutShapeType), ALLOCATE_CLEAR, 0));
if (cutInfo.shapes != NULL) {
(*cutInfo.shapes)[0].cutStatus = 2;
(*cutInfo.shapes)[0].cutPen = 3;
(*cutInfo.shapes)[0].cutMater = 11;
(*cutInfo.shapes)[0].pa = -3.0499805934954503;
(*cutInfo.shapes)[0].pb = 0.43107875694662845;
(*cutInfo.shapes)[0].pc = 3.5670423669734248;
(*cutInfo.shapes)[0].pd = 2.4161856450872907;
(*cutInfo.shapes)[1].cutStatus = 3;
(*cutInfo.shapes)[1].cutPen = 4;
(*cutInfo.shapes)[1].cutMater = 12;
(*cutInfo.shapes)[1].pa = -2.9081872443425456;
(*cutInfo.shapes)[1].pb = 0.37912781320386035;
(*cutInfo.shapes)[1].pc = 3.4016167929617027;
(*cutInfo.shapes)[1].pd = -1.1569668026192714;
}
err = ACAPI_Environment (APIEnv_Change3DCuttingPlanesID, &cutInfo, NULL);
if (err == NoError) {
API_WindowInfo windowInfo;
BNZeroMemory (&windowInfo, sizeof (API_WindowInfo));
windowInfo.typeID = APIWind_3DModelID;
err = ACAPI_Automate (APIDo_ChangeWindowID, &windowInfo, NULL);
}
BMKillHandle ((GSHandle *) &(cutInfo.shapes));
}
요구사항
- 버전: API 3.1 또는 이후
- 헤더: APIdefs_Environment.h
참고사항
API_3DCutPlanesInfo
APIEnv_Get3DCuttingPlanesID
ACAPI_Environment
API 함수