パラメータを変更したオブジェクトを配置する
説明
オブジェクトのパラメータを変更して新しく要素を作成する方法を紹介します
オブジェクトのGUIDを確認する方法
- 「ウインドウ」>「ツールバー」>「GDLライブラリ部品を編集」>「サブタイプ階層」を選択
- GUIDを確認したいライブラリ部品を選択
|
|
GSErrCode CreateObject(const API_Coord& orig)
{
GSErrCode err = NoError;
API_LibPart libpart = {};
libpart.typeID = APILib_ObjectID;
strcpy(libpart.ownUnID, "{3643A7FB-4199-40ED-A1AE-21EAD40EBC76}-{1EC89349-6A10-4FE7-9F9D-6CF57CD38328}");
err = ACAPI_LibPart_Search(&libpart, false);
if (err != NoError) {
return err;
}
API_ParamOwnerType paramOwner = {};
API_ChangeParamType chgParam = {};
API_GetParamsType getParams = {};
paramOwner.libInd = libpart.index;
paramOwner.typeID = API_ObjectID;
paramOwner.guid = APINULLGuid;
err = ACAPI_Goodies(APIAny_OpenParametersID, ¶mOwner, NULL);
if (err == NoError) {
err = ACAPI_Goodies(APIAny_GetActParametersID, &getParams, NULL);
if (err == NoError) {
CHCopyC("A", chgParam.name);
chgParam.realValue = 1.8;
err = ACAPI_Goodies(APIAny_ChangeAParameterID, &chgParam, NULL);
chgParam = {};
CHCopyC("gs_bFrontPanel", chgParam.name);
chgParam.realValue = 1;
err = ACAPI_Goodies(APIAny_ChangeAParameterID, &chgParam, NULL);
if (err == NoError)
err = ACAPI_Goodies(APIAny_GetActParametersID, &getParams, NULL);
}
ACAPI_Goodies(APIAny_CloseParametersID, NULL, NULL);
}
if (err != NoError) {
return err;
}
API_Element element = {};
API_ElementMemo memo = {};
element.header.typeID = API_ObjectID;
err = ACAPI_Element_GetDefaults(&element, &memo);
if (err != NoError) {
return err;
}
memo.params = getParams.params;
element.object.libInd = libpart.index;
element.object.xRatio = getParams.a;
element.object.yRatio = getParams.b;
element.object.pos = orig;
ACAPI_CallUndoableCommand(GS::UniString("Create an Object"), [&]() -> GSErrCode {
return ACAPI_Element_Create(&element, &memo);
});
ACAPI_DisposeElemMemoHdls(&memo);
return err;
}
パラメータを変更したオブジェクトを配置する
説明
オブジェクトのパラメータを変更して新しく要素を作成する方法を紹介します
オブジェクトのGUIDを確認する方法