UG 二次開發- UG內部調用DLL

【1】用VS新建一個dll工程

將項目設置為x64平臺(這步很重要,否則程序無法編譯成功)

【2】添加UG頭文件目錄,屬性頁->C/C++->常規->附加包含目錄

【3】添加UG庫所在目錄,屬性頁->鏈接器->常規->附加庫目錄

【4】添加附加依賴項,屬性頁->鏈接器->輸入->附加依賴項

輸入:

libufun.lib
libugopenint.lib
libvmathpp.lib
libnxopencpp.lib
libnxopenuicpp.lib

【5】添加所有lib作為依賴項(此步可跳過)

dos命令行輸入下邊兩行命令,將會在e盤111.txt中寫入“\NX 12.0\UGOPEN”所有lib文件名稱

C:\Users\Administrator>cd /d C:\Program Files\Siemens\NX 12.0\UGOPEN
C:\Program Files\Siemens\NX 12.0\UGOPEN>dir /b *.lib*>e:\111.txt

【6】代碼:注釋掉DllMain,ufusr為NX的接口函數

// dllmain.cpp : 定義 DLL 應用程序的入口點。
#include "pch.h"
//#pragma comment(lib, "C:\\Program Files\\Siemens\\NX 10.0\\UGOPEN\\libugopenint.lib")
//#pragma comment(lib, "C:\\Program Files\\Siemens\\NX 10.0\\UGOPEN\\ugopenui.lib.lib")
#include "uf.h"				// 包含常用 UF 函數的聲明
#include "uf_modl.h"		// 包含建模相關的 UF 函數聲明
#include "uf_ui.h"			// 包含界面操作相關的 UF 函數聲明
#include <stdio.h>// 實際工作函數
static void do_work(void)
{uc1601("do task!", 1);return;}void ufusr(char* param, int* retcode, int paramLen)
{if (!UF_initialize())//獲取二次開發許可 {uc1601("獲取開發許可成功!", 1);//獲取二次開發許可失敗,提示用戶 do_work();//實際工作函數 UF_terminate();//釋放二次開發許可 }else{uc1601("獲取開發許可失敗,退出!", 1);//獲取二次開發許可失敗,提示用戶 }
}/*
BOOL APIENTRY DllMain( HMODULE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved)
{switch (ul_reason_for_call){case DLL_PROCESS_ATTACH:case DLL_THREAD_ATTACH:case DLL_THREAD_DETACH:case DLL_PROCESS_DETACH:break;}return TRUE;
}*/

【7】調用

新建一個模型

Ctrl+U或者文件->執行->NX Open

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

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

相關文章

wordcount在mapreduce的例子

1.啟動集群 2.創建項目 項目結構為&#xff1a; 3.pom.xml文件為 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://mave…

智慧城市綜合運營管理系統Axure原型

這款Axure原型的設計理念緊緊圍繞城市管理者的需求展開。它旨在打破傳統城市管理中信息孤島的局面&#xff0c;通過統一標準接入各類業務系統&#xff0c;實現城市運營管理信息資源的全面整合與共享。以城市管理者為中心&#xff0c;為其提供一個直觀、便捷、高效的協同服務平臺…

Go語言:json 作用和語法

在 Go 語言中&#xff0c;JSON 字段&#xff08;也稱為 JSON Tag&#xff09;是附加在結構體字段上的元數據&#xff0c;用于控制該字段在 JSON 編碼&#xff08;序列化&#xff09;和解碼&#xff08;反序列化&#xff09; 時的行為。它的語法是&#xff1a; type StructName…

MATLAB復制Excel數據到指定區域

Matlab中如何將Excel表中的265-528行F-AA列數據復制到1-263行AE-AZ中 版本&#xff1a;MatlabR2018b clc; clear; %舊Excel文件名 oldFile ; %新Excel文件名 newFile ; % 工作表名稱&#xff08;舊表和新表一致&#xff09; sheetName Sheet1; % 舊文件中待復制的數據范…

vue3+flask+sqlite前后端項目實戰

基礎環境安裝 pycharm 下載地址&#xff1a; https://www.jetbrains.com/zh-cn/pycharm/download/?sectionwindows vscode 下載地址 https://code.visualstudio.com/docs/?dvwin64user python 下載地址 https://www.python.org/downloads/windows/ Node.js&#xff08;含npm…

Java 內存模型(JMM)與內存屏障:原理、實踐與性能權衡

Java 內存模型&#xff08;JMM&#xff09;與內存屏障&#xff1a;原理、實踐與性能權衡 在多線程高并發時代&#xff0c;Java 內存模型&#xff08;JMM&#xff09; 及其背后的內存屏障機制&#xff0c;是保障并發程序正確性與性能的基石。本文將系統梳理 JMM 的核心原理、內…

動手學深度學習12.3.自動并行-筆記練習(PyTorch)

以下內容為結合李沐老師的課程和教材補充的學習筆記&#xff0c;以及對課后練習的一些思考&#xff0c;自留回顧&#xff0c;也供同學之人交流參考。 本節課程地址&#xff1a;無 本節教材地址&#xff1a;12.3. 自動并行 — 動手學深度學習 2.0.0 documentation 本節開源代…

C++類和對象之初始化列表

初始化列表 C初始化列表詳解&#xff1a;性能優化與正確實踐什么是初始化列表&#xff1f;初始化列表的三大核心作用1. 性能優化&#xff1a;避免不必要的賦值操作2. 強制初始化&#xff1a;處理const和引用成員3. 基類初始化&#xff1a;正確調用父類構造函數4.必須使用初始化…

continue通過我們的開源 IDE 擴展和模型、規則、提示、文檔和其他構建塊中心,創建、共享和使用自定義 AI 代碼助手

?一、軟件介紹 文末提供程序和源碼下載 Continue 使開發人員能夠通過我們的開源 VS Code 和 JetBrains 擴展以及模型、規則、提示、文檔和其他構建塊的中心創建、共享和使用自定義 AI 代碼助手。 二、功能 Chat 聊天 Chat makes it easy to ask for help from an LLM without…

基于Spring Boot + Vue的母嬰商城系統( 前后端分離)

一、項目背景介紹 隨著母嬰行業在互聯網平臺的快速發展&#xff0c;越來越多的家庭傾向于在線選購母嬰產品。為了提高商品管理效率和用戶購物體驗&#xff0c;本項目開發了一個基于 Spring Boot Vue 技術棧的母嬰商城系統&#xff0c;實現了商品分類、商品瀏覽、資訊展示、評…

實戰演練:用 AWS Lambda 和 API Gateway 構建你的第一個 Serverless API

實戰演練:用 AWS Lambda 和 API Gateway 構建你的第一個 Serverless API 理論千遍,不如動手一遍!在前面幾篇文章中,我們了解了 Serverless 的概念、FaaS 的核心原理以及 BaaS 的重要作用。現在,是時候把這些知識運用起來,親手構建一個簡單但完整的 Serverless 應用了。 …

node.js 實戰——express圖片保存到本地或服務器(七牛云、騰訊云、阿里云)

本地 ? 使用formidable 讀取表單內容 npm i formidable ? 使用mime-types 獲取圖片后綴 npm install mime-types? js 中提交form表單 document.getElementById(uploadForm).addEventListener(submit, function(e){e.preventDefault();const blob preview._blob;if(!blob)…

2025最新:3分鐘使用Docker快速部署單節點Redis

&#x1f9d1;?&#x1f3eb; 詳細教程&#xff1a;通過 Docker 安裝單節點 Redis &#x1f6e0;? 前提條件&#xff1a; 你需要在 Ubuntu 系統上進行操作&#xff08;如果你在其他系統上操作&#xff0c;可以按相似步驟進行調整&#xff09;。已安裝 Docker 和 Docker Com…

CentOS 7 系統下安裝 OpenSSL 1.0.2k 依賴問題的處理

前面有提到過這個openssl的版本沖突問題&#xff0c;也是在這次恢復服務器時遇到的問題&#xff0c;我整理如下&#xff0c;供大家參考。小小一個軟件的安裝&#xff0c;挺坑的。 一、問題 項目運行環境需要&#xff0c;指定PHP7.0.9這個版本&#xff0c;但是?系統版本與軟件…

LoRA(Low-Rank Adaptation)原理詳解

LoRA(Low-Rank Adaptation)原理詳解 LoRA(低秩適應)是一種參數高效微調(Parameter-Efficient Fine-Tuning, PEFT)技術,旨在以極低的參數量實現大模型在特定任務上的高效適配。其核心思想基于低秩分解假設,即模型在適應新任務時,參數更新矩陣具有低秩特性,可用少量參…

Solana批量轉賬教程:提高代幣持有地址和生態用戶空投代幣

前言 Solana區塊鏈因其高吞吐量和低交易費用成為批量操作&#xff08;如空投&#xff09;的理想選擇。本教程將介紹幾種在Solana上進行批量轉賬的方法&#xff0c;幫助您高效地向多個地址空投代幣。 solana 賬戶模型 在Solana中有三類賬戶&#xff1a; 數據賬戶&#xff0c;…

基于LSTM與SHAP可解釋性分析的神經網絡回歸預測模型【MATLAB】

基于LSTM與SHAP可解釋性分析的神經網絡回歸預測模型【MATLAB】 一、引言 在數據驅動的智能時代&#xff0c;時間序列預測已成為許多領域&#xff08;如金融、氣象、工業監測等&#xff09;中的關鍵任務。長短期記憶網絡&#xff08;LSTM&#xff09;因其在捕捉時間序列長期依…

手機網頁提示ip被拉黑名單什么意思?怎么辦

?當您使用手機瀏覽網頁時&#xff0c;突然看到“您的IP地址已被列入黑名單”的提示&#xff0c;是否感到困惑和不安&#xff1f;這種情況在現代網絡生活中并不罕見&#xff0c;但確實會給用戶帶來諸多不便。本文將詳細解釋IP被拉黑的含義、常見原因&#xff0c;并提供一系列實…

Java消息隊列性能優化實踐:從理論到實戰

Java消息隊列性能優化實踐&#xff1a;從理論到實戰 1. 引言 在現代分布式系統架構中&#xff0c;消息隊列&#xff08;Message Queue&#xff0c;MQ&#xff09;已經成為不可或缺的中間件組件。它不僅能夠實現系統間的解耦&#xff0c;還能提供異步通信、流量削峰等重要功能…

BUUCTF——Cookie is so stable

BUUCTF——Cookie is so stable 進入靶場 頁面有點熟悉 跟之前做過的靶場有點像 先簡單看一看靶場信息 有幾個功能點 flag.php 隨便輸了個admin 根據題目提示 應該與cookie有關 抓包看看 構造payload Cookie: PHPSESSIDef0623af2c1a6d2012d57f3529427d52; user{{7*7}}有…