随笔 - 14  文章 - 0 评论 - 28 阅读 - 28280
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

    最近因为要进行TeamCenter二次开发(胖客户端定制),所有要开始研究Java了。因此突发奇想为什么不能使用Java进行二次开发呢?现在对UG进行的开发以C/C++应用为主。大多数使用的是原来的UF函数(也就是面向过程的0),无论是教程还是相关社区讨论都比较多。使用NXOpen C++或者NXOpen.Net的就很少了。而使用Java的应该更少。

   其实NXOpen for java和其他的NXOpen技术都一样,都是建立在Journal层上的开发接口。据说现在Siemens已经把NX底层100%的JA化了,而它基于JA的开发接口正在逐步实现。至少在NX 6.0的时候已经非常强大了。如果你现在要学习NX二次开发,或者你的项目是基于NX5.0以上的版本,我都推荐使用NXOpen族系的开发工具(NXOpen C++,NXOpen.Net,使用C#或者VB.Net)

  我这里写了一个关于使用Java进行NX二次开发的非常简单的例子:就是生成一个Block。这个例子阐述了一个NXOpen for Java程序的基本框架。

import java.io.*;
import java.rmi.RemoteException;
import nxopen.*;
import nxopen.features.*;
 
public class HelloNX {
    
    public static void main(String[] args)
    {
        try
        {
            Session theSession = (Session)SessionFactory.get("Session");
            Part wrkPart = theSession.parts().work();
            BlockFeatureBuilder builder = wrkPart.features().createBlockFeatureBuilder(null);
            builder.setType(BlockFeatureBuilder.Types.ORIGIN_AND_EDGE_LENGTHS);
            Point3d origin = new Point3d(0.0,0.0,0.0);
            builder.setOriginAndLengths(origin,"100","100","100");
            builder.commit();
        }
        catch(NXException ex)
        {
            ex.printStackTrace();
        }
        catch(RemoteException ex)
        {
            ex.printStackTrace();
        }
        
    }
    public static int getUnloadOption()
    {
        return BaseSession.LibraryUnloadOption.IMMEDIATELY;
    }
}

1.首先编译完成。

2.打开UG后,新建一个零件。

3.Ctrl+U调出执行文件选择对话框,然后在文件类型过滤处选择.class文件。

image

4.选择你刚生成的文件,比如HelloNX.class。程序执行后,生成Block。

image

好了,就这么简单!下次再会的时候我会对这段代码进行解释。

posted on   空清能净  阅读(9397)  评论(3编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
点击右上角即可分享
微信分享提示