方法一:将曲线收集器的选择范围设置整个装配的常规方法是将InterpartSelection属性值由Simple改为其它类型。
edge_select0.GetProperties().SetEnum("InterpartSelection", 1);
方法二:使用内部函数更改选择范围,添加焦点回调
//构造函数中添加回调
theDialog.AddFocusNotifyHandler(new NXOpen.BlockStyler.BlockDialog.FocusNotify(focus_cb));
/// <summary>
/// 焦点回调
/// </summary>
/// <param name="block"></param>
/// <param name="isFocus"></param>
public void focus_cb(NXOpen.BlockStyler.UIBlock block, bool isFocus)
{
if (block == edge_select0 && isFocus)
{
SEL_set_default_scope(UFConstants.UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY);
}
}
/// <summary>
/// 设置选择范围
/// </summary>
/// <param name="scope"></param>
[DllImport("libugui.dll", EntryPoint = "?SEL_set_default_scope@@YAXH@Z")]
public static extern void SEL_set_default_scope(int scope);