当前位置: 首页 > news >正文

NX二次开发UF_CAM_ask_post_template_name 函数介绍

文章作者:里海
来源网站:里海NX二次开发3000例专栏

UF_CAM_ask_post_template_name

Defined in: uf_cam.h 
int UF_CAM_ask_post_template_name(const char * * post_template_filename )

overview 概述

This function provides the name of the file that stores the list of
available POST templates. This is determined by the contents of
cam_config.dat.

此函数提供存储可用 POST 模板列表的文件的名称。这由 cam _ config 的内容决定。那个。

UFUN例子

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

parameters 参数

const char * *post_template_filenameOutput to UF_free- see function comments
- 见函数注释

分割

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;//块起点相对于ABSdouble block_orig[3] = { 0.0,0.0,0.0 };//方向相对于WCSchar* 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=20UF_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.1250163489018UF_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=8UF_free(cDiam_parm);UF_terminate();
}
extern int ufusr_ask_unload(void)
{return (UF_UNLOAD_IMMEDIATELY);
}

效果:
效果

相关文章:

  • 命令执行无回显的判断方法及dnslog相关例题的讲解
  • 【金融分析】Python:病人预约安排政策 | 金融模拟分析
  • 3.8-镜像的发布
  • Java 12 及Tomcat 部署配置
  • BUUCTF [BJDCTF2020]一叶障目 1
  • vscode设置前进、后退快捷键
  • CISP模拟试题(一)
  • 鸿蒙APP外包开发上线流程
  • GaussDB新特性Ustore存储引擎介绍
  • BUUCTF 菜刀666 1
  • Linux——编译器gcc/g++、调试器gdb以及自动化构建工具makefilemake详解
  • 【Python】 Python 操作PDF文档
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • 应用软件安全编程--24不要使用硬编码密匙
  • 如何通过cpolar内网穿透工具实现远程访问本地postgreSQL
  • 分享的文章《人生如棋》
  • 【刷算法】求1+2+3+...+n
  • Angular 2 DI - IoC DI - 1
  • github从入门到放弃(1)
  • java概述
  • Python十分钟制作属于你自己的个性logo
  • Redis 中的布隆过滤器
  • spring security oauth2 password授权模式
  • Spring声明式事务管理之一:五大属性分析
  • Wamp集成环境 添加PHP的新版本
  • zookeeper系列(七)实战分布式命名服务
  • 大型网站性能监测、分析与优化常见问题QA
  • 双管齐下,VMware的容器新战略
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • %@ page import=%的用法
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (WSI分类)WSI分类文献小综述 2024
  • (八)c52学习之旅-中断实验
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (十六)串口UART
  • (十一)图像的罗伯特梯度锐化
  • (一) storm的集群安装与配置
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET 5种线程安全集合
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NetCore 如何动态路由
  • .Net面试题4
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)