在Pro/TOOLKIT中,类型ProAxis表示轴。ProAxis和ProGeomitem之间可以相互转换:
- ProAxis -> ProGeomitem:ProAxisToGeomitem
- ProGeomitem -> ProAxis:ProGeomitemToAxis
函数ProGeomitemdataGet用于获取轴的数据,注意在用完之后要调用ProGeomitemdataFree来释放数据。
示例代码:
// 获取轴的数据:轴的两个端点坐标
int TestGetAxisData(uiCmdCmdId command,
uiCmdValue *p_value,
void *p_push_command_data)
{
ProError err;
// 选择轴
ProSelection *sels;
int nSel = 0;
err = ProSelect("axis", 1, NULL, NULL, NULL, NULL, &sels, &nSel);
if (PRO_TK_NO_ERROR != err || 1 != nSel)
{
return -1;
}
// 获取选择的轴
ProGeomitem geomAxis;
err = ProSelectionModelitemGet(sels[0], &geomAxis);
// 获取轴的数据
ProGeomitemdata* geomdata;
err = ProGeomitemdataGet(&geomAxis, &geomdata);
// 输出轴的数据
CStringW cstrInfo;
cstrInfo.Format(L"轴的端点1: (%.2f, %.2f, %.2f) \n轴的端点2: (%.2f, %.2f, %.2f)",
geomdata->data.p_curve_data->line.end1[0],
geomdata->data.p_curve_data->line.end1[1],
geomdata->data.p_curve_data->line.end1[2],
geomdata->data.p_curve_data->line.end2[0],
geomdata->data.p_curve_data->line.end2[1],
geomdata->data.p_curve_data->line.end2[2]);
MessageBoxW(NULL, cstrInfo, L"icaxdev: Sample004", MB_OK);
// 释放数据
err = ProGeomitemdataFree(&geomdata);
return 0;
}