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

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

  [复制链接]

2019-4-17 08:00:53 2492 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 函数
( L# ^5 L0 D$ @/ |2 C$ u# l  H( W1 \  A+ [% N
! Y+ |/ _% G' E$ |& v, v" t5 R
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory) U$ S% T# G, N' X' m

$ m6 S) x% c( B: ~/ P        Public Shared Sub Main(): ~+ T" @7 A7 r5 `5 ~

/ j% c! y+ y6 H0 s8 H# V            Dim theSession As Session = Session.GetSession()
( m+ @6 ^! c, j" }            Dim lw As ListingWindow = theSession.ListingWindow()! A. U6 ]; F- I% B9 l2 Z) D

# A# X$ r: t: R1 X( s2 [# S            Dim foldername As String = ""0 |( p; ~$ k7 g$ I
            lw.Open()0 F, o: x/ q9 ?' v
            If (select_directory(foldername) <> DialogResult.OK) Then
7 @; g+ G" K' ~( N7 T: c7 J                lw.WriteLine("Input canceled...exit" & vbCrLf)
6 A" {4 ~) L) h5 g                Return
0 h- M( y! ^0 l: B; Y            End If+ M% c5 A2 q+ W" K7 p. ^+ j$ n

; e  H6 O( Z. P8 S            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)) a' S0 _$ G! ^5 q) N
            Dim fsi As FileSystemInfo
% B; T" ^9 y: F3 J5 A( w/ v0 l- a3 F8 f. G( u; j7 _% W
            lw.Open()6 G, o9 ?8 B+ \! V
            lw.WriteLine("Parts in directory: " _
3 V: `) p2 j5 w( r* N" k7 D              & Path.GetFullPath(dir.ToString()) & vbCrLf)2 |6 p6 P: a" w/ ^6 }
1 a, D$ ?( K  }# x9 q% }, s( ~0 i9 y& y
            For Each fsi In dir.GetFileSystemInfos()- o8 A6 D: t9 X) n: s. |
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
! [3 X2 g# c8 p0 _& p                    Dim f As FileInfo = CType(fsi, FileInfo)! E2 L; v( S- B3 G# Q8 W, l4 ?! u
                    Dim size As Long = f.Length9 I! g2 t+ T* }( q
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)4 `' q' {/ k6 W- ^! J
                End If+ \/ F) W. o7 V
            Next fsi
" Y) I! X7 {+ C3 y/ E( z. D# f) u" t- ]
        End Sub
0 Z0 I" k5 m5 ]7 j2 `  D8 g3 [; ?8 T6 U+ p4 H1 T7 m0 q
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult* c# `9 [& y  n- e
- W% x! {7 ~, a3 l2 H
            Dim fbd As FolderBrowserDialog
4 @1 E' _. K6 G" f2 L0 q) j, x            Dim result As System.Windows.Forms.DialogResult6 m- T- T% n3 v6 l  q8 m0 B
4 @4 t% K0 T& i% \4 x4 ~. L8 E
            fbd = New System.Windows.Forms.FolderBrowserDialog()) Q/ c  @% }+ X8 `6 ?
            fbd.Description = "Select directory to check"$ n; x' Q- w, A) K. Z
            fbd.ShowNewFolderButton = False) ^& _3 h# B6 {. m7 L
            ' start browsing at Desktop folder, uncomment for any other default directory# c% P$ M$ G' q" r& u9 k/ }
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")6 k5 T2 t& s) ^0 c& C
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"5 O0 M8 o: v: x! M4 N4 d
            ' fbd.SelectedPath = "c:\aaa\bbb"# k$ n# S* [% t1 P
            result = fbd.ShowDialog()* }, Y4 L0 h/ h+ e# e9 r" B. B
            foldername = fbd.SelectedPath
' K* ~. n5 l' @& Q; K            fbd.Dispose()
' n& d. Z. r- T1 I' w            Return result
; q& Y: v6 J: K2 k9 d" Q. X, ?' b
: k5 E* Z* y+ q! u- F) i5 n9 J        End Function
& P- S! m" e3 J& S# p8 @0 x6 P( L" [4 i* I2 G2 \% c: w* w0 O
        Public Function GetUnloadOption(ByVal dummy As String) As Integer4 q, A. B% W; d# P1 {# ?
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
, v: _7 _  D9 `1 F        End Function& k  T$ z: \2 s
7 a) ]8 `& p  Z7 a$ J( z2 E: n5 f; V
    End Class[/mw_shl_code]
0 F3 D) _: l- E' }3 |7 s
上海点团信息科技有限公司,承接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 的 方法 . @. q3 n3 G4 W& I* [

3 w7 a3 T8 \4 z' o+ v# Q
$ d$ g8 R& @7 H7 g) O  w[mw_shl_code=c,true]int+ [$ o; z4 g, k
        cnt = 0,2 g) }# ~: S1 p* J& ]
        resp;" Y- d2 ?+ _0 w0 w5 n' Y6 G
    tag_t
1 B; K6 N4 Y$ c5 s# B        part;* }% o" n* q+ O
    char
3 o; E: j9 P" s( P' t, L: ]        dirspec[MAX_FSPEC_SIZE+1] = { "" },9 s3 Y( Q$ o4 c7 f! o1 U
        fname[MAX_FSPEC_SIZE+1],
1 z" h) U3 v7 Y( O* ?/ W- k        part_name[MAX_FSPEC_SIZE+1];
* \  W+ J; r( Y9 W2 Y    UF_PART_load_status_t
5 D' x. N! Q5 S* a5 |2 X        status;
# S& W! `8 X4 _0 }+ ^2 g5 y- D) `) E/ C0 u# X
    if (UF_CALL(UF_initialize())) return 1;
% B2 o8 r8 w# P4 p  N( ]1 G
& L5 K$ O7 ]5 ~6 e( n    while (printf("Enter directory path:\n") && gets(dirspec) &&
' y+ C: g1 H) V& x; u$ l        strlen(dirspec))
( a5 ~- _" K# s7 p0 b    {; e, X! `  G8 R
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");' H% a2 U" u$ k, J  p3 `8 u
        while ((resp = uc4518()) == 0)! d  D3 O" p; C* p# U  A% Z( ~/ D9 {6 k
        {
; |2 b' a$ K+ [8 J            UF_CALL(uc4600(fname));7 [6 m/ z# V9 }' Z/ O  J, m
            UF_CALL(uc4575(dirspec, 2, fname, part_name));& g, l' E8 `! C* j7 E. _
2 L3 s& |! Q- `9 V
            ECHO( "%d.  %s\n", ++cnt, part_name);' B' f) u* {: r4 J# D$ d

) E, \, p6 e1 d% e: j! l! n            UF_CALL(UF_PART_open(part_name, &part, &status));7 K0 `" ^' ^* n* i# A: E+ V0 ~
            if (status.n_parts > 0) report_load_status(&status);
7 z6 S. ?, Q- W  L* i6 l            if (!status.failed)
1 \/ ?2 U/ w4 r7 g+ u/ y! I            {& [+ b4 m; ~; D. J
                do_it();
8 V. I4 @3 e5 I7 ~% E+ ~                UF_PART_close_all();- g6 a1 [' ]! r2 e, R
            }
6 Y$ f3 ]' r3 b5 I" Z  o0 @( m6 L1 C, }        }/ ~: D, k  r4 w, N% t

5 T- Z9 c1 h) t& O: E9 w7 R; S        UF_CALL(uc4548());! ~1 ]* d" L, i$ W. x
% p& }, N$ m1 K
        ECHO("\nProcessed %d parts.\n", cnt);
8 ~4 y1 z% j$ a4 H) J0 s    }[/mw_shl_code]
2 V+ ^0 _/ I6 x1 j* i+ E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了