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

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

  [复制链接]

2019-4-17 08:00:53 2601 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 函数
* L5 N. O6 R4 |% F+ o  Y
" s. {# ]9 f# h; z  {" M7 n" U+ Q2 b, `. J
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
$ _; i% a1 v6 T" h+ ?2 F
* \1 V# Z! Z  q6 O6 q* X        Public Shared Sub Main()/ N, n0 A! B: L2 n; S9 T* o4 ~2 Q

) z# ?4 q; a8 C) D            Dim theSession As Session = Session.GetSession()  R6 f: r0 q/ K, t# q/ N/ A; z$ N
            Dim lw As ListingWindow = theSession.ListingWindow()
+ o6 w" j" K( q$ a0 |1 w! }+ B5 n" Q6 ~8 m
            Dim foldername As String = ""
8 Y1 S3 i$ ]% A. y* }            lw.Open()1 g. M$ ^5 X! ~
            If (select_directory(foldername) <> DialogResult.OK) Then  P. T  o6 W. ~. j: x, }+ i
                lw.WriteLine("Input canceled...exit" & vbCrLf)
( C& C) F- B3 \4 g. ?2 {& o5 m                Return1 ~$ b  [4 ]8 O4 P
            End If% {) G; y9 |. C% ^7 X2 C

2 O5 ]$ Q4 t2 n6 `            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
* ]5 O- R  }; Z# v6 G/ e            Dim fsi As FileSystemInfo# H$ U: r; e$ _$ U# _7 b6 j+ ]& v/ R

; L* k+ ]; I- G0 o4 J5 u            lw.Open()+ X0 C& D* l  L% J7 s
            lw.WriteLine("Parts in directory: " _
2 Q  L$ K8 ^* O+ v0 k, Y6 C, F/ D8 M              & Path.GetFullPath(dir.ToString()) & vbCrLf)! T9 G( P$ u( b! d, e3 J& v8 |
+ \6 C" o, i$ Y8 d# H
            For Each fsi In dir.GetFileSystemInfos()
0 f$ k. y$ c7 @$ B# X                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
- g# z7 j& N9 K& W) P                    Dim f As FileInfo = CType(fsi, FileInfo)
' Y- V6 E5 G) R; n                    Dim size As Long = f.Length
6 O- j# J, `5 y: \& G  O                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
$ y5 x) J8 e& Y6 t# j6 B                End If
7 y5 l- G8 H3 Q+ a/ r* [            Next fsi
8 U) O) x5 G( v# X3 g3 q* k: k8 e: k
        End Sub8 l! f4 c5 i% X0 e$ R: r6 [" B

* C9 Y. D6 w2 W' y' ~* X$ @        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult# G- f9 V3 z5 {3 z- c: a

) E, R9 J) t% p            Dim fbd As FolderBrowserDialog( W. s1 J$ ^' q, I
            Dim result As System.Windows.Forms.DialogResult
( H0 P  \" @  t2 p4 I& T& {. x+ [( f* j0 m
            fbd = New System.Windows.Forms.FolderBrowserDialog()
2 S* a1 e8 J* o: x. O            fbd.Description = "Select directory to check"
( {! H, B& S1 U6 B) N7 v( p! v0 Y            fbd.ShowNewFolderButton = False
: D% {+ t& G; f, F! \            ' start browsing at Desktop folder, uncomment for any other default directory/ E$ t/ r/ @% |$ {. d# J/ ^, l
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")1 @% M' L( ^7 d0 H. V( j
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
& U2 `! C3 |4 E9 `1 }6 o            ' fbd.SelectedPath = "c:\aaa\bbb"$ i( q- w: s5 Z9 s5 _
            result = fbd.ShowDialog()
3 f5 A1 E" S8 K  J& z$ [9 Y' j9 o! O            foldername = fbd.SelectedPath( ]. h( a% i2 z4 \/ L: q) M
            fbd.Dispose()( Q4 m1 r6 |1 d% X7 n
            Return result
5 @0 {  D8 ?# \& `9 |8 t3 n
7 [" u! }: j- |4 k1 t        End Function
' Z8 g% \* f; ^. g
: F! P7 P9 N5 _  T6 R: ]        Public Function GetUnloadOption(ByVal dummy As String) As Integer7 O, k6 u1 ~# p7 [+ \1 @* U
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
6 W$ g' B1 Q- d        End Function
9 k: b* Z2 U: m
+ d* T6 m& P. _" ]# D6 g    End Class[/mw_shl_code]" b8 I5 L$ ~  g
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

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

admin 板凳

2019-4-17 08:00:53

ufun 的 方法 ! E* @" Z: l" d1 a
) K6 q4 }" M$ G" b, T+ e: ]+ _
7 R0 `/ f* U  ^
[mw_shl_code=c,true]int
1 K; d4 Y' x0 t3 B        cnt = 0,  ^4 a" z7 }2 Y! T: J$ Q# w% M
        resp;. \- B% |! X2 w: @; _
    tag_t
2 U+ B9 f( Y5 v) I9 H        part;' G; ~5 _/ e' `4 S5 ~/ ~: u
    char
+ c8 O: H! N( q' q3 h! Q8 Z7 V        dirspec[MAX_FSPEC_SIZE+1] = { "" },, B, u# ^, A; q5 w( [
        fname[MAX_FSPEC_SIZE+1],' y& {  V5 v' n
        part_name[MAX_FSPEC_SIZE+1];3 s% r  s$ R- p1 \( J. C
    UF_PART_load_status_t
6 j5 j% w3 H8 e% m, S. k        status;/ V1 x$ e7 a5 Z3 p

- v8 P8 {% C3 r4 z7 i* k- c    if (UF_CALL(UF_initialize())) return 1;" B! ?- A6 ~" e9 _9 F/ u

0 w% q4 z; Z" d  y/ c- C    while (printf("Enter directory path:\n") && gets(dirspec) &&
" p5 m8 x8 A% s" s2 C        strlen(dirspec))
& c5 |) ~8 L, j/ U. K  }& f    {
) k+ Z) e1 S  o# z7 v3 d        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");8 o4 S* X1 |" p/ Y% W' s& R# u0 S
        while ((resp = uc4518()) == 0)
2 _' X5 M3 k/ d+ s        {0 u7 G. p5 k$ w) _! @& f0 z; M
            UF_CALL(uc4600(fname));
+ X1 G# E, g. l+ ~            UF_CALL(uc4575(dirspec, 2, fname, part_name));
/ X- z( Q" u. X4 o$ G9 s. g4 I' J
1 v: ]9 j& {, a$ G* X# ]8 W            ECHO( "%d.  %s\n", ++cnt, part_name);* {2 n8 G4 ~6 N
' f( C4 E3 n# i6 V% q5 z$ x
            UF_CALL(UF_PART_open(part_name, &part, &status));' d. g  n/ R" }5 Y  |
            if (status.n_parts > 0) report_load_status(&status);
5 U* S  U9 X: p6 O  A            if (!status.failed)
- T+ ]* s9 v  a9 ]& t& s) E; y            {
6 E- P. c" @3 I) w2 `5 Y9 f1 V                do_it();
' w% ], r& @9 L, R# ], J. N                UF_PART_close_all();
( z* \4 O/ ^8 O( i7 B+ d            }9 F* F, C' M7 h, Y& S' ~+ ^/ c
        }
. c/ R1 @0 E) Z6 {4 g% C+ W9 d1 w% _2 G7 P% {  v+ _
        UF_CALL(uc4548());
. M& {5 P; V0 T2 b1 F- `8 x' m7 Y* P; V. D, @
        ECHO("\nProcessed %d parts.\n", cnt);
* G0 G2 G* Y8 y8 a4 Z  @2 K5 J0 X    }[/mw_shl_code]. C- N+ |1 L% \
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了