c#直接调用DLL里面的函数,以UF_MODL_ask_face_parm为例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#直接调用DLL里面的函数,以UF_MODL_ask_face_parm为例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2816字,纯文字阅读大概需要5分钟。
内容图文
![c#直接调用DLL里面的函数,以UF_MODL_ask_face_parm为例](/upload/InfoBanner/zyjiaocheng/606/6576e9dfef6f4571bd1945494815c12b.jpg)
using System;
using NXOpen;
using NXOpen.UF;
using System.Runtime.InteropServices;
public class Program
{
// class members
[DllImport("libufun.dll", EntryPoint = "UF_MODL_ask_face_parm")]
public static extern int UF_MODL_ask_face_parm(Tag face_id, double[] ref_pnt, double[] parm, double[] face_pnt);
private static Session theSession;
private static Part workpart;
private static UI theUI;
private static UFSession theUfSession;
public static Program theProgram;
public static ListingWindow lw;
public static bool isDisposeCalled;
//------------------------------------------------------------------------------
// Constructor
//------------------------------------------------------------------------------
public Program()
{
try
{
theSession = Session.GetSession();
workpart = theSession.Parts.Work;
theUI = UI.GetUI();
theUfSession = UFSession.GetUFSession();
lw = theSession.ListingWindow;
lw.Open();
isDisposeCalled = false;
}
catch (NXOpen.NXException ex)
{
// ---- Enter your exception handling code here -----
// UI.GetUI().NXMessageBox.Show("Message", NXMessageBox.DialogType.Error, ex.Message);
}
}
//------------------------------------------------------------------------------
// Explicit Activation
// This entry point is used to activate the application explicitly
//------------------------------------------------------------------------------
public static int Main(string[] args)
{
int retValue = 0;
try
{
theProgram = new Program();
double[] parm = new double[2];
double[] face_pnt = new double[3];
double[] ref_pnt = new double[] { -18.75412126318, 3.13573138078, 18.82464836060 };
NXOpen.Utilities.JAM.StartUFCall();
UF_MODL_ask_face_parm((Tag)29684, ref_pnt, parm, face_pnt);
NXOpen.Utilities.JAM.EndUFCall();
lw.WriteLine(parm[0].ToString() + "," + parm[1].ToString());
lw.WriteLine(face_pnt[0].ToString() + "," + face_pnt[1].ToString() + "," + face_pnt[2].ToString());
theProgram.Dispose();
}
catch (NXOpen.NXException ex)
{
// ---- Enter your exception handling code here -----
}
return retValue;
}
//------------------------------------------------------------------------------
// Following method disposes all the class members
//------------------------------------------------------------------------------
public void Dispose()
{
try
{
if (isDisposeCalled == false)
{
//TODO: Add your application code here
}
isDisposeCalled = true;
}
catch (NXOpen.NXException ex)
{
// ---- Enter your exception handling code here -----
}
}
public static int GetUnloadOption(string arg)
{
//Unloads the image explicitly, via an unload dialog
//return System.Convert.ToInt32(Session.LibraryUnloadOption.Explicitly);
//Unloads the image immediately after execution within NX
return System.Convert.ToInt32(Session.LibraryUnloadOption.Immediately);
//Unloads the image when the NX session terminates
// return System.Convert.ToInt32(Session.LibraryUnloadOption.AtTermination);
}
}
内容总结
以上是互联网集市为您收集整理的c#直接调用DLL里面的函数,以UF_MODL_ask_face_parm为例全部内容,希望文章能够帮你解决c#直接调用DLL里面的函数,以UF_MODL_ask_face_parm为例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。