PLM之家PLMHome-工业软件践行者

[已解决] ufun 获取文件夹下所有prt文件名

  [复制链接]

2019-4-17 08:00:53 2652 2

21

主题

0

回帖

75

积分

注册会员

积分
75
发表于 2019-4-16 12:56:29 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
ufun 获取文件夹下所有prt文件名
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复2

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82170
QQ
发表于 2019-4-17 07:54:25 | 显示全部楼层
C#的  没有用NX 函数 2 {: a# D7 L4 ~; r% j, |
+ A2 _3 |( z7 o- p: K9 Q& r# ]
# K: z3 i2 j3 g+ ^( [! i
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory0 K  R" i+ ~2 H2 Z. w; P% N0 ^' f

+ n9 k% N. v5 [+ R3 b  L. L6 N- Y$ y        Public Shared Sub Main()- l3 U' f1 z0 y) y5 b/ t

; ?8 {9 {/ q$ P$ ~7 }5 P            Dim theSession As Session = Session.GetSession()
# }) v5 }) b, O0 v: l3 I            Dim lw As ListingWindow = theSession.ListingWindow()% n- ?1 w2 Z9 Y
8 r% e# S7 _0 T
            Dim foldername As String = ""- W  K- V: S( u9 l; f3 z) @( d
            lw.Open()
# ]; J$ n6 R( ~( Q* a- Y            If (select_directory(foldername) <> DialogResult.OK) Then
+ _  [6 P4 O% ^! u                lw.WriteLine("Input canceled...exit" & vbCrLf)/ k1 @/ ]- T* `& y4 T" r
                Return- K, C) Z- f$ b, A6 @' k
            End If
' I/ a2 G. B0 y* W# n6 \+ K+ u% f! e
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)0 M0 }: [# W4 N) M, @# r) N# `5 v8 d/ Y
            Dim fsi As FileSystemInfo, p' Y; c8 F. M6 h, U$ h. \8 _0 v2 [
" n" ^3 K+ n, i6 h) s; d4 l
            lw.Open()
, l6 b; B7 X  r) C5 M$ N' X            lw.WriteLine("Parts in directory: " _3 {3 J2 I- _4 B0 `4 c( j
              & Path.GetFullPath(dir.ToString()) & vbCrLf)
) |) q8 ^" A& p9 t1 L8 `9 X. {' n  b: @9 T* n4 Z
            For Each fsi In dir.GetFileSystemInfos()- ^4 ~: {( i4 ~/ e. `. H
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
' O! Y+ m5 h+ K5 [, l- w                    Dim f As FileInfo = CType(fsi, FileInfo), p! ^: |& x; e7 ]9 J0 ]& N
                    Dim size As Long = f.Length
2 ]  v3 ~3 s. `9 I; _                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
9 B; M0 {; ~6 ^  @1 Q                End If
( ^. M5 g! z. N# _, s            Next fsi
0 n4 M' B* v+ z; g+ f9 P6 n0 P6 F
4 E; N! I9 s0 w        End Sub. L0 S6 ]5 ~! G- Z1 t
/ h4 d* q9 W; P% t0 u
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
% p; B" u% f, f: s4 D; l- x2 t4 F5 d1 l4 C6 R6 t- m# w% s7 N4 U
            Dim fbd As FolderBrowserDialog
( |/ U  A% U+ K1 X! \3 w            Dim result As System.Windows.Forms.DialogResult
1 g# H' E% @! l7 @6 p) t, a; t, C) I: `
            fbd = New System.Windows.Forms.FolderBrowserDialog()6 _, p! _/ j+ A* S) l
            fbd.Description = "Select directory to check". q% t. m* t0 I' c7 v. Y! [7 i" ^
            fbd.ShowNewFolderButton = False5 E; \( g+ h3 E1 e, K" n& i% \
            ' start browsing at Desktop folder, uncomment for any other default directory5 K/ H/ Z/ j& E" e: a, l
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
* G" s7 J2 ~  j3 o8 A+ Z4 T3 f! [8 o            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
4 g! @; S% o3 t            ' fbd.SelectedPath = "c:\aaa\bbb") Y* k5 S1 Y' A: V: [$ h+ N
            result = fbd.ShowDialog(), k+ T2 l" u: x. o) ^( m4 H
            foldername = fbd.SelectedPath
* v  Y1 o4 S- w5 u4 {" T3 @0 O            fbd.Dispose(): I7 R; w+ G  i& e
            Return result
8 H+ D) X2 U# J3 H& Q9 t( ~$ Q6 `/ @1 v% a1 }. Q) ?1 D
        End Function8 B! x% h2 K& w) G0 P

" v4 m9 g, t" m; }2 N        Public Function GetUnloadOption(ByVal dummy As String) As Integer5 d4 c3 ~! q. u2 ~- W; A0 Q
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination3 W5 s- f2 Q  [5 q% m% I5 ]: L* Q6 V
        End Function
' o0 A9 U# Z9 B. v7 }( F: M* F: o( \0 k* A# Z
    End Class[/mw_shl_code]" W# e8 m* b! z8 ~3 E* c7 x/ u
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82170
QQ
发表于 2019-4-17 08:00:53 | 显示全部楼层
ufun 的 方法 . l  B( \' O! K" N, a

, @; U; A7 f8 Q: D! o9 s3 F& b# {$ c  m9 p& _3 q6 W; s5 y
[mw_shl_code=c,true]int
3 G( K6 }& d6 C1 I' ^$ }% @0 M        cnt = 0,$ d0 V9 L7 I: W
        resp;
' L  k% S7 P* z  g  i( c    tag_t$ V5 Q3 A3 r( e: y/ B
        part;+ h8 F6 `0 s' ?# ~9 l; d
    char7 X4 T, s0 t" N# p; v, q# X, _2 d
        dirspec[MAX_FSPEC_SIZE+1] = { "" },6 j+ y6 ]- c/ ]8 `  D' e7 L8 [1 q
        fname[MAX_FSPEC_SIZE+1],
4 i8 `$ {& r# d        part_name[MAX_FSPEC_SIZE+1];3 B, i+ `8 h, A9 i/ X3 k. O2 l' v
    UF_PART_load_status_t) j- \! G& j0 o" C
        status;3 \0 ^, p) b, e$ N7 }' k0 ]

) m7 `- v" c& T8 D$ U2 A9 `% H    if (UF_CALL(UF_initialize())) return 1;" |8 E0 N# \% t8 Y
( }& x' ?- L0 v5 D8 m& V4 e- F
    while (printf("Enter directory path:\n") && gets(dirspec) &&9 e. [, [5 ~7 q# z" F) ?
        strlen(dirspec))2 Y) Z, d1 y9 q) \' ~, g6 H
    {2 y& Z: p9 v& H
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
4 _0 d; q1 Z. ^5 T- _5 E" A8 E: S        while ((resp = uc4518()) == 0)/ K2 ?0 ^/ m3 K1 Q8 d: V) {. E. x
        {  g' N, k  _% P) I% K9 w  e
            UF_CALL(uc4600(fname));
( t" X( t8 h0 [) e; o# |. A* E: F            UF_CALL(uc4575(dirspec, 2, fname, part_name));, }9 b$ ~# }' e  S: n; Q2 Q

) U+ [6 n4 Q) h$ ^7 F! b6 ~1 ~3 @            ECHO( "%d.  %s\n", ++cnt, part_name);
; y# T3 n7 ?5 b# J; e4 H0 p+ V) k; N" N
            UF_CALL(UF_PART_open(part_name, &part, &status));* b  a8 r; h5 ]5 F: |7 U% |
            if (status.n_parts > 0) report_load_status(&status);
. e- e. N& q$ H            if (!status.failed)
7 o& Z4 `& V! M            {
# x1 ^4 G: H7 X/ M                do_it();
7 o! ^# x4 x6 v, ~8 O4 T6 `                UF_PART_close_all();
$ I8 Z5 w  L( K5 Q0 G6 I8 _; {' T            }$ o, m$ p% G) T" H, W/ S
        }
3 y$ O) j' _+ Z3 A0 v
* @9 O) G* Q# r( e2 S# r# j        UF_CALL(uc4548());+ A2 Y5 Z* A% J% f
# t/ s  {" l  T" o, y: }' G5 ~2 |
        ECHO("\nProcessed %d parts.\n", cnt);# k9 t9 o% z6 M' I2 [) X
    }[/mw_shl_code]" ]* k) |* C, J, T
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了