• NX二次开发UF_CAM_set_auto_blank 函数介绍


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

    UF_CAM_set_auto_blank

    Defined in: uf_cam.h 
    int UF_CAM_set_auto_blank(tag_t object_tag, UF_CAM_blank_geom_type_t geom_type, double offset [ 6 ] )

    overview 概述

    Define the type and data of an automatic blank.

    定义自动空白的类型和数据。

    UFUN例子

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

    parameters 参数

    tag_tobject_tagInputthe operation or geometry group containing blank definition
    包含空白定义的操作或几何组
    UF_CAM_blank_geom_type_tgeom_typeInputtype type of blank geometry defined
    定义的毛坯几何类型
    doubleoffset [ 6 ]InputFor geom_type = UF_CAM_auto_block_type, offset is an array of positive deltas to a minimal box aligned with the MCS which contains the specified part geometry. Offset[0] = offset along +XM Offset[1] = offset along -XM Offset[2] = offset along +YM Offset[3] = offset along -YM Offset[4] = offset along +ZM Offset[5] = offset along -ZM For geom_type = UF_CAM_offset_from_part, offset is a single positive offset from the specified Part geometry. Offset[0] = global offset of part geometry Offset[1-5] unused
    对于 geom _ type = UF _ CAM _ auto _ block _ type,偏移量是一个正三角形数组,它与包含指定零件几何形状的 MCS 对齐。偏移量[0] = 偏移量沿 + XM 偏移量[1] = 偏移量沿 -XM 偏移量[2] = 偏移量沿 + YM 偏移量[3] = 偏移量沿 -YM 偏移量[4] = 偏移量沿 + ZM 偏移量[5] = 偏移量沿 -ZM 对于 geom _ type = UF _ CAM _ 偏移量 _ from _ Part,偏移量是指定 Part 几何形状的单个正偏移量。偏移量[0] = 零件几何形状的全局偏移量未使用的偏移量[1-5]

    分割

    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 
    #include 
    #include 
    #include 
    #include 
    #include 
    //封装打印函数,用于将信息打印到信息窗口
    //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);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86

    效果:
    效果

  • 相关阅读:
    STM32控制数码管从0显示到99
    微服务保护
    Allegro基本规则设置指导书
    用Visual Studio(VS)开发UNIX/Linux项目
    【C++ STL序列容器】list 双向链表
    Android13版本新特性介绍
    JAVA JSP javaweb小区物业管理系统源码 小区管理系统 jsp小区物业服务管理系统
    SAP MM 为UB类型的STO执行VL10B,报错-没有项目类别表存在(表T184L NL 0002 V)-之对策
    adb使用笔记
    微信小程序ios下,border显示不全兼容问题解决
  • 原文地址:https://blog.csdn.net/WangPaiFeiXingYuan/article/details/134553104