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

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

  [复制链接]

2019-4-17 08:00:53 2666 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 函数 2 z8 Q( u6 O7 w4 \- k* E7 B

6 a# w+ l! B. t  Q( m4 I  b' k- U
7 l+ K! c% `1 Z+ e0 p+ `, ?: h* e& O[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory- M7 Q% ~  D; T

4 B5 P$ j+ `0 T  n- f! D  K7 ?5 B        Public Shared Sub Main()
3 k' A- I4 A* \# }5 ^3 v. ^2 ]/ j# W0 R' C# [
            Dim theSession As Session = Session.GetSession()% w' F& r& u; F
            Dim lw As ListingWindow = theSession.ListingWindow()
- |" r4 h$ W( w2 J+ L7 G/ O
- H, a& e+ o7 T! c' x/ h            Dim foldername As String = ""
# D; o5 v6 u* q/ d# @            lw.Open()' a7 w# z9 Z7 o+ v
            If (select_directory(foldername) <> DialogResult.OK) Then
7 m" k1 d0 U8 b% Q  M& W4 A7 |; ^                lw.WriteLine("Input canceled...exit" & vbCrLf)/ w* K3 u3 \' e# G$ i( _
                Return9 j( F: [; T3 Y) L
            End If
# R2 u8 ?2 F% Y; H) M+ H7 a4 Z2 _  o8 J6 z
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
5 `5 {1 w! s% Z# I% u" J            Dim fsi As FileSystemInfo9 @+ P9 U3 o: b( h6 z- ]

: _$ w: K! Z; Y            lw.Open()9 Y0 _1 U: x: w) K
            lw.WriteLine("Parts in directory: " _
  U/ B/ N% x/ j/ z              & Path.GetFullPath(dir.ToString()) & vbCrLf)
( e% R6 z' `. o" U$ e5 c3 ?4 k+ g* r1 f0 ^8 f% l
            For Each fsi In dir.GetFileSystemInfos()3 P% x( r- ~% U4 f9 b; j4 @
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
5 @+ _( {& f7 h$ a2 U4 G                    Dim f As FileInfo = CType(fsi, FileInfo), C' o( A+ O( U8 t) s2 P. V
                    Dim size As Long = f.Length
- w. \5 R, R+ v4 D+ @  v                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
0 j3 M& p7 y5 ~6 D! D                End If  g* u" l6 ?1 N" ?# y) ]4 g" P& e
            Next fsi# ?' r  f: h" B7 W7 N6 i' i& ?" o
; ]2 e0 G+ F, c0 t% ^
        End Sub
: X2 r; u( O5 q2 t: c1 ~' b3 K( p: G* j  i4 R7 M: X
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult/ o2 }; S! Y- K6 L
! y# t, k0 ~' _" Y9 w4 F
            Dim fbd As FolderBrowserDialog
" q/ s6 U4 G% P' L* O            Dim result As System.Windows.Forms.DialogResult0 h) M. c- W& {6 b5 j

% C2 P* g4 c- u# q1 }/ B            fbd = New System.Windows.Forms.FolderBrowserDialog()6 U! k5 e, p; ]2 F5 a+ x3 g
            fbd.Description = "Select directory to check"
  H# e, C  Y# X0 a) O9 X: K            fbd.ShowNewFolderButton = False4 F  |* b# @# I) O4 u8 W
            ' start browsing at Desktop folder, uncomment for any other default directory
$ o& F6 l& U9 ]$ D            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR"). N  ]9 p2 `+ Y' W4 H+ e* P
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
) G9 c5 T4 B6 n            ' fbd.SelectedPath = "c:\aaa\bbb"
3 Z0 U2 F) i' q+ ~6 |9 _            result = fbd.ShowDialog()
- e% J1 C/ o% c. U7 v2 H            foldername = fbd.SelectedPath- f9 u! ~( v0 Y. k0 U
            fbd.Dispose()- ?- g4 p2 G! i: y, m  X
            Return result) c5 S+ Q9 ^' s  g' J" X- ^) @

7 i( X. C5 x5 \' O2 a( s; x. E        End Function
8 T8 ~1 j. L! ]+ u" J( [+ F$ d' g9 P- b0 n6 {, z1 b7 P
        Public Function GetUnloadOption(ByVal dummy As String) As Integer
) H$ n& `3 g* l; X3 l            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination4 y9 c' s8 a0 U) x
        End Function
7 j: \. U9 p& s& @5 _
0 f  b8 q% l" p/ Z( K    End Class[/mw_shl_code]
% d. d# Q: D: f  V4 C1 H/ Q
上海点团信息科技有限公司,承接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 的 方法
" f. j4 n- o+ \* c1 j# v( M" H6 N0 j; U1 K# f  |* m' d: y* }

! x0 @  N+ Q3 t# |[mw_shl_code=c,true]int( p6 s  Q2 A! F4 X1 e9 n
        cnt = 0,8 J. F, Y2 r8 h+ ^( X: J. f
        resp;% }8 G0 j" ?) ]3 y
    tag_t0 ~- }5 b. |) A0 p
        part;
! c) v8 |. k, e: e    char
8 I6 O# w: M4 Y        dirspec[MAX_FSPEC_SIZE+1] = { "" },
4 p6 \, q5 e( [% L8 e$ ^3 e        fname[MAX_FSPEC_SIZE+1],5 T6 B- G1 r; ^8 _% K# W4 {" C% x
        part_name[MAX_FSPEC_SIZE+1];
: I6 @: B. q6 {9 Y7 L    UF_PART_load_status_t
9 z) d# K- ~" [- u6 ^6 e7 d        status;0 n0 ^- }0 X" e

6 ^5 X$ g/ y0 h+ \# @: Z' s    if (UF_CALL(UF_initialize())) return 1;
0 Y. _$ D9 e1 U2 _0 Q$ l
2 U. [1 m- u! Z7 D! v    while (printf("Enter directory path:\n") && gets(dirspec) &&8 D3 H" Q4 j7 S# A. r4 P
        strlen(dirspec))
/ i/ g0 s+ H1 C: J3 E9 @. a6 x) A+ I    {4 V7 f, _6 u, d" |: n+ q0 B  v
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
# u- X2 Q2 [+ Z( z        while ((resp = uc4518()) == 0)
% @2 ^( V7 v1 [% F( C4 f: t1 E( g        {
+ u+ i0 n, {- S/ T            UF_CALL(uc4600(fname));, C& L) L: E) S9 A5 b( j
            UF_CALL(uc4575(dirspec, 2, fname, part_name));* }0 b3 `: `3 Q, H8 L) O
* V0 a$ W8 n1 O; O1 n: }
            ECHO( "%d.  %s\n", ++cnt, part_name);2 X5 I* L% z# D) N% e) ~
1 r8 M+ \1 o# l
            UF_CALL(UF_PART_open(part_name, &part, &status));
) V9 q5 t3 P' ^$ Q5 z( U7 p            if (status.n_parts > 0) report_load_status(&status);& Y2 K2 [8 t9 c* V/ t$ C
            if (!status.failed)! S. r- J, D$ Z6 ]2 h/ R9 \/ v6 F
            {
1 {3 O: r; N) z7 R                do_it();/ h/ T# ?7 k6 |* Y$ b
                UF_PART_close_all();
# s' i' a4 |% D/ y* X& Y: m            }
# y! g& [, f2 \" f; O  M  Z0 v        }& q6 @9 C$ J3 P; w2 Z
4 \$ g7 G4 ]; e- k9 Z+ ~4 }
        UF_CALL(uc4548());9 r6 @; C7 }3 ~* @$ c0 `8 F
, \: K) P+ T% r2 o0 {
        ECHO("\nProcessed %d parts.\n", cnt);
- o) H. W% _' A! N& k    }[/mw_shl_code]
" G% K! S* d( v% @' G
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了