NX二次开发
文章平均质量分 71
喵桑さん
数字化转型,智能工厂建设,Nx二次开发,Solidworks二次开发,C#WinForm,SQL,工业软件开发,Python
展开
-
C# NX二次开发:通过UFUN函数获取刀具描述,目录号,库号等信息
今天要将的是,在NX中对CAM模块进行二次开发的时候,往往需要获取一些关于刀具使用的信息,这些信息用NXOPEN的的方法录制也可以录制出来,但是录制出来的代码,往往都是一种刀具类型会出现一个Builder。这样在你不知道有多少种刀具的时候就不适用了,所以想要适用所有类型就要用UFUN函数通过输入刀具的Tag值来返回你想要的信息。首先获取刀具的描述,在NX处于如下图所示的位置:获取这个参数所用的程序如下所示:theufsession.Param.askstrvalue(刀具的tag,106原创 2023-06-18 09:53:49 · 1745 阅读 · 0 评论 -
C# NX二次开发:实现制图模块复制Sheet页,并且获取其中表格
今天要讲的是如何在NX中实现制图模块当前Sheet页的复制,并且获取Sheet页中的表格。首先简单介绍一下NX的制图模块是做什么的。在NX中建模模块是用来绘制模型的,而想要将模型的相关尺寸投出来直观的看到,就要用到制图模块。在制图模块中可以创建活动图纸页,操作如下图所示:然后在图纸页中可以投出相应的三视图,操作如下图所示:然后可以在视图中进行标注尺寸、标注公差等操作,当然了也可以插入表格,然后在表格中写一些文字内容。上面扒拉了这么多,还是回到今天的主题,今天讲两点内容,第原创 2023-06-01 18:12:17 · 789 阅读 · 1 评论 -
C# NX二次开发:如何编辑ug树列表的选中节点讲解
好久没有写关于ug二次开发相关文章了,今天写一个关于编辑ug树列表的功能。首先介绍一下ug树列表,如下图所示:而想要编辑这个树列表的内容,需要运用ug二次开发模板中的几个回调函数,如下图所示:分别是SetOnBeginLabelEditHandler():表示是否允许编辑树列表单元格文本的回调函数。 SetOnEndLabelEditHandler():表示是否接受修改的文本的回调函数。 SetOnEditOptionSelectedHandler():表示原创 2023-03-23 12:53:45 · 1149 阅读 · 0 评论 -
C# NX二次开发:制图模块替换制图页上指定位置的文字
今天要讲的是在制图模块中,制图页上往往需要写很多的信息,比如明细栏中的设计者姓名,材质,设计日期等信息。替换文字信息的方式,我们可以采用NXOPEN录制宏的方式进行程序开发。下面就是通过NXOPEN录制宏以后生成的代码:NXOpen.Session theSession = NXOpen.Session.GetSession(); NXOpen.Part workPart = theSession.Parts.Work; NXOpen.Part disp原创 2023-02-10 09:18:35 · 405 阅读 · 0 评论 -
C# NX二次开发:通过NXOPEN导入自定义制图模板
在ug的制图模块中,有一些自带的制图模板。但是不可能满足所有需求,这个时候就需要自己设计模板,然后在投图的时候选择自定义模板进行投图等操作。下面直接展示用NXOPEN方式写的代码: NXOpen.Part workPart = theSession.Parts.Work; NXOpen.Drawings.DraftingDrawingSheet nullNXOpen_Drawings_DraftingDrawingSheet = null; NXOpen.原创 2023-02-09 15:51:37 · 687 阅读 · 2 评论 -
C# NX二次开发:NXOPEN录制删除圆角面
在ug中如何使用删除功能,将圆角选中进行删除就是今天要讲的内容。开发逻辑是这样的,首先设计一个界面,界面上有一个面选择器用来选取圆角面。然后在设计一个按钮,再点删除按钮的时候实现对圆角面的删除。设计界面还是使用块ui编辑器进行设计,界面如图所示:删除圆角面的相应代码如下所示: TaggedObject[] taggedObjects = face_select0.GetSelectedObjects(); Tag bb = taggedOb原创 2023-02-09 13:13:08 · 390 阅读 · 0 评论 -
NX二次开发:按照选择的闭合曲线创建盖板体
今天要讲的是在如下图所示的凹槽位置创建盖板:创建盖板的逻辑是,先选取凹槽四周的顶面的四条边形成封闭的线,再点击上表面将矢量方向反向让其方向向下,最后给出盖板创建的厚度大小,完成盖板的创建。首先我用块UI编辑器做了一个界面,如下图所示:这样一个实现上述逻辑的界面就创建完成了,下面添加相应功能就可以了。实现功能的代码如下图所示: List qaq = new List(); TaggedObject[] GetSelec原创 2023-01-31 16:13:07 · 221 阅读 · 1 评论 -
C# NX二次开发:CAM模块-获取程序顺序视图中一级程序组
在ug的加工模块中,放置加工程序的位置是程序顺序视图导航器中,但是要如何才能获取程序顺序视图中一级程序组呢。程序顺序视图中的一级程序组如下图所示:实现上述一级程序组查询的代码如下所示: string s1 = ""; NXOpen.Part workPart = theSession.Parts.Work; NXOpen.CAM.NCGroup programView = workPart.CAMSetup.G原创 2023-01-07 16:33:50 · 641 阅读 · 1 评论 -
C# NX二次开发:CAM模块不获取未用项之中的内容
今天要讲的是CAM模块中,在获取程序顺序视图中所有内容的时候,如何不获取未用项之中的内容。也就是排除未用项文件夹。首先我的逻辑是想要通过这个文件夹的type值和subtype值来区分未用项文件夹和其他文件夹之间的区别,下面是我逻辑的代码: string s1 = ""; NXOpen.Part workPart = theSession.Parts.Work; NXOpen.CAM.NCGroup programView = work原创 2023-01-07 11:42:56 · 217 阅读 · 1 评论 -
C# NX二次开发:将实体数模复制到指定图层
今天分享的是如何将实体part复制到一个固定的图层中。逻辑如下:首先将无选择过滤器调成实体(这块不知道如何调整可以看我之前发的文章,具体讲了如何操作),然后用鼠标选中坐标系中显示的part(注意此处不要点击左侧部件导航器上的内容)。选中以后运行代码就可以实现将实体复制到指定图层的操作。实现代码如下: NXOpen.Session theSession = NXOpen.Session.GetSession(); NXOpen.Part workPart =theS原创 2023-01-06 11:21:50 · 495 阅读 · 1 评论 -
C# NX二次开发:封装输出PDF图纸的方法
今天讲的是将NXOPEN录制出来的输出PDF图纸进行一个方法的封装,下面我会将完整的代码放在下面。封装方法的输入参数有三个,第一个参数是Part workPart,第二个参数是DrawingSheet[] drawingSheet,第三个参数是string path也就是输出图纸保存的路径。下面直接上代码(纯干货):public static void outPDF(Part workPart1, DrawingSheet[] drawingSheet, string fullname)原创 2022-12-27 11:40:46 · 660 阅读 · 3 评论 -
C# NX二次开发:用UFUN函数来判断选择的对象是否是实体
今天我们讲的是如何判断选中的对象是否是实体,思路是先在ug中创建多个体,然后分别选中一个体和多个体。但实际你在验证的过程中会发现选中的不是实体,想要选中的是实体,就先在无选择过滤器所在的下拉框中选择实体之后,再用鼠标去选择对象就可以保证选中的对象是实体了。下面图片显示了无选择过滤器所在的位置:下面直接上代码(纯干货):NXOpen.Session theSession = NXOpen.Session.GetSession(); NXOpen.Part work原创 2022-12-27 09:28:25 · 444 阅读 · 3 评论 -
C# NX二次开发:将用NXOPEN宏录制的删除面方法进行封装
以前用NXOPEN录制删除面的宏,但是一直没有进行封装,今天将删除面的方法进行了封装。封装方法传入的参数是Face[] tagfaces一个face数组,如何将Tag值转化为face,大家可以去网上找寻相关资料。如果没有找到可以私信我。下面直接上封装好的删除面方法:public static void DeleteFace(Face[] tagfaces)//删除面方法 { NXOpen.Session theSession = NXOpen.Session.GetSe原创 2022-12-26 13:42:03 · 512 阅读 · 7 评论 -
C# NX二次开发:根据偏置值得大小来设置偏置面的颜色
今天讲的是ug中的偏置面的方法,并且根据面的偏置值来设置面的颜色。我是通过块UI编辑器建立的界面,所以偏置值和选择面都是已知值。选择面是为了获取面的Tag值,其代码如下所示:TaggedObject[] GetSelectedObjects = face_select05.GetSelectedObjects();Tag bb = GetSelectedObjects[pp].Tag;//bb为面的tag值面的偏置值大小是通过字符串控件输入的。获取代码如下所示:string off原创 2022-12-26 09:29:12 · 262 阅读 · 3 评论 -
C# NX二次开发:如何通过UFUN函数来判断边的类型,并且判断是圆边的话如何获取圆边的直径大小
今天讲的是通过UFUN函数来获取边,然后再获取边的类型,再通过判断边的类型是否是圆边以及是否是封闭的圆边再获取圆边的直径。我们已知条件是一个面face,其获取边的代码如下: Tag edgetag = Tag.Null;//存放链表中边的tag值 theUfSession.Modl.AskFaceEdges(bb, out edgelist);//获取选择面上所有边的链表其中输入的bb为面face的Tag值,其返回edg原创 2022-12-25 08:51:34 · 438 阅读 · 2 评论 -
C# NX二次开发:制图模块中尺寸线标注类型的type值和subtype值归纳总结
今天介绍的是ug制图模块中尺寸线类型的type值和subtype值都有哪些,省去了大家自己归纳总结的时间。大家都知道其实ug中想要了解对象的type和subtype值可以通过ug中自带的“移刀”功能来查看,这是属于一种小技巧。介绍完这个小技巧以后,直接上今天的干货。在ug制图标注中有多种标注方式:第一种:线性标注,其对应的type和subtype值如下:1、type == 26 && subtype == 52、type == 26 && subtype == 13、type ==原创 2022-12-24 12:12:12 · 385 阅读 · 1 评论