PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

iPhone 发表于 2019-4-16 12:56:29 |阅读模式

iPhone 楼主

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.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复2

admin 发表于 2019-4-17 07:54:25

admin 沙发

2019-4-17 07:54:25

C#的  没有用NX 函数
, n; i+ k: K& ]$ `; W2 y1 B& C6 w: [9 a& B1 `
" X! N% K' Q. C1 z
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
. ~9 L5 [' _/ b. ]/ o8 k# G* ?, p8 Z- @, i( y# `; D9 W% K- v( X" e
        Public Shared Sub Main()4 c8 D# T/ O- |" d

) P0 \& {  K+ N, ~* `; g) W) l            Dim theSession As Session = Session.GetSession()  |1 U, w5 W9 `' T, x" P
            Dim lw As ListingWindow = theSession.ListingWindow()+ o; \! u  a' h8 D" U) D
( |* g- a5 K/ J- _  z* D9 B
            Dim foldername As String = "": h! h! G) X& m) i$ w+ b
            lw.Open()
0 O4 A, J: C' S0 }/ x+ H            If (select_directory(foldername) <> DialogResult.OK) Then/ s4 o9 ?0 }% }
                lw.WriteLine("Input canceled...exit" & vbCrLf)1 {  I* [* h# Q0 t: L
                Return$ c. o6 s7 f) _: D4 V
            End If1 v1 d  L/ T9 ^8 V9 l! G' e7 s
  ^, d- L  `- c
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
, o  S* F  n' _# O8 b" j$ g- c            Dim fsi As FileSystemInfo! B! o2 m$ b& \2 Y; G; R6 `. v
5 W# L# W# \  I$ ~& K
            lw.Open()
1 f. r" e- d* o7 R            lw.WriteLine("Parts in directory: " _
  w3 O) ^: |4 k+ k              & Path.GetFullPath(dir.ToString()) & vbCrLf)( ^! h8 N' R8 ~* L3 o
: l. g' y# e/ E3 N. E+ T, F, T
            For Each fsi In dir.GetFileSystemInfos()
6 r3 e2 Y! C9 s+ `; }( Z" D/ W                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
. J: w: e6 S& K( L  M# M$ K                    Dim f As FileInfo = CType(fsi, FileInfo)
, }7 K2 b' i3 y. @' C! I1 p. T                    Dim size As Long = f.Length% _  [8 K' ~6 j$ n1 L( a6 B; a
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)9 P- L5 s: W. l0 y% [
                End If
; q$ R; k: U; g/ k& Y0 d  x- B            Next fsi8 @" q7 K- }3 j4 d

) c" p- |& r, ^8 k5 l        End Sub  Y2 ?7 T* ]  D! Q, c* I
4 d0 G7 g8 A0 K: d1 k
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
1 A9 ?9 d' j6 N' L0 i3 n$ X. O1 o. k' M4 e8 ^
            Dim fbd As FolderBrowserDialog7 v3 T9 O: [1 r) l1 C
            Dim result As System.Windows.Forms.DialogResult
/ h0 y' D1 w+ Z1 A+ M
# O7 E8 G) U0 v' u+ s1 B. ~            fbd = New System.Windows.Forms.FolderBrowserDialog()
$ S8 t/ ]" t2 W$ R/ ]# {* T$ R% H4 `            fbd.Description = "Select directory to check"; {; k( K& R3 v+ k
            fbd.ShowNewFolderButton = False- [% P1 k* s* m
            ' start browsing at Desktop folder, uncomment for any other default directory
( e' m  Z' n0 T# t  A( v' m            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
6 W+ w4 j9 y& D. e            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard", d& A: C) ~) a
            ' fbd.SelectedPath = "c:\aaa\bbb"
7 Z: ~! z; q' Q! y# f            result = fbd.ShowDialog()
+ G* p' j! I) z. q4 H! }, @            foldername = fbd.SelectedPath
4 \: O* w( B: v( z/ Q: @            fbd.Dispose()
, \: E, F/ q. ]7 }0 P: a. Z            Return result
; e( V! R% j% |8 y/ ~; s
* j/ i5 q5 V: r8 e+ r8 a        End Function
2 M: L  ?: C  q! l2 w- s: A2 D
9 {3 @4 v' w: f# n( q        Public Function GetUnloadOption(ByVal dummy As String) As Integer
5 w; v% R: o3 Y/ \6 D  |6 G# S1 b            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination9 c0 l# s/ _/ C
        End Function
, D$ {+ M8 u0 @, {; T' y
  R; W. {! K. g: [) ~    End Class[/mw_shl_code]( g- m6 S* P, q) N
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2019-4-17 08:00:53

admin 板凳

2019-4-17 08:00:53

ufun 的 方法 * U# v8 S0 d) `! T% G! L3 A; G# w
8 n5 {1 Q' X9 w$ W1 T* x1 v4 Q
# N& H% O3 o2 q  B6 \7 r6 Z
[mw_shl_code=c,true]int
3 t( ^7 z# H0 l, G- v        cnt = 0,4 I( d4 m6 q5 G! l5 k
        resp;
  J6 q6 H& s, `6 I0 I2 N    tag_t
1 [1 b. g/ i& z6 I5 @* Q        part;! ^6 R1 S( c% D2 m) S0 l
    char) @* d- i; l' M* N& `
        dirspec[MAX_FSPEC_SIZE+1] = { "" },* J0 F, c% B( C1 ?" e
        fname[MAX_FSPEC_SIZE+1],: n& U# Z0 D# ]: \1 S; R; U& D& n
        part_name[MAX_FSPEC_SIZE+1];; }0 h8 K* \1 J8 C8 R
    UF_PART_load_status_t4 P+ m$ m+ Q1 z& F4 x% `7 W
        status;
* Q. [1 _( E7 m7 i# e' _% M' {
: C1 w8 n8 G: s( Z    if (UF_CALL(UF_initialize())) return 1;
4 R5 u$ d/ J. z9 A. z& B( P2 w; s3 B2 y
    while (printf("Enter directory path:\n") && gets(dirspec) &&
% y8 n8 |/ `3 m1 u: l/ k/ W8 p; q        strlen(dirspec))
' W7 G  \) ^$ F& n* Q# m    {
" ]1 @, g/ V+ y        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");. S+ ]3 F; D; \' i
        while ((resp = uc4518()) == 0)7 h% d; i9 ~! a8 U9 v( u+ I- C0 q$ r0 S
        {
; A/ n4 n/ R( q$ Z/ H            UF_CALL(uc4600(fname));
' P( {- @. n. y" v  I* \4 J1 L% V            UF_CALL(uc4575(dirspec, 2, fname, part_name));2 u) e) J1 D- D
9 F" T) q; i# V& x$ u% m  J
            ECHO( "%d.  %s\n", ++cnt, part_name);3 J" _; y2 W3 L" E, d. H

& _4 ^9 l; L) P6 I& }            UF_CALL(UF_PART_open(part_name, &part, &status));
9 j6 m  }' [1 a: K  `            if (status.n_parts > 0) report_load_status(&status);0 N/ Z. _+ N0 t( X3 A; Z
            if (!status.failed)7 I6 {5 A; l* Y# ~* |5 I7 c
            {: ]) P% l3 I3 s) N$ n
                do_it();
( k) A3 [1 P$ N9 N+ `6 m                UF_PART_close_all();. X) t  |, s4 @  E. i6 y/ C! m
            }" n+ B$ \# E8 k
        }2 g- |9 i; b/ i% A
9 z7 Y- [% B5 y3 s
        UF_CALL(uc4548());
0 P! ?- ?7 ]3 _& }$ B, D+ m0 m; Y) @: F4 |
        ECHO("\nProcessed %d parts.\n", cnt);
, g3 w6 @3 Y: [* ^9 R    }[/mw_shl_code]
/ J! H* t" s1 c' z: x) m
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了