Pro/TOOLKIT示例程序(五)获取几何元素:基准轴

在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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值