NX二次開發UF_CSYS_create_temp_csys 函數介紹

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

UF_CSYS_create_temp_csys

Defined in: uf_csys.h?
int UF_CSYS_create_temp_csys(const double csys_origin [ 3 ] , tag_t matrix_id, tag_t * csys_id )

overview 概述

Creates a temporary coordinate system.

創建一個臨時坐標系。

UFUN例子

歡迎訂閱《里海NX二次開發3000例專欄》https://blog.csdn.net/wangpaifeixingyuan/category_8840986.html,點擊鏈接掃碼即可訂閱(持續更新中)。已經有幾百人訂閱,訂閱是永久的,無限期閱讀,如需幫助請私信。

parameters 參數

const doublecsys_origin [ 3 ]InputThe origin for the coordinate system
坐標系的起源
tag_tmatrix_idInputObject identifier of the matrix associated with the coordinate system
與坐標系關聯的矩陣的對象標識符
tag_t *csys_idOutputObject identifier of the coordinate system
坐標系的對象標識符

分割

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

效果:
效果

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167049.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167049.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167049.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

win10 tensorrt源碼編譯onnx

直接利用官方源碼&#xff0c;如下圖&#xff0c;trtexec源碼在TensorRT安裝目錄下&#xff0c;雙擊trtexec.sln文件&#xff0c;使用vs2019打開源碼工程。 如下圖&#xff0c;以yolov8為例子&#xff0c;編譯成功項目之后&#xff0c;設置命令行參數&#xff1a; --onnxd:/yo…

便攜式工業RFID讀寫器怎么選?

便攜式工業RFID讀寫器在物流、零售、制造等行業都有著極為廣泛的應用。企業利用RFID手持終端設備&#xff0c;可以將采集到的物品信息自動傳輸到中央信息系統&#xff0c;實現數據的實時交換和共享。目前市面上RFID手持終端品牌、型號眾多&#xff0c;ANDEAWELL作為國內物聯網產…

案例精選|聚銘網絡流量智能分析審計系統加強南京市溧水區人社局信息安全防護能力

一字排開的社保綜合服務窗口、實時滾動的數“智”人社大屏、便捷快速的社保卡自助服務機……每位到溧水市民中心人社大廳進行業務辦理的市民對高效的社保服務經辦效率贊嘆不已。 黨的二十大報告提出&#xff0c;健全覆蓋全民、統籌城鄉、公平統一、安全規范、可持續的多層次社…

淺談Linux bash腳本----截取字符串

# 用于刪除左起第一個匹配內容&#xff0c;即截取右側內容 ## 用于刪除右起第一個匹配內容&#xff0c;即截取右側內容 % 用于刪除右起第一個匹配內容&#xff0c;即截取左側內容 %% 用于刪除左起第一個匹配內容&#xff0c;即截取左側內容 舉例 file/dir1/dir2/dir3/…

GPT2-chitchat項目運行

git clone https://github.com/yangjianxin1/GPT2-chitchat.git把項目拉下來 下載模型文件&#xff1a; 從[模型分享]中下載模型文件&#xff0c;例如 model_epoch40_50w。 將模型文件放到正確的位置&#xff1a; 將下載的模型文件夾 model_epoch40_50w 放到項目的 model 目錄…

深入理解數據結構:隊列的實現及其應用場景

文章目錄 &#x1f342;前言&#x1f342;隊列的基本概念和特性&#x1f342;隊列的實現方式?&#x1f331;順序隊列?&#x1f331;鏈式隊列 &#x1f342;隊列的基本操作及示例代碼?&#x1f951;創建隊列?&#x1f951;判空操作?&#x1f951;入隊操作?&#x1f951;出…

GEE:APP中的遙感圖像下載接口設計

作者:CSDN @ _養樂多_ 本文將詳細介紹如何通過Google Earth Engine(GEE)的用戶界面(ui)模塊創建一個下載按鈕,以觸發遙感圖像下載的操作。通過按鈕的點擊事件,我們生成了包含特定參數的圖像下載鏈接,實現了一鍵式遙感圖像下載功能,使整個過程更加智能和直觀。 此外,…

java操作富文本插入到word模板

最近項目有個需求&#xff0c;大致流程是前端保存富文本&#xff08;html的代碼&#xff09;到數據庫&#xff0c;后臺需要將富文本代碼轉成帶格式的文字&#xff0c;插入到word模板里&#xff0c;然后將word轉成pdf&#xff0c;再由前端調用接口下載pdf文件&#xff01; 1、思…

代碼隨想錄算法訓練營第30天|回溯總結 332. 重新安排行程

回溯是遞歸的副產品&#xff0c;只要有遞歸就會有回溯&#xff0c;所以回溯法也經常和二叉樹遍歷&#xff0c;深度優先搜索混在一起&#xff0c;因為這兩種方式都是用了遞歸。 回溯法就是暴力搜索&#xff0c;并不是什么高效的算法&#xff0c;最多再剪枝一下。 回溯算法能解…

Linux安裝Tesseract-OCR(操作系統CentOS)

Linux安裝Tesseract-OCR 第一步&#xff0c;安裝依賴第二步&#xff0c;下載安裝包第三步&#xff0c;安裝leptonica庫第四步&#xff0c;安裝tesseract第五步&#xff0c;添加語言包第六步&#xff0c;測試 第一步&#xff0c;安裝依賴 sudo yum install libpng-devel rpm -q…

從零學算法400

400.給你一個整數 n &#xff0c;請你在無限的整數序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的數字。 示例 1&#xff1a; 輸入&#xff1a;n 3 輸出&#xff1a;3 示例 2&#xff1a; 輸入&#xff1a;n 11 輸出&#xff1a;0 解釋&#xff1a;第…

ubuntu22.04 arrch64版在線安裝mysql8

腳本 # todo參考鏈接 Ubuntu服務器配置mysql8_ubuntu安裝mysql8-CSDN博客

樂得瑞LDR6020 VR串流線方案:實現同時充電傳輸視頻信號

VR&#xff08;Virtual Reality&#xff09;&#xff0c;俗稱虛擬現實技術&#xff0c;是一項具有巨大潛力的技術創新&#xff0c;正在以驚人的速度改變我們的生活方式和體驗&#xff0c;利用專門設計的設備&#xff0c;如頭戴式顯示器&#xff08;VR頭盔&#xff09;、手柄、定…

三菱PLC定時中斷應用編程(計數器+比較器)

三菱PLC如何開啟定時中斷可以查看下面文章鏈接: PLC定時中斷程序應用注意事項(西門子三菱信捷)_plc設置斷點之后會怎樣_RXXW_Dor的博客-CSDN博客文章瀏覽閱讀2.5k次,點贊5次,收藏6次。首先我們了解下什么是中斷。中斷(打斷的意思),在PLC執行當前程序時,由于系統出現了…

抖音推廣實戰,教你如何快速成長

一、背景介紹 隨著移動互聯網的飛速發展&#xff0c;抖音作為一款短視頻平臺&#xff0c;已經成為越來越多人生活中的一部分。它不僅提供了豐富多彩的內容&#xff0c;還為商家提供了推廣產品的絕佳平臺。本文將為大家詳細解析抖音推廣實戰&#xff0c;幫助大家快速成長。 二…

基于SSM的老年公寓信息管理(有報告)。Javaee項目

演示視頻&#xff1a; 基于SSM的老年公寓信息管理&#xff08;有報告&#xff09;。Javaee項目 項目介紹&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三層體系結構&#xff0c;通過Spring SpringMvc …

Spring Boot 應用的 Docker 化:從 Maven 構建到 Docker 部署的完整指南

1. 使用Dockerfile部署 # 使用Java 8基礎鏡像 FROM java:8 LABEL authors"mabh"# 設置時區為Asia/Shanghai&#xff0c;可以根據需要更改 ENV TIME_ZONEAsia/Shanghai# 更新時區 RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_…

堆的實現(C語言版)

文章目錄 概述堆的實現初始化銷毀插入刪除取堆頂元素求堆的長度判斷堆是否為空 完整代碼 概述 如果有一個關鍵碼的集合K {k0,k1,k2…kn-1}&#xff0c;把它的所有元素按完全二叉樹的順序存儲方式存儲在一個一維數組中&#xff0c;并滿足&#xff1a;Ki <K2*i1 且 Ki<K2…

Python Opencv實踐 - 全景圖片拼接stitcher

做一個全景圖片切片的程序Spliter 由于手里沒有切割好的全景圖片資源&#xff0c;因此首先寫了一個切片的程序spliter。 如果有現成的切割好的待拼接的切片文件&#xff0c;則不需要使用spliter。 對于全景圖片的拼接&#xff0c;需要注意一點&#xff0c;各個切片圖片之間要有…

NX二次開發UF_CSYS_map_point 函數介紹

文章作者&#xff1a;里海 來源網站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_map_point Defined in: uf_csys.h int UF_CSYS_map_point(int input_csys, double input_point [ 3 ] , int output_csys, double output_point [ 3 ] ) overview 概述 Ma…