在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对.2.VS设断点-添加进程调试,来看输入输出值对不对3.UF_CALL也就是UF_get_fail_message这个函数,来看函数自己用的对不对.4.查看NX-Help-LogFile(日志),拖到最后看提示了哪些错误. 我一般用的比较多的是设断点调试,这里先说设断点调试.其他方法改天再写. 写举一…
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_obj.h> UF_initialize(); //起点 ]; ArcStartPoint[] = 0.0; ArcStartPoint[] = 0.0; ArcStartPoint[] = 0.0; tag_t ArcStartPointTag = NULL_TAG; UF_CURVE_create_point(ArcStartPoint, &a…
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> UF_initialize(); //创建块 UF_FEATURE_SIGN Sign = UF_NULLSIGN; ] = {0.0, 0.0, 0.0}; ] = {"}; tag_t BlkTag = NULL_TAG; UF_MODL_create_block1(Sign, Corner_Pt, Edge_Len, &…
NX9+VS2012 #include <uf.h> #include <uf_draw.h> #include <uf_obj.h> #include <uf_part.h> UF_initialize(); //新建工程图(A4图纸) char* DrawingName = "Sheet1";//设置图纸名字 UF_DRAW_info_t DrawingInfo;//设置图纸大小.投影视角.视图比例等 DrawingInfo.size…
#include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <uf_layer.h> UF_initialize(); //创建块 UF_FEATURE_SIGN sign = UF_NULLSIGN; ] = { 0.0, 0.0, 0.0 }; ] = { " }; tag_t BlkTag = NULL_TAG; UF_MODL_create_block1(sign, c…
版本:NX9+VS2012+SqlServer2008r2 以前我写过一个NX访问MySQL数据库(增删改查)的文章https://www.cnblogs.com/nxopen2018/p/12297590.html 这次写一下,NX访问SqlServer数据库(增删改查)C#版,使用了ADO.NET技术. C++版的过一段在来写 其实会一种,在学下一种就容易很多了,万物是相通的,会SQL语句,在知道各个数据库开放的增删改查的API就可以基本使用了. 1.打开SqlServer2008r2,新建…
版本:NX11+VS2013+MySQL5.6(x64)+SQLyog 1.新建一个NX项目(多字节) 2.设置VC++目录(调用MySQL的头文件,dll和lib库文件) 3.设置番茄助手 然后重启VS 3.源代码(发布:程序运行时需要libmysql.dll,此DLL要随程序一同发布) //DataBaseTest // Mandatory UF Includes #include <uf.h> #include <uf_object_types.h> // Internal…
返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何.这个例程不返回表达式.指定对象.临时(系统创建的)对象或休眠对象.休眠对象指的是从模型中删除的对象例如,如果你混合了一条边,那么这条边就是休眠的.WCS将不会被返回,除非它已经被保存. 注意:当指定的类型为UF_feature_type时,这个例程循环部件中的特征.在循环查找到的对象时,不要尝试删除对象.当前对象已被删除时,尝试读取下一个对象时,可能会出现问题.要删除对象,可以在循环时将对象保存到一个包含对象的数组,然后在完成循环…
每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看了两个月唐康林工程师二次开发视频教程就跑出来找工作的我,显然是不会UDO的,后来采用了将handle值写到部件属性里,然后每次打开工具对话框前先去部件属性里读,在给到对话框里.在然后项目没做完我就特么滚蛋了. 时隔差不多两年,以前技术底子太差,好多东西都不懂,直到最近我对UDO才有了一些认知了解,会…
第一次调用 :返回第一个启用层中的第一个对象. 第二次调用 :返回下一个已启用层中的下一个对象. 最后一次调用:当所有对象都被耗尽时,将返回object_tag = NULL_TAG. 在循环数据库时,不要尝试删除对象. 当 当前对象已被删除时,尝试读取下一个对象时,可能会出现问题. 要删除对象,保存一个包含对象的数组,然后在完成循环后,使用 UF_OBJ_delete_array_of_objects删除保存的对象数组. 查找当前工作部件下,工作图层中的所有体 例子: extern DllEx…