NX二次开发UF_UI_open_part 函数介绍

这篇具有很好参考价值的文章主要介绍了NX二次开发UF_UI_open_part 函数介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章作者:里海
来源网站:https://blog.csdn.net/WangPaiFeiXingYuan


UF_UI_open_part

Defined in: uf_ui.h 
int UF_UI_open_part(const UF_UI_err_p_t error_fn, char file_name [ MAX_FSPEC_BUFSIZE ] , logical * unused, tag_t * part, int * response, UF_PART_load_status_t * error_status )

overview 概述

Opens a part and makes it the work part using the File–>Open File
Selection Dialog.

使用文件-> 打开文件选择对话框打开一个部件并使其成为工作部件。

UFUN例子

欢迎订阅《里海NX二次开发3000例专栏》https://blog.csdn.net/wangpaifeixingyuan/category_8840986.html,点击链接扫码即可订阅(持续更新中)。已经有几百人订阅,订阅是永久的,无限期阅读,如需帮助请私信。

parameters 参数

const UF_UI_err_p_t error_fn Input Pointer to data structure and user-defined error handling function.
指向数据结构的指针和用户定义的错误处理函数。
char file_name [ MAX_FSPEC_BUFSIZE ] Input / Output On input default part name to use for part open dialog. On output the name of the part to open.
在输入默认零件名称用于零件打开对话框。在输出时要打开的部件的名称。
logical * unused Input Parameter is no longer used; left for forward compatibility
参数不再使用; 留作向前兼容
tag_t * part Output Pointer to tag of part that was just opened (only valid if response = UF_UI_OK).
指向刚打开的部分的标记的指针(只有当 response = UF _ UI _ OK 时才有效)。
int * response Output User response from dialog: UF_UI_OK UF_UI_CANCEL
对话框中的用户响应: UF _ UI _ OK UF _ UI _ CANCEL
UF_PART_load_status_t * error_status Output to UF_free The user allocated structure <error_status> is filled with the names and associated error codes of any parts that did not load correctly. The allocated arrays must be freed with UF_free_string_array and UF_free(). For details see the definition of UF_PART_load_status_t.
用户分配的结构 < error _ status > 用未正确加载的任何部件的名称和相关错误代码填充。必须使用 UF _ free _ string _ array 和 UF _ free ()释放分配的数组。有关详细信息,请参见 UF _ Part _ load _ status _ t 的定义。

>>> 返回目录

NX二次开发UF_UI_open_part 函数介绍,NX二次开发-函数介绍,NX二次开发,UG二次开发,嵌入式硬件,C++

C++语言在UG二次开发中的应用及综合分析

  1. C++ 是C语言的扩展,它既可以执行C语言的过程化程序设计,也可以进行以抽象数据类型为特点的基于对象的设计,以及面向对象的程序设计。C++ 在处理问题规模上具有很大的适应性。
  2. C++不仅具有计算机高效运行的实用性特征,并且致力于提升大规模程序的编程质量以及程序设计语言的问题描述能力。

在UG二次开发中,C++语言具有以下特点

  1. C++语言支持多种程序设计风格
  2. C++的许多特性以库的形式存在,保证了语言的简洁和开发运行的效率
  3. 与C语言相比,C++引入了面向对象的概念,使得UG二次开发的人机交互界面更加简洁
  4. 通过借助UG自带的2000多种API函数,结合高级语言C++以及编程软件Visual Studio,可以对UG进行二次开发
  5. 需要注意的是,市场上的Visual Studio和UG版本众多,并非所有版本都能兼容

程序设计过程通常包括以下步骤:

  1. 问题分析:对要解决的问题进行深入的分析,理解问题的具体需求和限制。
  2. 需求定义:明确程序的目标和功能,包括用户需求、系统需求等。
  3. 设计:根据需求进行设计,包括算法设计、数据结构设计、界面设计等。
  4. 编码:根据设计的结果,使用一种编程语言将程序代码实现出来。
  5. 测试:通过各种测试方法来确保程序的正确性,包括单元测试、集成测试、系统测试等。
  6. 维护:对程序进行修改和完善,以解决可能出现的问题或满足新的需求。
  7. 文档编写:编写程序文档,描述程序的功能、操作方法、注意事项等。

以下是一个创建体素特征(块、柱、锥、球)的二次开发例子

#include <stdio.h>
#include <stdarg.h>
#include <uf_modl_primitives.h>
#include <uf_ui_ugopen.h>
#include <uf.h>
#include <uf_defs.h>
//封装打印函数,用于将信息打印到信息窗口
//QQ3123197280
int ECHO(const char* szFormat, ...)
{
	char szMsg[5000] = "";
	va_list arg_ptr;
	va_start(arg_ptr, szFormat);
	vsprintf_s(szMsg, szFormat, arg_ptr);
	va_end(arg_ptr);
	UF_UI_open_listing_window();
	
	UF_UI_write_listing_window(szMsg);
	return 0;
}
extern DllExport void ufusr(char* param, int* returnCode, int rlen)
{
	UF_initialize();
	//创建块
	UF_FEATURE_SIGN sign = UF_NULLSIGN;
	//块起点相对于ABS
	double block_orig[3] = { 0.0,0.0,0.0 };
	//方向相对于WCS
	char* block_len[3] = { "10", "30", "10" };
	tag_t blk_obj;//体特征
	UF_MODL_create_block1(sign, block_orig, block_len, &blk_obj);
	int iEdit = 0;  
	char* size[3];
	UF_MODL_ask_block_parms(blk_obj, iEdit, size);
	ECHO("%s,%s,%s\n", size[0], size[1], size[2]);//输出: p6=10,p7=30,p8=10
	//创建圆柱
	UF_FEATURE_SIGN sign1 = UF_NULLSIGN;
	double origin[3] = { 10.0,0.0,10.0 };
	char  height[] = "20";
	char  diam[] = "10";
	double direction[3] = { 0,0,1 };//方向
	tag_t  cyl_obj_id;
	UF_MODL_create_cyl1(sign1, origin, height, diam, direction, &cyl_obj_id);
	int iEdit2 = 0;  
	char* cDiameter;
	char* cHeight;
	UF_MODL_ask_cylinder_parms(cyl_obj_id, iEdit2, &cDiameter, &cHeight);
	ECHO("%s,%s\n", cDiameter, cHeight);//输出:p9=10,p10=20
	UF_free(cDiameter);
	UF_free(cHeight);
	//创建圆锥
	UF_FEATURE_SIGN sign2 = UF_NULLSIGN;
	double origin2[3] = { 0.0,0.0,10.0 };
	char  height2[] = "20";
	char* diam2[2] = { "10" ,"5" };
	double direction2[3] = { 0,0,1 };//方向
	tag_t  cone_obj_id;
	UF_MODL_create_cone1(sign2, origin2, height2, diam2, direction2, &cone_obj_id);
	int iEdit3 = 0;  
	char* cD1;
	char* cD2;
	char* cH;
	char* cAngle;
	UF_MODL_ask_cone_parms(cone_obj_id, iEdit3, &cD1, &cD2, &cH, &cAngle);
	ECHO("%s,%s,%s,%s\n", cD1, cD2, cH, cAngle);//输出:p11=10,p12=5,p13=20,p14=7.1250163489018
	UF_free(cD1);
	UF_free(cD2);
	UF_free(cH);
	UF_free(cAngle);
	//创建球
	UF_FEATURE_SIGN sign3 = UF_NULLSIGN;
	double douCenter2[3] = { 0.0,0.0,30.0 };
	char  cDiam[] = "8";
	tag_t  sphere_obj_id;
	UF_MODL_create_sphere1(sign3, douCenter2, cDiam, &sphere_obj_id);
	int iEdit4 = 0;  
	char* cDiam_parm;
	UF_MODL_ask_sphere_parms(sphere_obj_id, iEdit4, &cDiam_parm);
	ECHO("%s\n", cDiam_parm);//输出:p15=8
	UF_free(cDiam_parm);
	UF_terminate();
}
extern int ufusr_ask_unload(void)
{
	return (UF_UNLOAD_IMMEDIATELY);
}

效果:
NX二次开发UF_UI_open_part 函数介绍,NX二次开发-函数介绍,NX二次开发,UG二次开发,嵌入式硬件,C++文章来源地址https://www.toymoban.com/news/detail-860136.html

到了这里,关于NX二次开发UF_UI_open_part 函数介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NX二次开发UF_MODL_add_thru_faces 函数介绍

    文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan Defined in: uf_modl.h  int UF_MODL_add_thru_faces(tag_t feature_eid, int number_of_faces, tag_t face_eids [ ] ) Adds thru faces to a hole or slot feature. A hole uses one thru face and a slot uses two. 增加通过面孔或插槽的功能。一个孔使用一个通过面孔和插槽

    2024年04月12日
    浏览(34)
  • NX二次开发UF_ASSEM_ask_used_arrangement 函数介绍

    文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan Defined in: uf_assem.h  int UF_ASSEM_ask_used_arrangement(tag_t component, tag_t * arrangement ) Get an explosion used in a view. Outputs the tag of the explosion which is displayed in the view, or a NULL_TAG if the view is displaying the real assembly. 在视野中制造爆炸。输

    2024年04月16日
    浏览(33)
  • NX二次开发UF_VEC3_is_perpendicular 函数介绍

    Defined in: uf_vec.h  void UF_VEC3_is_perpendicular(const double vec1 [ 3 ] , const double vec2 [ 3 ] , double tolerance, int * is_perp ) Determine if vectors are perpendicular an input tolerance. If the cosine of the angle between vec1 and vec2 is less than the tolerance, then a TRUE is returned. Otherwise FALSE is returned. To check perpendicularity with

    2024年01月15日
    浏览(40)
  • NX二次开发UF_VEC3_ask_perpendicular 函数介绍

    Defined in: uf_vec.h  void UF_VEC3_ask_perpendicular(const double vec1 [ 3 ] , double vec_perp [ 3 ] ) Returns a 3D vector that is perpendicular to the input vector 返回一个垂直于输入向量的3D 向量 欢迎订阅《里海NX二次开发3000例专栏》https://blog.csdn.net/wangpaifeixingyuan/category_8840986.html,点击链接扫码即可订阅(持

    2024年02月04日
    浏览(39)
  • NX二次开发UF_VEC2_ask_perpendicular 函数介绍

    Defined in: uf_vec.h  void UF_VEC2_ask_perpendicular(const double vec1 [ 2 ] , double vec_perp [ 2 ] ) Returns a 2D vector that is perpendicular to the input vector 返回一个垂直于输入向量的2D 向量 欢迎订阅《里海NX二次开发3000例专栏》https://blog.csdn.net/wangpaifeixingyuan/category_8840986.html,点击链接扫码即可订阅(持

    2024年02月03日
    浏览(56)
  • NX二次开发UF_CURVE_section_from_perpcrv_planes 函数介绍

    Defined in: uf_curve.h  int UF_CURVE_section_from_perpcrv_planes(UF_CURVE_section_general_data_p_t general_data, UF_CURVE_section_perpcrv_data_p_t perpcrv_data, tag_t * section_curves ) Creates an associative section curve feature or non-associative group of section curves using a set of planes perpendicular to a curve. NOTE - If an object in the general da

    2024年02月03日
    浏览(34)
  • UG\NX二次开发 非模态消息对话框函数 UF_UI_display_nonmodal_msg

    文章作者:里海 来源网站: https://blog.csdn.net/WangPaiFeiXingYuan         uc1601函数提供了一个模态消息对话框,ufun函数中还有一个非模态消息对话框,运行一次弹出一个窗口,不点确定不消失,对话框显示后不影响使用其他命令运行。         UF_UI_display_nonmodal_msg的第二个参

    2024年02月15日
    浏览(48)
  • UG NX二次开发(C++)-用UF_OBJ_cycle_objs_in_part遍历对象

    UG NX二次开发中,比如体、面、边等,在NXOpen中可以通过Collection来实现,但是采用遍历对象的方式也能实现,这就要需要UF_OBJ_cycle_objs_in_part的函数。本文就介绍一下这个方法的使用。 打开UG NX软件,在UG NX视图区创建多个特征,如下图所示: 这个三维模型中,包含了三个长方

    2024年02月02日
    浏览(36)
  • UG\NX二次开发 结构体UF_UI_mask_s、UF_UI_mask_t、UF_UI_mask_p_t解释

    文章作者:里海 来源网站:里海NX二次开发3000例专栏 感谢\\\"小余努力变优秀 \\\"订阅本专栏,非常感谢。 在开发中我们会遇到一些函数例如 UF_UI_select_single UF_UI_select_by_class 会用到这些结构体 在 uf_ui_types.h 头文件中有这样的说明:

    2024年02月04日
    浏览(54)
  • UG/NX二次开发 选择坐标系控件 UF_UI_specify_csys

    文章作者:里海 来源网站: https://blog.csdn.net/WangPaiFeiXingYuan UG/NX二次开发 选择坐标系控件 UF_UI_specify_csys 与 老函数uc1630相比,函数的第二个参数更丰富,如下图所示。而且多一个坐标系的tag的输出参数。       

    2024年02月12日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包