点击查看详细介绍

不用 select_with_class_dialog,如何直接 获得 鼠标选择的 Object

tnsmallpig 13年前 18849 4

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


小弟 最近在做ug2次开发的一个项目,现有个问题,想请教下大家。
开发环境 ug4.0, vc6,做了个mfc dll。

现在 需要获得鼠标选中的object,然后创建新的装配体,即 UF_ASSEM_create_component_part()。
貌似获取用鼠标选择的object都是用 UF_UI_select_with_class_dialog 这样的函数,获得 int n_objects,tag_t * object。
但 这些函数都会弹出一个 确认框,要用户点击ok,或者cancel。用户觉得麻烦,有没有其他api或者什么办法可以实现直接获得鼠标选择的物体(鼠标可以选中多个object)。

谢谢先了!

0

最新回复 (4)
  • upoint 13年前
    1

    用USER STYLER特有的选择特性,或者用BLOCK UI也可以

  • zhangcanwei 13年前
    2

    先用鼠标将要选择的目标点成高亮显示,然后,遍历这些高亮显示的目标

  • jackie2003 13年前
    3

    nx4, vc6首先确定了你没法用NXOpen,Block UI,所以你只能从已有的东西里面找,UFUN和UI Styler。

    UFUN里面有一个global selection,通过UF_UI_ask_global_sel_object_list可以获得当前的用户选择,但是,NX不开放global selection handle,这样就不能应用uf_ui.h里面很多相关的函数,如添加,删除等。这个是否能够满足你的需要,还是需要看你的应用是不是很简单而且有规则可循。

    uf_ui.h提供了很多操作selection handle的方法,获得该handle有两种方式,第一种就是你说的,另外一种就是UI Styler,所以,如果你想有复杂的应用,就只能你自己去考虑了。粘贴帮助如下:
    The selection pointer is provided to the API programmer in the following ways:

    For UI Styler dialogs, the API programmer can call UF_STYLER_ask_value from their callback.
    For single and class selection dialogs, NX passes the selection pointer to the API programmer's initialization procedure . See

  • upoint 6年前
    4

    那你要失望了,非模态对话框是要通过选择对话框实现的,如果你想实现也可以,用MFC非模态对话框 USER STYLER也可以实现

请登录后发表新帖