青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2007-11-1 17:16 | 显示全部楼层 |阅读模式
在vb.net里面开发的一个函数
& v) v6 {' X: oOption Strict Off
6 C9 L4 y' ^2 g8 EImports System. g/ n( e% M7 R( Q  X. Q
Imports NXOpen
' o" x$ H0 @4 g( H5 t  RImports NXOpen.UF$ \4 U3 _& a! _$ k' H
Imports NXOpen.Utilities  {) ^1 M# M8 B+ @$ U5 W
$ W6 ?" L+ m0 x( e
Module NXJournal
2 T7 _5 S8 R2 ZSub Main' G+ U! @6 \7 ]7 K2 R$ b
: D! ?1 p; e# p- S  H
        Dim s As Session = Session.GetSession()6 O/ w! ?6 K2 t- I+ t
        Dim ufs As UFSession = UFSession.GetUFSession()1 R+ K0 D' K& E! j- J
; t0 s) q# ^+ y# T  w7 W
        Dim wp As Part = s.Parts.Work()" x4 Y. A& _" k" \: C* N) R- ]* z5 U

9 l/ P9 l/ y7 A) y" E/ n        Dim cyl_feat_tag As NXOpen.Tag
7 @* l1 [; j3 |# D4 v& f; E        Dim orig() As Double = {1, 1, 0}
" K7 i/ M; Y( c  u- K/ u' f7 s+ T        Dim dir() As Double = {1, 1, 1}
8 E/ w- E5 l7 k3 Y0 I, u
3 s$ y& I4 U) K5 j  }7 H( E4 }, S        ufs.Modl.CreateCylinder(FeatureSigns.Nullsign, Nothing, orig, "50","25", dir, cyl_feat_tag)
+ C* Z6 \$ O7 J1 p1 M
3 e7 ?. l0 m1 i" _        Dim cyl_body_tag As Tag2 V6 I+ o: P3 R# d+ E* k+ _

0 Y; b* Z1 L' S2 D        ufs.Modl.AskFeatBody(cyl_feat_tag, cyl_body_tag)5 R9 j* H! F- M1 l, c7 d
        Dim cyl_body As Body = CType(NXObjectManager.Get(cyl_body_tag), Body)
! A0 H. C4 L: _$ @) x/ Y3 s       1 t$ s. C1 u6 M7 ?
        cyl_body.Color = 3   ‘ //更改颜色
* i# _# v/ q; Q. V: S* X        cyl_body.RedisplayObject()- d9 k! j7 M5 `
End Sub  S% B6 S- {7 c  `
End Module
1 I- ?' E* k- E+ _. q我把它转换到c#里面遇到问题了! ?$ N9 ?( J/ ?
        Session s   = Session.GetSession();& t, s/ C* X7 Q, B/ P7 i
        UFSession ufs  = UFSession.GetUFSession();% r+ b! s9 t' t1 G" `' [7 E

/ i3 k8 g1 B* e+ ~7 r6 x        Part wp  = s.Parts.Work;6 g  L* G6 M% n+ l6 m6 _

! W/ f+ l' i0 X+ t! b( |        NXOpen.Tag cyl_feat_tag;
0 r4 l" R  u, X4 ~: [7 ~, P" W        NXOpen.Tag cyl_feat_tag2;
3 {' V# y  L8 }% i) t. F        Double[] orig  = new double[3] {1, 1, 0};
8 N( T) G& o5 Y  H1 _: R, y        Double[] dir  = new double[3]{1, 1, 1};
! i( P# a2 l6 F! F; X8 ?3 _9 M0 O                try
! g- P" f! `( ^# t" D0 B* U$ X9 V                {
0 N- b: \' K/ @0 x5 H" ]                        ufs.Modl.CreateCylinder(FeatureSigns.Nullsign,cyl_feat_tag2,orig, "50","25", dir,out cyl_feat_tag);
' k) C- T8 s* t$ J                }0 i  P, B, v$ o- \0 y4 l
                catch(NXException pp)" U) T1 W+ v/ J4 d: l
                {
/ x$ O  g- v' E                        MessageBox.Show(pp.Message);$ ^; i7 K# P; v& R5 m7 t5 U
                }4 k% S) d( A! t: f5 b
- b8 U* T( _' Y4 n
        Tag cyl_body_tag;
3 q. U+ }; h6 Q4 r/ b4 E1 L0 f
& l) j5 K1 K$ w        ufs.Modl.AskFeatBody( cyl_feat_tag,out cyl_body_tag);
8 q6 d) F$ b2 w2 I        Body cyl_body = CType(NXObjectManager.Get(cyl_body_tag), Body);
2 t* e* i6 g$ w  R- c" s      
& K, O9 k6 J5 c        cyl_body.Color = 3;
6 w7 l) j6 A: V7 g$ X5 h. s        cyl_body.RedisplayObject();
( A2 ]% z' Z2 w5 ?2 Z; ~因为我查看了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, 2025-6-27 19:08 , Processed in 0.058562 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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