UF_DRAW_set_view_display 使用问题

    这几天在做EDM图纸使用UF_DRAW_set_view_display设置视图样式时发现在NX7.5下使用没问题,但在NX4.0下设置不成功(其他外挂可以),但可以跑。刚开始以为是别人的外挂使用了其他API,但我使用Depends查看后没有发现特殊的API。后来跟同事讨论了下,他建议说可不可能是库的问题。他这一提醒,我直觉告诉我可能就是因为这个原因。因为我是用NX7.5的库进行编译的,但NX4.0和NX7.5的库中该函数有不一样,所以结果才不一样。后来一验证,果然是库的问题。

    但用NX4.0库编译后,在NX7.5下运行直接挂掉了。我就直接去查看以下两个库中对该函数的输入/输出变量进行查看,
然后就找到了正在的原因。一个输入参数的结构体发生了变化,在NX4.0中UF_DRAW_view_prfs_t结构体里的
interfering_solids是logical类型的变量,而在NX7.5中该变量变成了int类型的。

UF_DRAW_set_view_display 使用问题_第1张图片

最终解决方案:重新定义两个跟两个版本一样的结构体,然后用结构体占用较大内存的库编译即可。
注意:1.需要用结构体占用内存较大的库编译;
        2.需进行数据转换;

你可能感兴趣的:(结构体)