NXOpen.UF.UFView.CycleObjects 的使用
Public Sub CycleObjects(ByVal view As NXOpen.Tag, ByVal type As NXOpen.UF.UFView.CycleObjectsEnum, ByRef _object As NXOpen.Tag)
NXOpen.UF.UFView 的成员
在指定视图中循环对象
1.如果视图(view)为NULL_TAG(.NET:NXOpen.Tag.Null),则使用工作视图。
2.type=UF_VIEW_VISIBLE_OBJECTS(.NET:NXOpen.UF.UFView.CycleObjectsEnum.VisibleObjects),返回视图矩形边界内的所有可见对象;不会返回跨越边界或在边界外的对象。不支持制图成员的非矩形边界,如果想获取制图成员的非矩形边界视图的可见对象,或跨越视图边界的对象,请使用UF_VIEW_ask_visible_objects。
3.在结束遍历循环之前,不能删除或者擦除对象,不能通过添加或移除视图进行边界。如果需要删除遍历查找的对象,请创建一个数组,在遍历结束以后,对对象数组进行删除操作。
PS:这个功能将会返回用于显示的实体轮廓边缘(包括面和边)。在用户定义图层(1~256层)中。
个人的理解是:
type=UF_VIEW_VISIBLE_OBJECTS,返回视图边界内的可见对象,包括实体轮廓。
type=UF_VIEW_DEPENDENT_OBJECTS ,返回视图内的可以显示的制图对象(包括隐藏但可以显示的制图对象),不包括不能显示的对象,不包括实体轮廓。
type=UF_VIEW_ERASED_OBJECTS,
type=UF_VIEW_MODIFIED_OBJECTS ,
下面的代码,是获取在工作视图可以显示的40层里的注释。
Dim theSession = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work Dim theUfSession = UFSession.GetUFSession() Dim lw = theSession.ListingWindow
lw.Open Dim _object = NXOpen.Tag.Null
Do
theUfSession.View.CycleObjects(NXOpen.Tag.Null, NXOpen.UF.UFView.CycleObjectsEnum.DependentObjects, _object)
If _object = NXOpen.Tag.Null Then
Exit Do
Else
Dim _type, _subtype As Integer
theUfSession.Obj.AskTypeAndSubtype(_object, _type, _subtype)
'lw.WriteLine(String.Format("Type:{0} Subtype:{1}", _type, _subtype))
If _type = UFConstants.UF_drafting_entity_type AndAlso _subtype = UFConstants.UF_draft_note_subtype Then
Dim note1 As Annotations.Note = TryCast(Utilities.NXObjectManager.Get(_object), Annotations.Note)
If note1 IsNot Nothing Then
If note1.Layer = 40 Then
'TODO:位于40层的注释
'theSession.Information.DisplayObjectsDetails({note1})
End If
End If
End If
End If
Loop While _object <> NXOpen.Tag.Null
NXOpen.UF.UFView.CycleObjects 的使用的更多相关文章
- 【NXOpen.UF扩展】修改表达式
public static class UFExpEx { /// <summary> /// 修改当前部件的表达式 /// </summary> /// <param ...
- NX二次开发-使用NXOPEN C#手工搭建开发环境配置
新建类库 进来后编译代码,成功 添加NXOPEN的库到项目中 不同NX版本,可能dll所在位置不一样,NX11以上版本在NXBIN这里,NX11以下版本大概在UGII. 添加头文件 using NXO ...
- NX二次开发-C#使用DllImport调用libufun.dll里的UF函数(反编译.net.dll)调用loop等UF函数
在写这篇文章的时候,我正在头晕,因为下班坐车回家,有些晕车了.头疼的要死.也吃不下去饭. 版本:NX11+VS2013 最近这一年已经由C++过度到C#,改用C#做应用程序开发和NX二次开发. C#在 ...
- C#实现创建、编辑NX表达式
在NX8.5中使用C#编辑表达式中有个坑,part.Expressions.Edit该方法鲁棒性很差,当表达式有错时也能编辑成功(手动在NX中增加错误表达式会有弹框,无法创建,而该方法却可以,疑是bu ...
- NX二次开发 克隆
NXOpen.UF.UFSession theUfSession = NXOpen.UF.UFSession.GetUFSession(); try { //初始化 NXOpen.UF.UFClone ...
- 【错误分析】NX error status: 32
在进行NX 制图里面的表格注释合并单元格时,总是报错NX error status: 32,找了很久都不知道问题所在. 报错提示如下: NXOpen.NXException: NX error sta ...
- NX CAM 读取加工参数
'取加工几何试图程序组 Function GetGemoGroup_Name(ByVal camObjectTag As NXOpen.Tag) As String Dim theGemoGroupT ...
- 使用.NET(C#或VB.NET)开发NX外部程序
1.如何不用将exe程序拷贝到UGII目录下运行? 答:在调用NX Open命令函数前,将当前目录移动到NX安装目录\UGII\,NX安装目录必须和环境变量UGII_BASE_DIR的值一致,否则报错 ...
- .NET下使用ufun函数取CAM操作的进给速度
UF_PARAM_ask_subobj_ptr_value,这个函数在封装的时候,给了很大一个坑啊. NXOpen.UF.UFParam.AskSubobjPtrValue(ByVal param_t ...
随机推荐
- IOS 集成 Bilibili IJKPlayer播放器,播放rtmp视频流
因为公司项目需要,我一个连iPhone都没用过的人竟然跑去开发iOS APP.近一段时间一直忙于赶项目,到今天差不多了,所以记录一下当时遇到的各种坑,先从ios 集成 ijkplayer播放器说起! ...
- Mysql常用sql语句(7)- order by 对查询结果进行排序
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 通过select出来的结果集是按表中的顺序来排序 ...
- 什么是内存屏障? Why Memory Barriers ?
要了解如何使用memory barrier,最好的方法是明白它为什么存在.CPU硬件设计为了提高指令的执行速度,增设了两个缓冲区(store buffer, invalidate que ...
- AQS深入分析
一.node概念 1.当线程获取锁失败时,会被打包成一个node放到同步队列中 2.node属性 当线程获取锁失败时,会被打包成一个node放到同步队列中,所以node属性中有一个thread属性; ...
- 动态规划精讲(一)A单串
单串 单串 dp[i] 线性动态规划最简单的一类问题,输入是一个串,状态一般定义为 dp[i] := 考虑[0..i]上,原问题的解,其中 i 位置的处理,根据不同的问题,主要有两种方式: 第一种是 ...
- python 打字小游戏
最近随便用python的pygame编了这个打字小游戏 只要有字母调到窗口底部就结束 上代码: import pygame.freetype import sys import random pyga ...
- jenkins自动构建前端项目(window,vue)
我们把一个多人协作的vue前端项目发布服务器,一般要经过以下步骤: git更新最新的代码 构建项目 把构建后的代码上传到服务器 如果用jenkins来构建的话,只需要点击一次构建按钮,就可以自动完成以 ...
- struts2 中 form-action action-form 的传参方式
1. struts2 Action获取表单提交数据 主要有三种方式: 1.1 使用ActionContext类 //获取actionContext对象 ActionContext context = ...
- Centos7.6安装python3.6.8
yum -y install bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel tk-devel ...
- python处理权限关系一些注意事项
在模型类中多对多的关系(必须是对象) 如果要获取多对多表中的值,必须使用对象进行搜索,不能直接输入名称 例:这样才能查找到(下面例子是针对,组设置多对多关到用户,现在要根据用户获取相应的组) user ...