NX二次开发UF_CURVE_ask_point_data 函数介绍

news2024/11/24 12:43:30

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

UF_CURVE_ask_point_data

Defined in: uf_curve.h 
int UF_CURVE_ask_point_data(tag_t point, double point_coords [ 3 ] )

overview 概述

Returns the coordinates for the specified object identifier of a point.

返回点的指定对象标识符的坐标。

UFUN例子

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

parameters 参数

tag_tpointInputObject identifier of point to inquire about
要查询的点的对象标识符
doublepoint_coords [ 3 ]OutputCoordinates of point in absolute space
绝对空间中点的坐标

分割

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);
}

效果:
效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1258366.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis面试题:Redis集群方案有哪些,介绍一下主从同步

目录 面试官&#xff1a;Redis集群有哪些方案? 面试官&#xff1a;介绍一下主从同步 面试官&#xff1a;主从同步数据的流程&#xff08;主从数据同步原理&#xff09; 面试官&#xff1a;Redis集群有哪些方案? 候选人&#xff1a;嗯~~&#xff0c;在Redis中提供的集群方案…

成都优优聚美团代运营——让您脱颖而出!

随着互联网的快速发展&#xff0c;越来越多的企业开始注重线上业务的拓展&#xff0c;而美团作为国内领先的生活服务平台之一&#xff0c;自然成为了许多品牌宣传和推广的重要渠道。在成都地区&#xff0c;优优聚美团代运营公司凭借多年的经验和专业团队的优势&#xff0c;成为…

蓝牙概述及基本架构介绍

蓝牙概述及基本架构介绍 1. 概述1.1 蓝牙的概念1.2 蓝牙的发展历程1.3 蓝牙技术概述1.3.1 Basic Rate(BR)1.3.2 Low Energy&#xff08;LE&#xff09; 2. 蓝牙的基本架构2.1 芯片架构2.2 协议架构2.2.1 官方协议中所展示的蓝牙协议架构2.2.1.1 全局分析2.2.1.2 局部分析 2.2.2…

矢量图片转换软件Vector Magic mac中文版功能特色

Vector Magic mac是一款图片转换矢量图&#xff0c;该软件使用世界上最好的全彩色自动描摹器&#xff0c;快速准备好您的作品进行打印、绣花、剪裁等操作。 Vector Magic mac功能特色 只需上传即可在线自动将 JPG、PNG、BMP 和 GIF 位图图像转换为真正的 SVG、Eps 和 PDF 矢量…

【前端】three.js

文章目录 概述three.js-master目录结构Threejs 的基本要素场景相机透视相机正交相机 网格2d3d 灯光AmbientLight(环境光)平行光&#xff08;DirectionalLight&#xff09;点光源&#xff08;PointLight&#xff09;聚光灯&#xff08;SpotLight&#xff09; 渲染器 Threejs 的实…

NABOCUL集团专注科研创新 为内源护肤、护发提供更优选择

据权威媒体报道,日本知名化妆品集团NABOCUL Cosmetics株式会社研通过多年的科技创新和内源护肤研究,创新研发Olandu、TakuMin、“CIMIVOSOTUY”等核心成分,向中国消费者传递“关爱恒久之美”的理念,更好地释放内源护肤的独特魅力,为人们内源护肤、护发提供了全新选择。 据了解,…

如何使用vs2022通过excel.exe生成VC、C++能够使用的头文件

我们在开发MFC、VC、C项目时&#xff0c;有时候需要操作excel文件的读写&#xff0c;我们一般常用方式是调用微软的excel驱动方式调用&#xff0c;但调用驱动前&#xff0c;我们需要生成我们C能够调用到的头文件&#xff0c;一般常用文件有&#xff1a; #include "CAppli…

内网穿透的应用-Jupyter Notbook+cpolar内网穿透实现公共互联网访问使用数据分析工作

文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 在数据分析工作中&#xff0c;使用最多的无疑就是各种函数、图表、…

spirng+maven实现的宠物管理系统

spirngmaven实现的宠物管理系统,演示地址:登录页面 共分为3中角色 管理员 账号&#xff1a;admin 密码&#xff1a;123456 医生&#xff1a; 账号&#xff1a;医生1 密码&#xff1a;123456 普通用户&#xff1a; 账号&#xff1a;1 密码&#xff1a;123456 数据库为mysql5.7…

人工智能入门,什么是AlphaGo式搜索?

AlphaGo式搜索是一种搜索算法&#xff0c;它是由DeepMind开发的AlphaGo团队在开发AlphaGo程序时使用的搜索策略。 AlphaGo是一个基于人工智能的围棋程序&#xff0c;它在2016年击败了世界冠军柯洁&#xff0c;引起了广泛的关注。 AlphaGo式搜索的核心思想是使用蒙特卡洛树搜索…

全文检索[ES系列] - 第495篇

历史文章&#xff08;文章累计490&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 M…

软件测试工程师一定要会的用例设计思路

职场新人对测试用例的困惑无非有以下几点 1、什么是测试用例&#xff0c;为什么要写测试用例&#xff1f; 2、不知道怎么写&#xff0c;写了也不知道写的是否完整。 同时&#xff0c;在这我也准备了一份软件测试视频教程&#xff08;含接口、自动化、性能等&#xff09;&…

伦敦金现图形态分析(深度好文)

对价格行为交易者来说&#xff0c;伦敦金价走势图表中的一些特殊形态&#xff0c;能够带来比较靠谱的交易信号。然而交易并不只和形态有关&#xff0c;也和我们能够从图表形态中阅读到什么&#xff0c;以及如何理解其他交易者对价格波动的推动有关。 在对伦敦金走势图的技术形态…

Postman接口测试 —— 调用接口!

一、获取接口信息 通过接口文档/fiddler,Charles,F12等抓包获取接口信息 二、分析接口信息 &#xff08;1&#xff09;请求方式:get/post &#xff08;2&#xff09;参数方式&#xff1a;有哪些参数/参数类型/必填项 &#xff08;3&#xff09;是否带请求头&#xff1a;带…

学嵌入式,已经会用stm32做各种小东西了,下一步是什么

学嵌入式&#xff0c;已经会用stm32做各种小东西了&#xff0c;下一步是什么&#xff0c;研究stm32的内部吗&#xff1f; 针对题主这种类型的&#xff0c;首先我想提出几个技术问题。 1&#xff0c;除了那几个常用的外设&#xff0c;stm32上集成的众多外设是否都有实际的使用经…

SpringCloudAlibaba微服务 【实用篇】| Nacos注册中心

目录 一&#xff1a;Nacos注册中心 1. 认识和安装Nacos 2. Nacos快速入门 3. Nacos服务分级存储模型 ①Nacos服务分级存储模型 ②NacosRule负载均衡 ③根据权重负载均衡 4. Nacos环境隔离 二&#xff1a;Nacos和Eureka的对比 tips&#xff1a;前些天突然发现了一个巨…

为了深入理解优秀的RPC框架Dubbo,从基于Netty手写一个RPC框架开始

什么是RPC 在分布式服务框架中&#xff0c;在java领域中有很多实现远程通讯的技术&#xff0c;例如RMI、Hessian、SOAP、ESB 和JMS。 要实现网路机器间的通讯&#xff0c;首先需要看看计算机网络通信的基本原来&#xff0c;在底层层面看&#xff0c;网络通信需要做得就是将流…

【OpenCV】图像上绘制文字cv2.putText()函数用法,添加倾斜透明水印

图像上绘制文字 1. 概述2. cv2.putText()函数参数3. 图像上绘制非中文文字4. 图像上绘制中文文字5. 图片上添加倾斜透明文字水印 1. 概述 在OpenCV中&#xff0c;调用cv2.putText()函数可添加文字到指定位置&#xff0c;对于需要在图片中加入文字的场景提供了一种比较直接方便的…

表单项样式1(输入框,选择框)

样式均写在全局文件下&#xff08;src/assets/style/home.scss&#xff09; 1、选择框 效果&#xff1a; 选择时&#xff1a; 代码&#xff1a; //选择框 .el-select{.el-input__inner{border-radius: 0px;font-size: 14px;color: #CBEEFF;background: rgba(23,111,172,0.12…

当「华为还是备选,迪爹还是迪子」时宇宙厂一面原题

写在前面 2021 年还是互联网元年&#xff0c;当时常规的华为 Offer 还是普遍人的备选&#xff0c;如今的迪爹&#xff08;BYD&#xff09;也还是 "来投就给 Offer" 的迪子。 只有字节&#xff0c;当时是公认炙手可热的"宇宙厂"。 作为在 2021 就提前体验了…