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

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

  [复制链接]

2019-4-17 08:00:53 2508 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 函数
) y2 x3 Q! e3 i, |8 R, @( s  }; R- D7 g% z7 h
: A6 i. k7 N( Y' Z2 t
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory) ^) |* |8 q+ Q
9 V. q, `; y+ L8 p6 K- j, Z
        Public Shared Sub Main()
: k! Y8 |" ^  k7 [7 X8 T! [. M$ J+ h+ Y  p9 d) y/ T6 V$ m. g/ b- l1 Z
            Dim theSession As Session = Session.GetSession()
( R9 y6 L, f) l, O4 Z9 \            Dim lw As ListingWindow = theSession.ListingWindow()
2 D# {0 }# m: m3 I8 E$ P
2 G+ x7 S0 }8 j' T/ j; o            Dim foldername As String = ""* |6 p& g3 q3 i1 {" ^) Y3 g+ s
            lw.Open()
: c  w! x/ c* U3 j/ d% u' m0 k7 ^            If (select_directory(foldername) <> DialogResult.OK) Then
/ @' K& E) g. e2 u) L, y                lw.WriteLine("Input canceled...exit" & vbCrLf)
: C* W+ ?, v9 v7 c* g                Return1 O, i9 V/ g* L  _/ f
            End If* `% O& S5 H/ n$ {6 E: T4 T, K+ D# F

, Y/ d0 x1 y; ~' S* C5 r9 F6 M            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
, [( g" b, |2 j. ~1 d1 E            Dim fsi As FileSystemInfo
$ K3 o6 h& u1 a8 Q8 W
! G3 \! g" u; Z" a# V3 l7 l            lw.Open()
1 ?; `7 q* ~; Z/ T4 z" D+ y            lw.WriteLine("Parts in directory: " _
0 A/ N! U7 A. ~/ S# V. \5 r              & Path.GetFullPath(dir.ToString()) & vbCrLf)2 p. C9 D# L& r' j/ I* Q! M+ I

1 m3 W8 U( k9 U$ O& l            For Each fsi In dir.GetFileSystemInfos()/ a" Y) {$ M& \) x
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
9 `3 f$ _. }  T& k2 @$ F* O                    Dim f As FileInfo = CType(fsi, FileInfo)5 {! R+ a0 `3 ~4 d+ T
                    Dim size As Long = f.Length
, {+ d+ [" D4 ]( U# ~# I                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)+ Y$ D5 K( V( q2 M2 i  w$ C6 N+ |
                End If
1 V6 d" T9 h) L4 O3 z            Next fsi
0 \; w7 |; U2 N# g: n/ U- E
2 D3 s4 F( r( P# O" @        End Sub
1 x4 Z; S- _8 q: P  ?: o  k3 G8 k& k2 F$ E
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
. T! c0 G8 A' H. s# _5 r
. c# D3 a# E, V+ S            Dim fbd As FolderBrowserDialog
% `7 {% y* E: b            Dim result As System.Windows.Forms.DialogResult
2 I; N8 l8 C' F& g) L* ~) }- a/ l7 u4 {5 b
            fbd = New System.Windows.Forms.FolderBrowserDialog()
8 @' `& R& R( J  t5 v8 t            fbd.Description = "Select directory to check"
4 `( i$ y, }) D2 F            fbd.ShowNewFolderButton = False
, E0 ~5 j2 o# F' x! q# ]$ R            ' start browsing at Desktop folder, uncomment for any other default directory  y6 j2 U* \7 X- A, `4 e* c2 u
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
( h( O$ w$ G# f# N            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
" {% c/ V" n' G7 q5 D            ' fbd.SelectedPath = "c:\aaa\bbb"& F) N$ C% B1 J- s8 y3 v
            result = fbd.ShowDialog()& b7 p/ T1 t. X- A/ r
            foldername = fbd.SelectedPath" P9 j" M8 _  y. P) d% |
            fbd.Dispose()0 `) D, `6 [  w
            Return result
9 J4 P6 P) Y' W  M/ a! g
9 k' @" b% z7 C  g: d1 B8 Y        End Function' G* D+ v$ N  B& _: b- Y

/ u% ]" {8 ^$ s4 T+ l; K' Z  `9 F        Public Function GetUnloadOption(ByVal dummy As String) As Integer
8 m1 {1 W; V# x1 Q3 P' U            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
* d3 h4 t9 j  H6 ~) W        End Function
9 P& C) n4 v4 W6 o+ G4 F0 X0 }; T- N6 q5 p
    End Class[/mw_shl_code]1 B  `2 l9 {3 B# z8 X& Z! [
上海点团信息科技有限公司,承接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 的 方法 8 x8 q% ^) P2 ~
8 s6 {. T: V) T
5 O6 N; @( v( o5 }  q, j
[mw_shl_code=c,true]int% f( F4 u5 j- f+ }, a0 s
        cnt = 0,0 _% G' c& j- i) J7 w
        resp;
0 T) x  r7 H5 o2 N; v& }    tag_t" j, v' Q- X! v2 H% O' b2 _; t
        part;$ H2 j$ r' ~# R3 p! g7 F
    char
5 l, d3 ~+ _5 t, c* a; o4 x& N        dirspec[MAX_FSPEC_SIZE+1] = { "" },
) P- k' ^* A0 U6 I" n" U        fname[MAX_FSPEC_SIZE+1],
: k6 a0 V4 F# w" V" C# I" M        part_name[MAX_FSPEC_SIZE+1];
" ^6 ?/ g& P0 _- r8 ^    UF_PART_load_status_t' H0 s( u- {. O: o0 ?
        status;; o, b$ k1 T* Q! q5 q

9 h1 {0 |* I1 T/ y3 X    if (UF_CALL(UF_initialize())) return 1;4 V. p* D; M, X0 z4 v# ~

& c0 t" c7 s! i) a/ B7 O6 p3 r: x9 R    while (printf("Enter directory path:\n") && gets(dirspec) &&
" _3 x) m0 H5 H7 Q" }        strlen(dirspec))) v+ G$ }" p1 z$ H% }3 `+ N. n
    {8 ]' [. m5 A6 T7 L( A
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
# Z& W, d* h) B+ q+ O        while ((resp = uc4518()) == 0)4 ~2 F# m# ^9 S2 r# r7 m' ~
        {
8 n  G" \+ Y- Y/ x6 p            UF_CALL(uc4600(fname));
6 ~$ k! r9 k5 E; |5 x+ N3 {+ j            UF_CALL(uc4575(dirspec, 2, fname, part_name));% u2 p" ~  K0 c

- Z8 _/ r! ]# Z3 u' P8 F+ ?0 z            ECHO( "%d.  %s\n", ++cnt, part_name);7 m- c0 Y6 P" M8 s% p6 n8 k9 h" X1 q

0 {3 `- L. y, K* h7 n. o            UF_CALL(UF_PART_open(part_name, &part, &status));- f$ P$ r- ^8 O* ~- \( x/ f
            if (status.n_parts > 0) report_load_status(&status);/ b( o9 {: h7 [. Q9 s' q/ y9 t# Q: ~
            if (!status.failed)
4 \0 q, ]* _3 e2 K2 s            {, y$ O7 }0 Y, e& \; H6 _% }
                do_it();/ _$ m# g* J* ?; o$ @
                UF_PART_close_all();
) f* @9 B* G# Z& Y            }  w4 ]' x8 H7 L7 ?7 w- E3 I% k3 B
        }
! _2 P* Z! X* A0 s
2 c; @1 y& N5 L        UF_CALL(uc4548());
/ l' o7 _) h: I2 R, E2 i4 ~- Q2 S' z
. W1 I. p; a, \" u, y7 J  z        ECHO("\nProcessed %d parts.\n", cnt);- P# t( {( F/ E: c
    }[/mw_shl_code]0 J' o! B. x/ [. ]1 f5 G3 R6 S7 l( v3 }" S
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了