使用.NET(C#或VB.NET)開發NX外部程序


 

00219AD81.如何不用將exe程序拷貝到UGII目錄下運行?

答:向上指在調用NX Open命令函數前,將當前目錄移動到NX安裝目錄\UGII\,NX安裝目錄必須和環境變量UGII_BASE_DIR的值一致,否則報錯。可以使用如下代碼:

Dim instalDir As String = Environment.GetEnvironmentVariable("UGII_BASE_DIR")
System.IO.Directory.SetCurrentDirectory(instalDir)

 

0021D3652.我的外部程序很小,不想打包NX的.NET庫文件一起發布,而是使用用戶的庫文件,要怎樣做呢?

答:向上指第一步,顯示項目所有文件,展開Application.myapp文件,再打開Application.Designer.vb文件,為MyApplication添加Startup事件回調函數,在里面添加如下代碼:

Dim ufdir As String = Environment.GetEnvironmentVariable("UGII_BASE_DIR")
 Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.dll"))
Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.UF.dll"))
Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.Utilities.dll"))

向上指第二步,修改程序運行配置文件:你的exe程序文件名.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="NXOpen"  culture="neutral" publicKeyToken="null"/>
                <codeBase version="8.0.2.2" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.dll"/>
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="NXOpen.UF"  culture="neutral" publicKeyToken="null"/>
                <codeBase version="8.0.2.2" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.UF.dll"/>
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="NXOpen.Utilities"  culture="neutral" publicKeyToken="null"/>
                <codeBase version="4.0.0.0" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.Utilities.dll"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM