Siemens-NXUG二次开发-Java开发环境配置[20231203]

1.NX/UG Java API官方开发文档

西门子NX/UG Java api开发文档:open_java_ref/overview-summary.html

2.安装Java8

请参照CSDN有关Java8安装的教程。

3.安装jetbrain idea

请参照CSDN有关idea安装的教程。

3.windows系统环境变量配置

在“系统变量”下“新建”:
①“变量名”:UGII_JAVA_HOME,“变量值”:上述java-jdk安装目录(如:C:\java\jdk1.8.0_291)。
②“变量名”:UGII_JVM_LIBRARY_DIR,“变量值”:上述java-jre安装目录(如:C:\java\jre1.8.0_291\bin\server)。
在这里插入图片描述

4.使用idea创建项目

目的:编译NX/UG java语言二次开发的.java源文件,获得.class文件。

  • 正常使用idea新建java项目
  • 在"file"-“Project Structure”-“Project Settings”-“Modules”-"Add"添加.jar包
  • 编译项目
    在这里插入图片描述

5.NXOpen Java代码生效流程

  • 将java源代码编译成.class文件
  • 打开NX/UG界面,“文件”-“执行”-“Nx Open(Ctrl+U 运行NX Oepn程序)”,选择.class文件类型并选中要执行的文件即可。
    在这里插入图片描述

6.API体系简述

NX/UG二次开发追根溯源有两套体系:一是NXOPen C API,在java、python都被包装到NXOpen.UF包中;二是NXOpen C++ API,在java、python都成为其主要写法API。
因此,对于每种语言的开发API为了区分语境方便,称为java api和java uf api、python api和python uf api,其中uf式api是tag为ug对象标识,java api和python api以语言类对象为ug对象标识。

6.代码示例

package com.company;
import nxopen.*;
import nxopen.uf.*;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.rmi.RemoteException;

public class Main {
    public static void main(String[] args) throws RemoteException, NXException {
        Session theSession=null ;
        UFSession theUFSession=null ;

        try
        {
            theSession = (Session)SessionFactory.get("Session");
            theUFSession = (UFSession)SessionFactory.get("UFSession");
            theUFSession.ui().openListingWindow();
            theUFSession.ui().writeListingWindow("Session and UFSession are created");
            UFCurve ufCurve = theUFSession.curve();
            UFCurve.Arc ufArc = new UFCurve.Arc();
            UFPart ufPart = theUFSession.part();
            UFCsys ufCsys = theUFSession.csys();
            Part part1 = theSession.parts().newDisplay("CreateArc", Part.Units.INCHES);

            /* Fill out the data structure */
            ufArc.startAngle = 0.0;
            ufArc.endAngle = 3.0;
            ufArc.arcCenter=new double[3];
            ufArc.arcCenter[0] = 0.0;
            ufArc.arcCenter[1] = 0.0;
            ufArc.arcCenter[2] = 1.0;
            ufArc.radius = 2.0;

            Tag wcsData = ufCsys.askWcs();
            ufArc.matrixTag = ufCsys.askMatrixOfObject(wcsData);
            Tag arcData = ufCurve.createArc(ufArc);
            UFCurve.Arc theAskArcData=  ufCurve.askArcData(arcData);
            //theUFSession.ui().writeListingWindow("\nX Coordinate: "+theAskArcData.arcCenter[0]+"\n");
            //theUFSession.ui().writeListingWindow("Y Coordinate: "+theAskArcData.arcCenter[1]+"\n");
            //theUFSession.ui().writeListingWindow("Z Coordinate: "+theAskArcData.arcCenter[2]+"\n");
            //theUFSession.ui().writeListingWindow("Start Angle: "+theAskArcData.startAngle+"\n");
            //theUFSession.ui().writeListingWindow("End Angle: "+theAskArcData.endAngle+"\n");
            //theUFSession.ui().writeListingWindow("arcRadius: "+theAskArcData.radius);
            //theUFSession.ui().writeListingWindow("\nCreated successfully");

            BasePart.CloseAfterSave var2;
            part1.save(BasePart.SaveComponents.FALSE, BasePart.CloseAfterSave.TRUE);

        }
        catch (Exception ex)
        {
            if(theUFSession!=null)
            {
                StringWriter s = new StringWriter();
                PrintWriter p = new PrintWriter(s);
                p.println("Caught exception " + ex );
                ex.printStackTrace(p);
                theUFSession.ui().writeListingWindow("\nFailed");
                //theUFSession.ui().writeListingWindow("\n"+ex.getMessage());
                theUFSession.ui().writeListingWindow("\n"+s.getBuffer().toString());
            }
        }
    }
    public static int getUnloadOption() {
        return BaseSession.LibraryUnloadOption.IMMEDIATELY;
    }
}
  • 22
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于NX二次开发的配置,首先需要安装NX软件和Visual Studio开发环境。根据引用和引用中提到的情况,你使用的是NX11.0和Visual Studio 2017。 以下是配置的一般步骤: 1. 首先,确保已正确安装NX11.0和Visual Studio 2017。 2. 接下来,需要设置环境变量。在系统的环境变量中,添加NX的安装路径,例如"C:\Program Files\Siemens\NX11.0"。 3. 打开Visual Studio 2017,创建一个新的项目。 4. 在项目中,右键点击属性(Properties),选择“配置属性”(Configuration Properties),然后选择“C/C++”选项卡。 5. 在“常规”(General)选项下,将“附加包含目录”(Additional Include Directories)设置为NX的include文件夹路径,例如"C:\Program Files\Siemens\NX11.0\NXOPEN\include"。 6. 在项目属性窗口中,选择“链接器”(Linker)选项卡。 7. 在“常规”(General)选项下,将“附加库目录”(Additional Library Directories)设置为NX的lib文件夹路径,例如"C:\Program Files\Siemens\NX11.0\UGOPEN\lib"。 8. 在“输入”(Input)选项下,将“附加依赖项”(Additional Dependencies)添加所需的库文件,例如在引用中提到的libnxopenuicpp.lib。 9. 完成配置后,可以开始编写和调试你的NX二次开发程序。 请注意,以上步骤是基于NX11.0和Visual Studio 2017的配置过程,并且根据你提供的引用内容进行了总结。如果你使用的是其他版本的NX和Visual Studio,步骤可能会有所不同。但是你可以按照相似的思路进行配置,根据你实际的软件版本和环境进行相应的调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [NX/UG二次开发环境配置方法—史上最详细版(以NX11.0和Visual Studio 2017为例)](https://blog.csdn.net/Zqingong/article/details/109368641)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [UG/NX二次开发配置](https://blog.csdn.net/L__hui/article/details/78901366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值