点击查看详细介绍

获得NX建模绘图窗口(视窗)当前的四个角点的坐标方法和代码 精华帖

nxopen 1年前 484 6

UG NX 二次开发 技术交流 qq群:641226372      UG二次开发(C、C#、WPF)


今天在VIP群里有学员问,如何取得NX当然工作视图的左上左下右上右下的4个角坐标点, 我研究了一下,是可以获得的。


20201127105339.jpg


获取的方法流程大致如下:

要找建模视图窗口的4个角的坐标,大概流程是这样:
1,先获得工作视图的中心、矩阵,并将WCS设在视图的中心和矩阵
2,再得到工作视图的边框坐标
3,再以得到的边框坐标凑出4个角点的坐标
4,再将4个坐标转到ABS


要用到函数:
uc6430 //获得视图的中心
uc6433 //获得视图的矩阵
UF_VIEW_ask_current_xy_clip //获得视图的边框
UF_CSYS_create_temp_csys
UF_CSYS_set_wcs //创建临时坐标系并设置到WCS
UF_CSYS_map_point //坐标转换


以下是代码部分:

//记录原WCS
tag_t orignWcs = NULL_TAG;
UF_CSYS_ask_wcs(&orignWcs);    

double xy_clip_bounds[4] ={0.0};
UF_VIEW_ask_current_xy_clip(NULL_TAG, xy_clip_bounds);

//获得视图的中心
double viewCenpos[3]={0.0}, viewScale=0.0;
uc6430("", viewCenpos, &viewScale);

●●●请先 登陆注册 后查看●●●

//创建4个角的点查看
tag_t point=NULL_TAG;
UF_CURVE_create_point(leftBottomPos, &point);
UF_CURVE_create_point(rightBottomPos, &point);
UF_CURVE_create_point(rightTopPos, &point);
UF_CURVE_create_point(leftTopPos, &point);

//还原WCS
UF_CSYS_set_wcs(orignWcs);


演示效果:

5588.gif

1

最新回复 (6)
  • bootwilly VIP会员 1年前
    1

    謝謝老師分享~~

  • zhang1991 VIP会员 1年前
    2

    谢谢分享 ,学习一下

  • king_chinese VIP会员 1年前
    3

    謝謝老師分享~~

  • waqa1314 VIP会员 3月前
    4

    谢谢分享 ,学习一下

  • 卢尚宇 VIP会员 3月前
    5

    xuexiyixia

  • 宋宇 1月前
    6

    xuexiyixia

请登录后发表新帖