PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

2019-4-17 08:00:53 2664 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 函数
% G: W! g0 M8 @/ P( a" s+ R" o! l9 P; P7 v& R! Z8 x+ w

9 U' U/ I+ ^5 T. Z8 f[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
% y1 t6 ^5 `/ a8 N4 d+ t/ T$ {. N6 d2 K
        Public Shared Sub Main(), A& E- K! Q& x4 b/ h! i; G

$ H$ y' s' Q) j. V8 w: G2 H            Dim theSession As Session = Session.GetSession(). H/ g* v1 i$ A; R" Y
            Dim lw As ListingWindow = theSession.ListingWindow()
$ c( j& A) l" H) r0 t+ |  B0 b. x$ M& |1 z
            Dim foldername As String = ""' \6 i! u' A0 b7 ]
            lw.Open()6 J( n5 [* w' k& m. F+ \
            If (select_directory(foldername) <> DialogResult.OK) Then7 d' |& Q6 @: ~
                lw.WriteLine("Input canceled...exit" & vbCrLf)+ B* |8 V. T; ?" O8 T: {
                Return. `5 N: N' O8 J" ~4 E
            End If
5 a6 r1 T9 v, I" s) Y% {# G4 L5 {* u& H, X, x" M
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
% h1 K' E! `5 G2 e  E            Dim fsi As FileSystemInfo$ G' m5 G0 l6 q: {/ e
6 O4 N1 Z  M4 t2 r
            lw.Open()
  }/ Q3 d8 r# N% n3 p8 |* o3 n; d            lw.WriteLine("Parts in directory: " _: G/ F! k& ]5 K# k/ f3 Z* L! L$ b
              & Path.GetFullPath(dir.ToString()) & vbCrLf)
/ V6 v# a3 D8 B( r% z* ~
' b: J; e: r: L( X, x: q0 `1 V            For Each fsi In dir.GetFileSystemInfos()
: |3 A: W7 I) I" R: |% r" ]                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then3 `- ]& {% N0 g3 i0 e
                    Dim f As FileInfo = CType(fsi, FileInfo)
3 ~2 Q9 r4 D( x# S6 _                    Dim size As Long = f.Length
( W9 G3 c* M6 U; }- ^+ p                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
/ o2 I0 ]% q0 u. P" v( R+ Q+ c1 o( [                End If
: @( u2 ^: G& h: X0 e1 b) E            Next fsi4 e6 ]# |+ _& D% t8 C0 X; h9 W( V0 |
! }, a7 L3 s) u: P! G
        End Sub
3 }$ ?+ T/ k; ?% V" N& j
- W4 r6 D: d& u- ~/ S) d; v) m        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult: m. K6 d  ]4 P: R7 a9 v  d

' ~" |3 d( b$ M1 `8 G            Dim fbd As FolderBrowserDialog
! [! f1 n* H* I" A, Y( h& N            Dim result As System.Windows.Forms.DialogResult. h5 M/ g( o( @0 l& T5 \! C. d7 O
" Y+ y' D, i2 r% O/ ^( x
            fbd = New System.Windows.Forms.FolderBrowserDialog()
4 q+ ^, y! {: W) l. ?. }) Q/ j            fbd.Description = "Select directory to check"
" A+ M4 {9 E5 s; O* b: [8 _            fbd.ShowNewFolderButton = False
+ Q' z9 w" B1 r9 V2 [4 s  `            ' start browsing at Desktop folder, uncomment for any other default directory* J$ T9 `7 x' v
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
' f% N7 |8 A9 D+ q" A, R! S            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
& o+ O$ H6 l3 a1 G9 I/ q            ' fbd.SelectedPath = "c:\aaa\bbb"5 F! r8 ]% |. ?5 v$ O7 P5 ~: A
            result = fbd.ShowDialog()7 G  [: [6 }( a. G' e. ]
            foldername = fbd.SelectedPath& S9 R. Y8 z5 q
            fbd.Dispose()
5 W1 R& Z/ d+ z2 M: k            Return result" Y9 C! P) A3 f8 S, T/ g( ]

3 }- |" n9 P6 s" p$ B+ }" S! W        End Function/ w: p4 _+ ~( |  t* n) i% z% h
# l1 Q6 ~& J  A( `
        Public Function GetUnloadOption(ByVal dummy As String) As Integer
6 s# C7 t) X2 B" `            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination6 d' \1 t8 R1 @7 _- k% e; A5 |- m
        End Function
) y( _" H' |( V" y+ [6 J/ ^( l( Q- P" h: k
    End Class[/mw_shl_code]5 _4 q- U8 v6 X, u9 s! m; L+ u# b! |
上海点团信息科技有限公司,承接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 的 方法
/ d! ^4 z. c% C1 U9 R4 q
+ X/ T; z. h5 T, N! E- A' H+ x; ^4 T: J" f  ?
[mw_shl_code=c,true]int
3 r# J% {" N0 B- N! c# }. X  p# Z        cnt = 0,( |% Z* h, A- e7 I2 v* t
        resp;' n8 K" Y' h  W
    tag_t7 f$ s2 Y' [! n( N9 Z
        part;
' J6 i* g/ C9 S$ [0 S3 |8 Q: ^    char
- E8 C6 m% k6 m8 ?" W        dirspec[MAX_FSPEC_SIZE+1] = { "" },3 O5 c# V& k. n
        fname[MAX_FSPEC_SIZE+1],
5 [2 H6 I0 j' N! Q+ V        part_name[MAX_FSPEC_SIZE+1];! e  D! g+ y: r0 i4 L0 l* ]' f
    UF_PART_load_status_t
5 f* j; z5 o" X% }1 O        status;
; H0 i7 ^8 K8 t* T9 A1 n2 `+ C3 X; e: Y# p
    if (UF_CALL(UF_initialize())) return 1;6 o3 u( }% d5 d3 Q9 I  t! b

8 E8 f5 |5 z3 K: I$ J  \- K$ p9 }: p    while (printf("Enter directory path:\n") && gets(dirspec) &&& ]5 E: V: I6 u. t$ {; [6 T
        strlen(dirspec))
0 I* v* k$ i' X2 v' _, c, V    {
3 l* D1 X+ E. W        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");4 Q4 }' F1 Y) U, F/ S9 S; n
        while ((resp = uc4518()) == 0)9 f6 W) @3 v% u5 h7 |! U
        {7 t& ]$ D% F, M
            UF_CALL(uc4600(fname));
8 o9 B9 O+ }$ c7 F- Y- ^            UF_CALL(uc4575(dirspec, 2, fname, part_name));) K. Z( |5 v: l- z: O
. D) N5 B" n% f
            ECHO( "%d.  %s\n", ++cnt, part_name);
2 C) k6 F1 S. Z; T( `4 `
( b6 B! C4 D: y            UF_CALL(UF_PART_open(part_name, &part, &status));
- G& e5 s( \  v+ ~8 W- I) D* J4 _            if (status.n_parts > 0) report_load_status(&status);
8 \, a- A2 d1 F' o- E0 R. T, C            if (!status.failed)) K) k0 S: o) W- d  c) o, U- u. d
            {0 `5 d6 Y$ k& U" L) T
                do_it();( E$ F: |6 K, s( |+ S( E" Z
                UF_PART_close_all();
  D* X" P5 _1 e7 U% n1 u0 z7 ^0 l. u            }4 R+ i& J- t/ z) p! J  x% f9 b/ H3 g
        }0 ~% A) G/ G8 k! R

9 H9 j2 C+ v: F$ S* I  k2 e        UF_CALL(uc4548());- ~- W3 u; `/ f% {9 i6 f
; k3 G" X0 |2 c. v
        ECHO("\nProcessed %d parts.\n", cnt);6 \& F) J/ G. b4 N, k
    }[/mw_shl_code]5 Z; }; b. A& ^3 o- C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了