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

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

  [复制链接]

2019-4-17 08:00:53 2565 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 函数   d/ s1 ~. \4 L
. U- O- A$ G/ m" s5 {' P
# ^' {9 w( f6 S2 @) ^
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
$ B+ |' A5 ~; P' P( G  k" m. x  J2 C* T
        Public Shared Sub Main(); K" d3 O  J. b  r2 p

" Q, p# ]0 W4 b6 o            Dim theSession As Session = Session.GetSession()1 a* w1 y& Z) l. I3 k8 i' b
            Dim lw As ListingWindow = theSession.ListingWindow()5 G  }3 C1 M! s6 ?4 g

: `& T; r( P4 h! h! ^7 {            Dim foldername As String = ""
. K1 u4 X+ A- z& N; Z/ X  `            lw.Open()  A( J# s& ~" A2 B! s
            If (select_directory(foldername) <> DialogResult.OK) Then3 G/ u; r* {5 S1 {( u! ^
                lw.WriteLine("Input canceled...exit" & vbCrLf)
: F3 R4 e1 ]" M' T                Return
: j) z% g. [& H, t, e1 Z            End If
1 ]2 I  \1 g. f( X" n5 s
; Q: j4 g  J1 ~! W* Y: c( S            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
' f- V! r' W& |8 Y8 q            Dim fsi As FileSystemInfo
* N5 Q$ m$ A( Z* u& c4 N6 X+ [$ }' _/ |0 i! S3 j
            lw.Open()* u( _+ M- K/ Y* R. _
            lw.WriteLine("Parts in directory: " _: f; _* x; B) {) G
              & Path.GetFullPath(dir.ToString()) & vbCrLf)4 q6 n# e8 y9 j! @
- c3 M. i3 j9 N
            For Each fsi In dir.GetFileSystemInfos()8 b: T' Y) y. o5 h; z/ O" k
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
9 F# i3 Q2 `& M+ g                    Dim f As FileInfo = CType(fsi, FileInfo)7 Q4 Y* c" Y' ^+ k
                    Dim size As Long = f.Length
) A. Z7 C0 X$ ~. Y; S                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)& a% Q- d4 G+ @0 ~, `* o  B
                End If, c9 a3 B2 W' w  O5 O
            Next fsi
+ H. W& W. r% @8 G2 ?3 M' e5 ^: |2 n3 \0 C1 t
        End Sub9 i/ o3 J% o7 W

$ g& m4 g) ~3 k+ U        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult- \$ `6 {4 c* X9 E

4 P( q: o. y, \7 n. a1 E3 v( w            Dim fbd As FolderBrowserDialog; ?: M1 l% G2 U7 }
            Dim result As System.Windows.Forms.DialogResult6 o. s9 Q! _/ L4 B9 c

! h5 {4 h9 r1 |- u  p            fbd = New System.Windows.Forms.FolderBrowserDialog()
4 x: p; J, ~$ j            fbd.Description = "Select directory to check"
9 F! H, D1 w6 m. r            fbd.ShowNewFolderButton = False
! {# D+ I5 r3 n- H7 }            ' start browsing at Desktop folder, uncomment for any other default directory
$ v) k3 P8 e! D. W            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
3 i' h$ J6 ?) m3 c! b  \            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"+ K; g; |9 w# a- u
            ' fbd.SelectedPath = "c:\aaa\bbb"
. y& c) k5 `  F+ d1 m- G+ c            result = fbd.ShowDialog()1 a% S; I  @' p9 X+ L* N
            foldername = fbd.SelectedPath- w+ v0 I. k( @
            fbd.Dispose()
6 a' q, t& R! _& g            Return result
( f: V; W2 _5 l& U& m' n9 r; o9 e; R9 I! e: |6 A. n/ ^& e
        End Function
* n  \# _  T  E: I& |' R  [; x. `* Y% T/ Z
        Public Function GetUnloadOption(ByVal dummy As String) As Integer
! N/ Y# M4 d' K8 v2 K+ z/ B            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination9 q; P+ H& \$ q$ \
        End Function; T  A2 a3 A8 q! |2 z7 d+ ?0 k' J
4 F. I- U7 W0 l% q& F4 R  R& x
    End Class[/mw_shl_code]% o7 f* U# `# s3 F
上海点团信息科技有限公司,承接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 的 方法 - ~4 b( v% W& q$ @! E* F+ T" ~: @

" S& n- D+ Q; P* i" [1 o6 X: X# E3 V
[mw_shl_code=c,true]int: I. \7 ?9 p3 A  T- B  o
        cnt = 0,6 I6 `6 V6 @! a$ E3 r3 j
        resp;
6 Y2 K( L  U7 `( N4 _  y# j, P    tag_t3 @8 y* |& _: ]( t
        part;
  o- ~3 o" J; L7 s- B    char' s& y7 ^5 ^+ u  x0 E# b
        dirspec[MAX_FSPEC_SIZE+1] = { "" },
% v  B& F6 j) _        fname[MAX_FSPEC_SIZE+1],
6 q  ~' \; _4 G7 n2 M2 ]: J( X        part_name[MAX_FSPEC_SIZE+1];
9 D! h" G; d; N& k    UF_PART_load_status_t0 ?8 ~; d2 B  d2 G! A/ c
        status;- T; |+ O: G( a; s* f+ |$ I1 n5 ~

1 o0 U" W& f  E1 y    if (UF_CALL(UF_initialize())) return 1;
2 Q! ?4 y' y5 U( S" F. |* x1 |) B2 d: f2 V- e
    while (printf("Enter directory path:\n") && gets(dirspec) &&8 _' X; y& a6 z# S; {  D! h/ r0 m
        strlen(dirspec))
0 B, q' }( g6 `# a- ^- C    {* f1 n# f# M8 h/ V: o) j: A, I
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
: r8 `5 f0 C# U4 h. f        while ((resp = uc4518()) == 0)
- G- |5 q0 z0 s$ x2 A4 g        {
" v5 m+ g' j7 V6 G' G& a/ A            UF_CALL(uc4600(fname));
! p1 q! |. n% Q& N" h            UF_CALL(uc4575(dirspec, 2, fname, part_name));1 N0 ^$ I. T% s( [" B5 m0 W9 m4 I9 w
9 o' [4 w3 U" B5 o! ?
            ECHO( "%d.  %s\n", ++cnt, part_name);! x5 J# j" @2 o* \: w8 \
2 Y. {$ y) c' Y' T6 r9 v
            UF_CALL(UF_PART_open(part_name, &part, &status));. z% G1 ^- ^. D5 Z
            if (status.n_parts > 0) report_load_status(&status);* C( w& S4 I! l  K% t  b
            if (!status.failed)
5 S& {9 x6 G$ K2 X6 {' t: {  W            {0 H' a- T! `( u
                do_it();
6 A0 `) B9 n( t7 z" G$ j                UF_PART_close_all();- J2 O: z8 v3 ]" M! S+ i
            }' f1 c3 S+ U7 _; a" n
        }
" i& ~# D. x8 T, J
* {6 ?+ H7 x0 D3 t) F' q0 H        UF_CALL(uc4548());
8 [8 p; b( w2 C* X$ |3 m3 t: C9 @( y# D% y# i1 L
        ECHO("\nProcessed %d parts.\n", cnt);5 b; P2 l9 L' P5 M+ G
    }[/mw_shl_code]' L; j/ b# {* K1 s3 b7 c. K8 Z3 k
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了