随笔 - 14  文章 - 0 评论 - 26 trackbacks - 0
<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

昵称:空清能净
园龄:3年8个月
粉丝:2
关注:1

搜索

 

常用链接

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

推荐排行榜

新建插件项目

1. 新建一个项目,选择Plug-in Development –> Plug-in Project。

2. 输入项目名称,采用点分割的Java包命名方式。另外选择正确的Eclipse版本。

clip_image002

3. 点击下一步,设置插件的ID、版本、名称和提供商等信息。并且选择执行环境为J2SE-1.5(要特别注意)。在插件选项中让系统自动生成Activator代码,并且让插件可以提供UI服务。最后注意不要让系统建立一个新的胖客户端。

clip_image004

4. 点击下一步。注意不要使用任何已有模板。点击完成。

clip_image006

5. 至此项目新建完毕,Eclipse会自动打开插件的设置界面。如果不小心关闭的话,可以通过双击Project Exlorer视图中对于项目下的META-INF目录中的MANIFEST.MF文件再次打开。

clip_image008

6. 这个界面将是设置插件属性的中心。对于一个基本的插件它几乎不需要任何的代码,所有工作都在这个面板完成。注意这个面板的底部是一系列可切换的标签,不同的标签着重不同的信息。

clip_image010

clip_image012

各个标签的作用:

Overview – 给出了插件的所有信息的概述。

Dependencies – 该插件所依赖的其他插件和库。

Runtime – 插件要导出的包、包的可见性以及所依赖的附加CLASSPATH。

Extensions – 插件使用的载入点。

Extension – 暴露给其他插件的载入点。

Build – 具体要打包的文件。

MANIFEST.MF 插件的元信息文件

plugin.xml 主要是插件的载入点信息。

build.properties 对应于Builde标签的内容。

对插件进行设置

1. 点击Dependencies标签,添加插件所依赖的已有TC插件。

clip_image014

2. 点击Runtime标签,添加要导出的包。

clip_image016

3. 切换到Extension标签,添加扩展点。

clip_image018clip_image020

选择扩展点

这里使用com.teamcenter.rac.util.tc_properties作为扩展点,它允许我们对系统原有的配置进行重载。

系统原有的三种配置文件:<app_name>.properties, <app_name>_locale.properties, <app_name>_user.properties。

clip_image022

更改配置点详细信息出的pluginName(去掉后缀.)

4. 切换到MANIFEST.MF标签,添加两行内容如下:

clip_image024

5. 切换到plugin.xml标签,确认内容如下:

clip_image026

和第3步对应

6. 至此设置完成,即可导出插件。

(1) File -> Export打开导出对话框,选择Plug-in Development -> Deployable plug-ins and fragments。

(2) 选择要导出的工程和工程导出的位置。

clip_image028

验证插件添加成功

启动TC2007后,点击Help -> About ->Plug-in Details。

clip_image030

clip_image032

插件的提供商、名称、版本和ID等信息

posted @ 2009-07-01 15:11 空清能净 阅读(867) 评论(2) 编辑

系统要求

1. 下载Java SE SDK 1.5,目前TC2007用的是这个版本的虚拟机。

2. Eclipse classic 3.2 (eclipse-SDK-3.2-win32.zip) 注意选择SDK版本才能开发Eclipse插件。

image

image

注意:TC2007是基于这两个版本构建的,如果版本不匹配则可能会出现无法启动定制的插件。

系统设置:

1. 安装JDK。

2. Eclipse的安装只需解压即可。

3. 解压后双击eclipse.exe启动,第一次启动时选择Workspace位置。

4. 点击Window -> Preferences进行设置:

1)展开Java -> Installed JREs,添加jre1.5.0。添加安装好的Java运行时。

2)展开Plug-in Development -> Target Platform设置插件开发的目标平台,当然我们的平台是Teamcenter 2007。因此定位到%TC_ROOT%\portal。

clip_image002

5. 添加启动脚本(可选)

在两层胖客户端下,启动Teamcenter前需先启动TCServer。因此需要添加Eclipse的启动脚本,在脚本中自动启动TCServer。当然也可以自己手动启动TCServer,因此该步骤可选。

方法1在Eclipse目录下新建一个StartUp.bat文件,内容如下:

clip_image004

set FMS_HOME=D:\UGS\TEAMCE~1\TC2007\fcc
set JAVA_HOME=D:\UGS\TEAMCE~1\TC2007\portal\jre
set JRE_HOME=D:\UGS\TEAMCE~1\TC2007\portal\jre
set PATH=%FMS_HOME%\bin;%FMS_HOME%\lib;%PATH%
set CLASSPATH=.;

start "TAO ImR" /min cmd /c "D:\UGS\Teamcenter\TC2007\iiopservers\start_imr.bat"

start eclipse.exe %*

方法2当然也可以直接从TC的portal目录下复制一份portal.bat文件,替换其中的Teamcenter.exe字段并去除” cd %TPR%” 即可。

posted @ 2009-07-01 15:02 空清能净 阅读(1185) 评论(8) 编辑

这两个版本的启动脚本都是独立的portal.bat文件,但是两个版本共享了一个相同的环境变量FMS_HOME。

image

每次安装都会重写这个环境变量。因此要多版本并存只要在它们各自的启动脚本portal.bat中添加FMS_HOME环境变量即可。

例如对于2007 UA(更改前可先备份portal.bat文件)

在if not defined FMS_HOME set FMS_HOME=D:\UGS\TEAMCE~1\2007\fcc前添加一句:

set FMS_HOME=D:\UGS\Teamcenter\2007\fcc

image

同样修改2005SR1的启动脚本,这样两个版本就不互相干扰了。

当然有一个更BT的方案就是直接删除系统里面的FMS_HOME环境变量,这样脚本会自己尝试进行设置。

posted @ 2009-05-22 09:50 空清能净 阅读(185) 评论(0) 编辑

    最近因为要进行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 @ 2009-03-29 14:10 空清能净 阅读(1064) 评论(1) 编辑

     当您打开一新零件时候,您通常第一个生成的特征就是草图。草图是 3D 模型的基础,草图经过拉伸、旋转、扫描和放样等特征操作之后生成实体,然后再对实体进行修饰。这就是SolidWorks通常的造型过程。

    插入草图首先要确定的就是它的放置平面,可以是系统预设的参考面,也可以用户自绘的参考面。抑或是实体上的某个平面。

草图的三个主要信息是:几何线条,尺寸和几何关系。

草图的绘制过程:
1)选择草图放置面,插入插图。
2)插入草图几何,画出大致形状即可。
3)插入尺寸,确定关系。
4)退出草绘。

 

1)插入、编辑和删除草图。
2)插入草图几何(直线、圆弧等等)。
3)加入尺寸。
4)确定关系。
5)使用草图工具(圆角,倒角,裁剪,镜像等等)。
 

所有和草图相关的API都在Sketch Object这个包里面,其中最重要的类是SketchManager。



posted @ 2009-02-23 10:25 空清能净 阅读(320) 评论(0) 编辑

拉伸特征可以说是实体造型中最常用的一种造型方向。

拉伸特征的三要素:

1)轮廓(也即是草图)

2)拉伸的方向

3)拉伸的终止方式:给定深度,拉伸到某点(某面),或者穿过所有实体等等。

 

对SolidWorks API来说:它可以通过FeatureManager类的FeatureExtrusion2方法来生生成拉伸特征。当然在编写程序之前首先需要熟悉交互式操作。

上面这张图可以帮助我们理解这个方法的参数。

方法参数:

 1) bool sd

指定单向拉伸,或者双向拉伸。也就是方向2是否有用。

2)bool flip

是否反转切削方向。

3)bool dir

是否反转拉伸方向。

4)long t1

方向1的终止类型,可选:

swEndConditions_e

swEndCondBlind

swEndCondThroughAll,

swEndCondThroughNext

swEndCondUpToVertex

swEndCondUpToSurface,

swEndCondOffsetFromSurface

swEndCondMidPlane

swEndCondUpToBody

5)long t2

方向2的终止类型,取值同上。

 6) bool dchk1

是否拔模

7)bool dchk2

同上

8)bool ddir1

向内拔模还是向外拔模。

9)bool ddir2

同上

10)double dang1

拔模角,弧度。

11)double dang2

同上。

posted @ 2009-02-20 15:38 空清能净 阅读(333) 评论(0) 编辑

首先录制一段生成拉伸特征的宏,然后分析这段VBA代码。

录制宏:

1.调用宏录制功能;

 

2.插入拉伸特征

2.1 绘制草图

 

 2.2 完成特征创建

 

3. 得到拉伸特征


查看宏代码


 1 ' ******************************************************************************
 2 ' C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\swx1944\Macro1.swb - macro recorded on 02/20/09 by Administrator
 3 ' ******************************************************************************
 4 Dim swApp As Object
 5 Dim Part As Object
 6 Dim SelMgr As Object
 7 Dim boolstatus As Boolean
 8 Dim longstatus As Long, longwarnings As Long
 9 Dim Feature As Object
10 Sub main()
11 
12 Set swApp = Application.SldWorks
13 Set Part = swApp.ActiveDoc
14 Set SelMgr = Part.SelectionManager
15 
16 boolstatus = Part.Extension.SelectByID2("前视基准面""PLANE"-0.027026955409360.055974074074070False0Nothing0)
17 '1.草绘开始
18 Part.SketchManager.InsertSketch True
19 Part.ClearSelection2 True
20 '2.1 绘制多边形
21 Dim vSkLines As Variant
22 vSkLines = Part.SketchManager.CreatePolygon(0000.06108281893004-0.0284312757201606True)
23 Part.ClearSelection2 True
24 '2.2 绘制圆
25 Dim SkCircle As Object
26 Set SkCircle = Part.SketchManager.CreateCircle(0-0.00512617967396700.02643220164609-0.018658024691360)
27 Part.ClearSelection2 True
28 '3.草绘结束
29 Part.SketchManager.InsertSketch True
30 
31 Part.ShowNamedView2 "*上下二等角轴测"8
32 Part.SketchManager.InsertSketch True
33 Part.ClearSelection2 True
34 '4.拉伸特征
35 boolstatus = Part.Extension.SelectByID2("草图1""SKETCH"000False0Nothing0)
36 Part.FeatureManager.FeatureExtrusion2 TrueFalseFalse000.050.01FalseFalseFalseFalse0.017453292519940.01745329251994FalseFalseFalseFalse11100False
37 Part.SelectionManager.EnableContourSelection = 0
38 End Sub

代码分析:

FeatureManager类的FeatureExtrusion2方法用来生成拉伸特征。当然在生成特征前需要我们使用SelectByID2方法选中要拉伸的轮廓(就是草图)。

posted @ 2009-02-20 14:06 空清能净 阅读(264) 评论(0) 编辑
posted @ 2008-12-12 12:24 空清能净 阅读(69) 评论(0) 编辑
posted @ 2008-12-09 22:29 空清能净 阅读(2053) 评论(13) 编辑