赞
踩
文章作者:里海
来源网站:https://blog.csdn.net/WangPaiFeiXingYuan
Defined in: uf_ui.h
int UF_UI_create_toolbar(char file_name, int show, UF_UI_toolbar_id_t * tool_id )*
Creates a toolbar from the given .tbr file. The file name should not have
any hard coded path and should exist in one of the Open application
directories. The show parameter is only used to show or hide the toolbar
when it is loaded for the first time. On all subsequent loads, the show/hide
value as recorded in the users registry is used.
In order to be successfully loaded, the .tbr file must be located in the
application subdirectory of one of the directories listed in the file
pointed to by UGII_CUSTOM_DIRECTORY_FILE, which defaults to
$UGII_BASE_DIR/ugii/menus/custom_dirs.dat.
Example:
UF_UI_toolbar_id_t id = NULL;
error = UF_UI_create_toolbar(“my.tbr”, 1, &id);
对象创建工具栏。Tbr 文件。文件名不应该有任何硬编码路径,并且应该存在于 Open 应用程序的一个目录中。Show 参数仅用于在第一次加载工具栏时显示或隐藏工具栏。在所有后续加载中,将使用用户注册表中记录的 show/hide 值。若要成功加载,请使用。Tbr 文件必须位于 UGII _ CUSTOM _ DIRECTORY _ FILE 指向的文件中列出的一个目录的应用程序子目录中,该目录默认为 $UGII _ BASE _ DIR/UGII/menu/custom_ dirs。那个。示例: UF _ UI _ toolbar _ id _ t id = NULL; error = UF _ UI _ create _ toolbar (“ my.tbr”,1,& id) ;
欢迎订阅《里海NX二次开发3000例专栏》https://blog.csdn.net/wangpaifeixingyuan/category_8840986.html,点击链接扫码即可订阅(持续更新中)。已经有几百人订阅,订阅是永久的,无限期阅读,如需帮助请私信。
char* | file_name | Input | The .tbr file name without any hard coded path 没有任何硬编码路径的.tbr 文件名 |
int | show | Input | Initial visibility of the toolbar (1 = show; 0 = hide) 工具栏的初始可见性(1 = show; 0 = hide) |
UF_UI_toolbar_id_t * | tool_id | Output to UF_free | Toolbar id if creation is successful 如果创建成功,则使用工具栏 id |
#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);
}
效果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。