您的位置:首页 > 其它

Pro/TOOLKIT示例程序(六)获取几何元素:坐标系

2018-01-14 15:41 501 查看
在Pro/TOOLKIT中,类型ProCsys表示坐标系。ProCsys和ProGeomitem之间可以相互转换:

ProCsys -> ProGeomitem:ProCsysToGeomitem

ProGeomitem -> ProCsys:ProGeomitemToCsys

函数ProGeomitemdataGet用于获取坐标系的数据,注意在用完之后要调用ProGeomitemdataFree来释放数据。

示例代码:

// 获取坐标系的数据
int TestGetCsysData(uiCmdCmdId  command,
uiCmdValue *p_value,
void       *p_push_command_data)
{
ProError err;

// 选择坐标系
ProSelection *sels;
int nSel = 0;
err = ProSelect("csys", 1, NULL, NULL, NULL, NULL, &sels, &nSel);
if (PRO_TK_NO_ERROR != err || 1 != nSel)
{
return -1;
}

// 获取选择的坐标系
ProGeomitem geomCsys;
err = ProSelectionModelitemGet(sels[0], &geomCsys);

// 获取坐标系的数据
ProGeomitemdata* geomdata;
err = ProGeomitemdataGet(&geomCsys, &geomdata);

// 输出坐标系的数据
CStringW cstrOrigin;
cstrOrigin.Format(L"原点坐标: (%.2f, %.2f, %.2f)",
geomdata->data.p_csys_data->origin[0],
geomdata->data.p_csys_data->origin[1],
geomdata->data.p_csys_data->origin[2]);
CStringW cstrXVector;
cstrXVector.Format(L"X轴向量: (%.2f, %.2f, %.2f)",
geomdata->data.p_csys_data->x_vector[0],
geomdata->data.p_csys_data->x_vector[1],
geomdata->data.p_csys_data->x_vector[2]);
CStringW cstrYVector;
cstrYVector.Format(L"Y轴向量: (%.2f, %.2f, %.2f)",
geomdata->data.p_csys_data->y_vector[0],
geomdata->data.p_csys_data->y_vector[1],
geomdata->data.p_csys_data->y_vector[2]);
CStringW cstrZVector;
cstrZVector.Format(L"Z轴向量: (%.2f, %.2f, %.2f)",
geomdata->data.p_csys_data->z_vector[0],
geomdata->data.p_csys_data->z_vector[1],
geomdata->data.p_csys_data->z_vector[2]);

CStringW cstrInfo = L"坐标系数据:\n" + cstrOrigin + L"\n" + cstrXVector + L"\n" + cstrYVector + L"\n" + cstrZVector;
MessageBoxW(NULL, cstrInfo, L"icaxdev: Sample004", MB_OK);

// 释放数据
err = ProGeomitemdataFree(&geomdata);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息