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

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

  [复制链接]

2019-4-17 08:00:53 2564 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 函数
0 K) p1 B8 Y  d* C2 o6 M' v! ]2 N+ a
$ r3 i. x0 m% F, t: n$ c5 y
- d% b; |* c! p1 W' \5 k% _: l[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
1 V7 e8 g) y# j- E
2 p0 @/ y) @, G8 @        Public Shared Sub Main()
. g3 @* _& e/ f9 _! B! |6 H1 k0 v! _; ~& M" }
            Dim theSession As Session = Session.GetSession()
* j- {& P6 U9 g  ?5 P            Dim lw As ListingWindow = theSession.ListingWindow(), ?2 m3 \: C$ o, }" E/ u5 {; U
+ i( f# E. S7 P6 K7 F, `. Z1 H- A
            Dim foldername As String = ""
( x3 I. }' B) h            lw.Open()0 `" l3 T& i- ?6 ^
            If (select_directory(foldername) <> DialogResult.OK) Then
/ U8 F( {- |8 i% [9 {% c) x$ }& ]                lw.WriteLine("Input canceled...exit" & vbCrLf)
) h5 J' X5 `) \7 C& V                Return
) t" H; ^; u& S7 v' y% ~" g) q. }            End If
- i1 b& G/ g+ i( E
, H3 g+ V0 Q' \: L& I1 z+ m            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
' a2 a( @& d1 |            Dim fsi As FileSystemInfo! W& ~0 W0 @8 U9 @6 O

/ k# N- h" o' k% A2 z            lw.Open()% T! G- U7 p$ r" ^4 Q: ~
            lw.WriteLine("Parts in directory: " _1 v) E2 d) ?  u* z. `; {- G' Y
              & Path.GetFullPath(dir.ToString()) & vbCrLf)$ R9 h7 T' v" v! A2 i

4 \9 b3 Q8 ~( E; w+ y; B5 Z3 }) j            For Each fsi In dir.GetFileSystemInfos()& ~6 n$ {3 v. t, R7 k
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
; Y. J! p% ~' l8 b                    Dim f As FileInfo = CType(fsi, FileInfo)# E( H8 r0 u; Z& L
                    Dim size As Long = f.Length* ?& I8 p" K) m7 _0 D: }$ a! G8 x
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)8 e" R: r) d6 j1 M' M
                End If
' _# j$ f! i0 m  x            Next fsi
  p1 n. N2 k$ S6 A4 N9 m2 L- }
        End Sub& Y* o( d; K# P# G

5 s' I, q" g: w5 |8 `: L9 Q5 S        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult  \0 G7 G+ x9 X, v8 Q
9 h0 D8 S% L( ~: j+ w3 ~3 N
            Dim fbd As FolderBrowserDialog
  H& y6 K9 {' I9 N6 G            Dim result As System.Windows.Forms.DialogResult: a# W+ w$ D6 n# H; |

' V9 P( `/ n* @$ d3 `- x            fbd = New System.Windows.Forms.FolderBrowserDialog(), K* h6 p2 L2 n3 @5 O( z
            fbd.Description = "Select directory to check"
5 W$ l0 f# X, J            fbd.ShowNewFolderButton = False
7 z) y7 _# S( x6 v" ~, O1 E  R            ' start browsing at Desktop folder, uncomment for any other default directory
* b  t+ M; h' \+ f9 r            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
; i+ G5 V, Z, R- r; k            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
$ m1 J- R" X  d. z' r            ' fbd.SelectedPath = "c:\aaa\bbb"
# e5 G; `( S- c7 O3 o) b            result = fbd.ShowDialog()
+ I9 K( R7 F, V# l% A- P            foldername = fbd.SelectedPath
* u8 B( r% y& y5 e6 X# @8 x            fbd.Dispose()
! T8 c. U$ @1 l# Y2 v. _            Return result
0 `5 R4 k1 x) @9 ]
+ q: P- Q8 j! J( K        End Function* X. Y7 d4 B2 a# ~0 p

  _2 j8 s, F& o/ f. o8 A        Public Function GetUnloadOption(ByVal dummy As String) As Integer0 A- Y  }' B* ]) @
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
4 _" Y" a1 d8 Y5 R, i# [        End Function
5 F3 A7 U8 Q5 o" }- f# [3 H5 y, L1 `: y7 O" K3 L
    End Class[/mw_shl_code], f6 H) ^& v. R
上海点团信息科技有限公司,承接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 的 方法
- c5 z1 b# g0 p5 G* ]# u4 ^* i6 {
8 d" ^' F% F8 a7 ~! R/ \/ X3 D( U5 o- F5 U# v
[mw_shl_code=c,true]int7 d9 m2 q( p4 E2 X# A  ~. s
        cnt = 0,+ I  l9 \" b) m- a
        resp;7 i% J8 T) L- J0 }
    tag_t
2 ?7 a! w2 r! O: D9 x0 `. p        part;' l6 `3 C2 @( X0 \" a
    char# c& [: \7 n* O" _( J- K! a
        dirspec[MAX_FSPEC_SIZE+1] = { "" },, b9 l! h" F3 n6 K0 |
        fname[MAX_FSPEC_SIZE+1],8 _! {* m, X5 U* R/ a, `  t2 r; D* _
        part_name[MAX_FSPEC_SIZE+1];- f) \1 q3 y8 v' ~' U
    UF_PART_load_status_t1 ~% G  Z; U# x  c4 c( {
        status;
( }, t6 s9 r  ^8 G$ E* j# w' A. j
    if (UF_CALL(UF_initialize())) return 1;
2 I( A3 r1 L" v8 h* q  W3 t  f% t. l; Y! _5 c" D
    while (printf("Enter directory path:\n") && gets(dirspec) &&) f1 r- m5 v) @2 r' i
        strlen(dirspec))  o3 G5 ^3 o1 ]* i# {0 q& S
    {, ]0 @+ D, r1 s
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");) T# [2 o/ i$ k, U6 S; S; O/ a
        while ((resp = uc4518()) == 0)+ m8 i1 P* F0 e' l3 z
        {
$ a  [3 \5 F6 h4 J5 B- M) {+ k& B            UF_CALL(uc4600(fname));) b- ]- `! y: z2 O1 Q# q5 D* F
            UF_CALL(uc4575(dirspec, 2, fname, part_name));
& D$ I/ c3 w+ c/ D  ]5 u
3 o1 t. h6 n6 y! B6 g  c; ?            ECHO( "%d.  %s\n", ++cnt, part_name);
  X3 H" \" T; @: f; P" s  }  M  f
, S* O1 u5 o1 H% C8 P% B, }. }9 x$ P            UF_CALL(UF_PART_open(part_name, &part, &status));  N9 a, u" f' B1 e; n' O0 U; S
            if (status.n_parts > 0) report_load_status(&status);
6 }) O- k# ?  Z5 G+ G8 \& f# O8 I            if (!status.failed)
' s" t2 p/ {+ H            {; u9 y5 X$ {0 F/ i7 `* E
                do_it();
  J7 b  D- X  ]) s$ [$ @                UF_PART_close_all();  a) c5 k: W& P) h- o# Y) v
            }; Y) ~" q: b& a. g4 B, P
        }) {; o& z& I% o( I8 p3 |

% d* Z* V+ [- K4 N        UF_CALL(uc4548());
  v' i" }& V. z/ r  q5 X6 @0 O9 \  W3 \/ |
        ECHO("\nProcessed %d parts.\n", cnt);; T. c" o* Z! P! A, s6 l( e, C" y: z
    }[/mw_shl_code]# n- l! ~; A9 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了