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

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

  [复制链接]

2019-4-17 08:00:53 2379 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 函数 ( V( I3 F) T$ M% r

. `& c- y5 Y5 {0 y2 d& s0 B8 C0 J% S' T8 T+ _/ z" h
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory5 e8 u9 J8 q/ P0 [5 m, S8 [$ Z

3 j% F9 g6 w6 O  d0 c9 Y2 l        Public Shared Sub Main()3 l8 L9 P  M- u

" Y" Y  N- m+ c0 F/ j9 }" r            Dim theSession As Session = Session.GetSession()# O7 K2 P7 H" b5 e7 d0 b2 e
            Dim lw As ListingWindow = theSession.ListingWindow()
+ k) P( r7 g/ F; H) s( p
! W, O/ v. E3 D- p            Dim foldername As String = ""/ F; p+ G, B( s! f- P
            lw.Open()
! u  X& V- c* G# t6 ]            If (select_directory(foldername) <> DialogResult.OK) Then
) |# }  ]3 a; t, q+ p                lw.WriteLine("Input canceled...exit" & vbCrLf)
0 u+ V3 @4 H0 z; m! T                Return5 ^: ^% N, r" f) |9 n
            End If7 i2 H4 h5 C+ R* |, }; }. V

) t) H) L& M% F+ c* e# F            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)+ K0 b8 o( v1 e% ^7 l5 f+ Q
            Dim fsi As FileSystemInfo
( ^8 i7 b3 a4 V1 V+ J
: g* ?  i# m, g+ {2 @            lw.Open()# c6 q: ^9 k! b  h9 v. [
            lw.WriteLine("Parts in directory: " _
( |* A: y! {4 e0 F: \1 u8 t; H7 p              & Path.GetFullPath(dir.ToString()) & vbCrLf)) i" K" ?6 a+ I. u
# n0 }6 k+ W9 k& d% L% W3 [& F
            For Each fsi In dir.GetFileSystemInfos()
  |; [: |  X  b5 Z: }4 _                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
% X$ [% g) a* y; P0 Y3 M                    Dim f As FileInfo = CType(fsi, FileInfo)
6 r- r* w9 t$ D) z# o                    Dim size As Long = f.Length
2 g2 G# ~: B( P( c& V1 U, b/ l3 Z                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
  H' A) r. ^# l6 Z% x! R+ f4 M                End If
% F  p) ~. E: b            Next fsi
# s; X+ J& t0 j  [* r/ _4 m" {" G
+ G9 b7 X% M$ n/ J5 @4 l4 p* J7 x# c9 J        End Sub
+ `* R. m3 Q0 h9 c; r
$ \( G# W) P( n) `        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult- Q& w: Y( \# a$ M
, O) e% c/ Y3 i8 Y
            Dim fbd As FolderBrowserDialog
& I8 p9 V* l$ U; N- u0 m" e& p  \            Dim result As System.Windows.Forms.DialogResult
) w% ?$ G$ E  C! V, N- z; {% J
$ ?1 f6 j$ z, K8 p            fbd = New System.Windows.Forms.FolderBrowserDialog()1 s) p7 N+ @2 L7 R& X7 V% f
            fbd.Description = "Select directory to check"& {7 }$ Q0 S% m  o) V
            fbd.ShowNewFolderButton = False
8 s) o' I8 o8 A9 |            ' start browsing at Desktop folder, uncomment for any other default directory: H6 C$ C+ J3 b8 ?- Q( u) P
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")2 {! [! N" @% O: q, ^
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
! U4 l' [0 P7 k6 a+ R            ' fbd.SelectedPath = "c:\aaa\bbb"
5 w: I9 o" e$ A% \- s. M# t            result = fbd.ShowDialog()
5 x$ |% \- G  ]9 x# q& b            foldername = fbd.SelectedPath
+ {8 ~' b& L5 W1 ^& g            fbd.Dispose()
1 s7 |/ l  g/ \5 T            Return result8 R; W" u+ k6 s" y
# O8 g7 }3 Q; p
        End Function. D" G$ j% l& P4 l( ~- ^/ }

* ^; `7 t$ B5 P4 ^6 X* W        Public Function GetUnloadOption(ByVal dummy As String) As Integer, x; z9 r. S6 S# |$ S+ o1 w
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination( D% T0 S  z" b! k5 Q+ t) i
        End Function3 f) J0 v, V- o' F; q
. ]- h  j7 R5 J$ @* k
    End Class[/mw_shl_code]. u; p* @: T, ~0 @
上海点团信息科技有限公司,承接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 的 方法
" I4 d3 q% U! s0 U$ C7 I2 F% J0 f( W" V
: K, ^6 B( z6 `$ {" V) h" w6 M4 P
[mw_shl_code=c,true]int$ V$ M) w  ^* y* r: }1 Y
        cnt = 0,9 u& K% u' M3 t. B9 @6 q
        resp;- i6 Y0 @2 }+ n0 U2 o
    tag_t
3 S! @; G5 \$ D4 [7 v7 ]        part;
' Y; ~/ l( F1 h3 _    char
) D) h0 m- q( e+ K! O- c# J        dirspec[MAX_FSPEC_SIZE+1] = { "" },/ \, S6 x! _* p6 d7 s1 s
        fname[MAX_FSPEC_SIZE+1],  N9 I8 ?" \# _9 u; X3 T
        part_name[MAX_FSPEC_SIZE+1];8 ~$ ]0 I5 Z( R8 S9 @& k
    UF_PART_load_status_t: K! l& s% Q/ @* b" ?( O# ?" g2 z4 R
        status;
: J. n" z- E6 s8 z$ N# M% T4 i
" t* X8 ]8 r1 p0 D, L    if (UF_CALL(UF_initialize())) return 1;
2 e* z( }# H: g( ^
$ o* I. |# ]2 `; r( A( w; `    while (printf("Enter directory path:\n") && gets(dirspec) &&# ^2 ]* K4 F, d1 Y& `5 q; N) C* }# S: F) I
        strlen(dirspec))4 M& _4 `) W0 k' b4 G) v  S
    {
- v/ S* n# f7 k( c        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");$ [6 u2 x0 P! e& n
        while ((resp = uc4518()) == 0)
# t% \" t. _8 ?: l( s- ?        {  _- |* s4 I$ a
            UF_CALL(uc4600(fname));
! |0 }: k8 a* X1 h0 y4 B! E. l            UF_CALL(uc4575(dirspec, 2, fname, part_name));
& }4 D7 Q" b8 k  X2 a$ S% W
5 Z/ Z3 g0 h. i, z; v; C, m            ECHO( "%d.  %s\n", ++cnt, part_name);
& g& j% F, C0 z5 `& ?; G6 L6 G% J7 J+ n& |2 g
            UF_CALL(UF_PART_open(part_name, &part, &status));
( {, D& _) h- V* n% j6 D            if (status.n_parts > 0) report_load_status(&status);0 L3 M( y: S5 D* N9 C
            if (!status.failed)4 x* O0 u! U0 M1 T- s6 P9 s- b3 a
            {
/ Y' ~5 l; |9 a( M' R% r5 O                do_it();2 e/ N! B" N" R5 I1 a# l
                UF_PART_close_all();
4 W  I5 S$ [: H$ L5 P, v/ \            }" J# D- v) c' g
        }
5 Z+ w8 Y+ y# S" k( h% b; x+ Y. X* X# H# Z% h( z8 m
        UF_CALL(uc4548());6 \+ \# j" B; L  A: i' m
( g5 q) ]  ^* _6 G7 Y
        ECHO("\nProcessed %d parts.\n", cnt);* d* ]( j& q) B  H5 f& [8 S2 e
    }[/mw_shl_code]
' j& w) F, i4 f8 s5 D
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了