• 【NX二次开发】获取视图当前的剪辑边界UF_VIEW_ask_current_xy_clip()


    UF_VIEW_ask_current_xy_clip()这个函数网上还没有详细的说明,我花了一点时间,详细得理解了一下函数返回的4个值的意思,作为一个猜想,希望有人能验证一下。

    获取视图当前的剪辑边界,使用UF_VIEW_ask_current_xy_clip()函数会获得(Minimum_X, Maximum_X, Minimum_Y, Maximum_Y)四个数字。

     测试源码:

    extern DllExport void ufusr(char *param, int *returnCode, int rlen)
    {
        UF_initialize();
        double xy_clip_bounds[4];
        UF_VIEW_ask_current_xy_clip(55041, xy_clip_bounds);//55041   54988
        list("%g,%g %g,%g
    ", xy_clip_bounds[0], xy_clip_bounds[1], xy_clip_bounds[2], xy_clip_bounds[3]);
        UF_terminate();
    }
    
    extern int ufusr_ask_unload(void)
    {
        return (UF_UNLOAD_IMMEDIATELY);
    }

    动图:

     我百思不得其解。查看帮助并结合测试。我猜是不是下面图示列出的尺寸:

    情况1.视图在图纸页中,我们能完整得看到视图边界,运行程序得到下面这个结果

    -11.35,11.35 -20.1,20.1,移动、放大缩小视图得到的结果不变。

    情况2.当我将视图移动出图纸页,我们发现黄色框变小了,同时得到结果:

    -8.98396,8.98396 -20.1,20.1

    情况3.我把视图放到窗口左上角,同时发现黄色框也变小了,结果:

    -8.39561,8.39561 -14.0877,14.0877

     

    根据上面的结果结合着帮助说明,所以我猜想,使用UF_VIEW_ask_current_xy_clip()函数得(Minimum_X, Maximum_X, Minimum_Y, Maximum_Y)四个值代表上面图示的意思。

    UF_VIEW_ask_xy_clip 与此函数类似,UF_VIEW_ask_current_xy_clip 返回当前边界,UF_VIEW_ask_xy_clip 返回保存在数据库中的视图边界。

  • 相关阅读:
    SQL 强化练习 (七)
    SQL 强化练习 (六)
    SQL 强化练习 (五)
    SQL 强化练习 (四)
    典型相关分析 CCA
    SQL 强化练习(三)
    双向 和 多重 RNN
    SQL 强化练习 (二)
    SQL 强化练习 (一)
    SQL 查询强化
  • 原文地址:https://www.cnblogs.com/KMould/p/14468836.html
Copyright © 2020-2023  润新知