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

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

  [复制链接]

2019-4-17 08:00:53 2498 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 函数 $ X1 L$ W- X( h5 y+ Z- I  T
8 _7 y, g, P; {) P- U
2 G  g8 V1 r6 B+ L  c$ U
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
/ D! M9 H) k: X& J# U% |% ?5 S/ d; c  F3 U2 e# b& V" x
        Public Shared Sub Main()
) c. r! n9 Z+ g; T  h, Z" e1 z" q; j/ Z8 v$ j: K
            Dim theSession As Session = Session.GetSession()' y: l0 K7 {% i- M+ g( @/ r
            Dim lw As ListingWindow = theSession.ListingWindow()
1 Y2 J7 _! p& i  R) D1 S. x1 Y
1 I2 m" d; l9 c8 y3 N            Dim foldername As String = ""% q5 K8 H: T& L0 {' V' t
            lw.Open()
3 ^2 L+ |! N7 e, u4 f6 `            If (select_directory(foldername) <> DialogResult.OK) Then
, e- n' i( U2 F$ C* \% J9 Q$ J                lw.WriteLine("Input canceled...exit" & vbCrLf)
6 H. X! i& i! U- E6 `. W                Return. X3 l! a5 |+ @- r7 q
            End If
# g4 }7 c" u3 J: [- N* |- M& X# z. }3 l( T& Y5 w: S7 k% t
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
6 F" q0 X( v. J  R. ^6 `) }            Dim fsi As FileSystemInfo0 Q) u5 J! p$ Z- G/ O

! \% t: u6 R+ l+ n2 ?            lw.Open()$ W- f9 k5 S; u, M' E7 b- O
            lw.WriteLine("Parts in directory: " _
' T# Q. H4 w: V, N" m% k6 K' A' a- ?              & Path.GetFullPath(dir.ToString()) & vbCrLf)
4 _5 I) _& G  m' s  E* ]' V
4 y2 K& N3 A& R2 M$ m9 Y$ [            For Each fsi In dir.GetFileSystemInfos()
/ f% j6 g1 D9 S: v9 ~                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then: I& I  @6 O) n# k# O6 [
                    Dim f As FileInfo = CType(fsi, FileInfo)! F0 v2 u! D3 e' ]! D- B
                    Dim size As Long = f.Length4 h  }! m4 W8 z3 Y+ w$ n
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf). l1 v& P8 Y" j
                End If
% B6 B' Q2 M6 ]% s' \  T# s            Next fsi
4 e" C, i, r' u2 ^! r" h
$ K, u: {! D6 s' r        End Sub
$ q8 @# t( n% m2 B: U7 C
# f. g( r, q* h2 N2 w0 l, E        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult) ^) p* k+ E* O
) C* d9 _7 @) n: w& k1 v
            Dim fbd As FolderBrowserDialog+ i! G' d* c; `
            Dim result As System.Windows.Forms.DialogResult6 _& V8 }7 ^) l) u! Q$ W5 A1 D4 y7 u

9 k) W7 {( P8 z# P            fbd = New System.Windows.Forms.FolderBrowserDialog()
3 Q2 W/ v, ~5 Y& g; g% r4 W- _% j            fbd.Description = "Select directory to check"
7 A3 R4 p1 R; m$ Q8 b# Y            fbd.ShowNewFolderButton = False
! }# i3 Y3 i+ Z0 [! o            ' start browsing at Desktop folder, uncomment for any other default directory$ q2 t* j4 r6 v* u4 @
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")% T% X) n' e8 o" |" B
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
7 r9 ]- v" h6 b6 o  n' ~            ' fbd.SelectedPath = "c:\aaa\bbb"% @/ d8 }% p/ y6 e2 f) z) b
            result = fbd.ShowDialog()
  ~( [# Z; F  V            foldername = fbd.SelectedPath
5 A- c( v; x$ G- b            fbd.Dispose()9 p2 N/ ^/ w  n
            Return result
) ^2 \. i5 B+ E4 d( Q! K& ~0 N) A  l9 X/ R! [
        End Function
8 C/ ^# p6 A6 E, `- t5 R9 N1 ]' z. x4 ?. I7 Q% d( e8 r* p
        Public Function GetUnloadOption(ByVal dummy As String) As Integer  m! B& p. O( D) [  I
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination& N& f) e4 u* B: O$ v& Z
        End Function
( i( y. G) h. ^$ |+ S  Z* C
+ b4 g0 s& ~6 ~* z& B- {2 T    End Class[/mw_shl_code]
2 O3 X: a* o! A  @" L- y
上海点团信息科技有限公司,承接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 的 方法
: V7 _) Z. x  x/ H' R8 W3 D1 |2 ]& A! B  O' \% u
" e& ?0 ~% m* l! I" l
[mw_shl_code=c,true]int
, F) z/ e% Q1 _# q        cnt = 0,5 }  y+ u7 a7 v( t7 ?$ v7 E$ A5 D
        resp;
, i2 |0 k2 j$ L1 I- l  a    tag_t1 H2 E5 N( J/ x: l' f/ f$ Q
        part;, ]: q3 m* l) W$ `4 g
    char4 ^% G. D9 S, d' R
        dirspec[MAX_FSPEC_SIZE+1] = { "" },
+ q1 R& t. R( d- b8 b+ @0 J0 L- S        fname[MAX_FSPEC_SIZE+1],& y* t' d  T1 o1 ~4 D7 z0 ^
        part_name[MAX_FSPEC_SIZE+1];
5 P/ r8 p# {: x    UF_PART_load_status_t
% \0 A! t' Q# w# u        status;3 n" s6 A* x( P; G4 h( g9 S
& y8 h* Q, I, C6 v. {
    if (UF_CALL(UF_initialize())) return 1;+ d: W1 ?3 b* t3 F9 Z4 r
0 }' ^2 i: ]8 L  }4 c% Q
    while (printf("Enter directory path:\n") && gets(dirspec) &&" w1 q4 I' J9 i: }
        strlen(dirspec))5 c9 ?( A' a' G1 y9 t( b7 {9 T
    {
  e( \# ?+ F& B: f: s; V" K        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
. n4 j  ]0 i0 O, x4 b+ i6 g        while ((resp = uc4518()) == 0)
3 p- ^& n6 |- w" w+ \' ?; h        {
6 C; n  [6 D0 ?, d) v7 ~6 \4 j            UF_CALL(uc4600(fname));4 T0 @5 T/ N1 `, ^! ~& [
            UF_CALL(uc4575(dirspec, 2, fname, part_name));7 z! O* [( `9 E( s  k

1 A$ {' b7 B5 v1 P" S7 s            ECHO( "%d.  %s\n", ++cnt, part_name);' y7 u" \, @  q" ], G

8 i* @1 ]; D1 {2 O            UF_CALL(UF_PART_open(part_name, &part, &status));* u5 b3 H4 R  Q7 \7 L1 S
            if (status.n_parts > 0) report_load_status(&status);6 i1 M% s' `5 N; n' y+ A) Z& \: K
            if (!status.failed)  N6 R  O9 A1 o$ i- p2 o4 y
            {
, p; S, B* ~( Z: S+ J" T                do_it();
7 r4 B2 B2 g0 R9 L3 c                UF_PART_close_all();: d( _4 m- _3 ~+ k2 R: ]- O
            }$ v4 h: g  ^0 ^4 ^3 P2 n0 |
        }. M8 p, D( ]. r  l

6 X- s6 O% `6 T) N5 S8 m        UF_CALL(uc4548());
3 G  J9 w5 ?) _0 y2 b9 a# C$ X: c
5 p3 T. H" P1 {* L        ECHO("\nProcessed %d parts.\n", cnt);# r3 r  f" S; P
    }[/mw_shl_code]& g. r7 b8 m; z4 j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了