青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1758|回复: 1

再发一求救帖,希望达人们能帮忙一下

[复制链接]
发表于 2007-11-1 17:16 | 显示全部楼层 |阅读模式
在vb.net里面开发的一个函数% u$ ^/ f+ ]; ?) b( c1 T
Option Strict Off+ u. ?4 Z% g* t0 {6 [
Imports System: I+ e7 u7 q- N
Imports NXOpen/ l+ `' v" L) J& h+ m
Imports NXOpen.UF7 i7 |" Q6 @4 F# O: _6 E
Imports NXOpen.Utilities. V5 x) y* U/ U/ v

# X9 Z4 L: X% l; jModule NXJournal7 O  `$ y0 u. u  Q7 b
Sub Main2 O, c. F% n8 l" F  v4 A
$ v  u3 R( f( }
        Dim s As Session = Session.GetSession()
7 X- D' V& }2 f, {- I, d        Dim ufs As UFSession = UFSession.GetUFSession()+ S- a) B: Y% ^: v: j/ @

7 W# [+ z- L- R, D. l7 G- E+ c        Dim wp As Part = s.Parts.Work(): t: _6 w: Q  Q( K1 n' J- l! Y2 `
9 ]" ^( l3 u' _+ Z
        Dim cyl_feat_tag As NXOpen.Tag
1 w: X4 `) E$ U        Dim orig() As Double = {1, 1, 0}# J2 Q5 c0 \8 ?) R) e2 N7 ^1 H$ ]
        Dim dir() As Double = {1, 1, 1}' R7 U2 w2 x3 P
% e3 U" f+ \/ e  i
        ufs.Modl.CreateCylinder(FeatureSigns.Nullsign, Nothing, orig, "50","25", dir, cyl_feat_tag)
2 A; ^% s* O* Q5 i+ ?5 m$ E7 M7 H' J( I/ J- J
        Dim cyl_body_tag As Tag
. b) P# a4 U9 X( b, ~
! g' C# G' ^, E; Z1 p        ufs.Modl.AskFeatBody(cyl_feat_tag, cyl_body_tag)# h3 ?1 @" f0 L+ a+ r. i8 l8 }4 `8 m/ J
        Dim cyl_body As Body = CType(NXObjectManager.Get(cyl_body_tag), Body)
/ K/ ^' {3 r) J% t, m0 q         L$ a" T  z0 v3 t: w: P6 y
        cyl_body.Color = 3   ‘ //更改颜色
, F& m1 ]9 G' S# P7 y# P  k# G$ P        cyl_body.RedisplayObject()
! R. a8 A) D; XEnd Sub
& i, p! X  k) a3 X1 XEnd Module
; T3 @( P8 b. m我把它转换到c#里面遇到问题了
) A5 y! h# F, O5 y* _& |0 W        Session s   = Session.GetSession();5 Q% q' @  m& b& d" ?$ k1 U. T
        UFSession ufs  = UFSession.GetUFSession();
* H1 F* _# r! j" L7 w# E. D1 K; j2 H' K4 U2 b
        Part wp  = s.Parts.Work;
$ ~5 n. D  t. q  o# I6 e1 `: \1 \8 Z
, a/ }1 a3 M( k7 Z8 z  I% i        NXOpen.Tag cyl_feat_tag;
3 t1 O# Y4 e! `9 L        NXOpen.Tag cyl_feat_tag2; : T* s8 t' ]; r2 G
        Double[] orig  = new double[3] {1, 1, 0};' ^( I4 X9 d2 K4 Y( c3 p
        Double[] dir  = new double[3]{1, 1, 1};+ H2 w) Y# x. y; Y6 T7 X+ O8 U
                try
1 W% E& G' J, _                {" R. y/ |' ]- O+ E0 c; ?1 K4 M
                        ufs.Modl.CreateCylinder(FeatureSigns.Nullsign,cyl_feat_tag2,orig, "50","25", dir,out cyl_feat_tag);* u0 h% m. P. H: `! g$ g
                }/ z, Z9 a" L; V, _7 F
                catch(NXException pp)
7 @  s( j& l$ b2 |$ v( v                {
/ v- W* r# b# ]! H6 ^1 Q7 c7 ?                        MessageBox.Show(pp.Message);
: K6 d# z' a# D* R3 l4 d$ k                }2 M! N/ ~8 I, x# s* ^' |

8 I/ J0 J2 X! w* Y8 g6 \        Tag cyl_body_tag;
1 ]; B5 Q/ H) e
( R* x% a2 m, b# k        ufs.Modl.AskFeatBody( cyl_feat_tag,out cyl_body_tag);
& ^$ x" |4 x, y+ v! l' p        Body cyl_body = CType(NXObjectManager.Get(cyl_body_tag), Body);
  \  ~% b5 [) [' P       - U3 O7 K9 D) R" k; x/ P) O- b) K8 Y
        cyl_body.Color = 3;
+ g, C1 ^* G# C8 t        cyl_body.RedisplayObject();
" m' Z" o2 Q( Z, S# C) L4 @因为我查看了CreateCylinder函数在c#里面的api,第二个和最后一个参数均为tag枚举,我定义了两个tag,但是程序出现异常,我用null代替第二个参数,提示不能转换null为tag,我查看api里面的NXOpen.tag为枚举,但是里面的内容为NULL,就一个东西,还有后面的CType函数不知道怎么用,而且ctype函数的第二个参数为一个类不知道怎么转换了,那位达人能给我将vb的程序转换到c#里面,小弟将不胜感激,跪谢了
 楼主| 发表于 2007-11-1 17:41 | 显示全部楼层
UFSession和Session有什么区别?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-4-29 02:40 , Processed in 0.056277 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表