PLM之家PLMHome-工业软件践行者

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

  [复制链接]

2019-4-17 08:00:53 2587 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 函数
# u0 ^8 f% n: ^7 g0 F1 c; g$ P1 e
, i6 z* q; V$ q: G( B
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory# c4 @  x% x3 f! D8 y5 l

+ Z4 R" k, K. b  X" k: j        Public Shared Sub Main()& z- D) B  ^6 u( d, T& [

& o3 F+ {8 G* X# k8 _) E* q' u            Dim theSession As Session = Session.GetSession()1 I) b# U9 x4 h* S
            Dim lw As ListingWindow = theSession.ListingWindow()
& w! o9 i& b# H5 Y8 T" @5 I+ k6 }/ t9 |- G) }6 c0 {% k
            Dim foldername As String = ""
, @- J+ f- z* E: I            lw.Open()
8 p/ Z# V' K4 h1 D8 C2 _            If (select_directory(foldername) <> DialogResult.OK) Then- I$ Q+ C" l5 [2 f" c8 d
                lw.WriteLine("Input canceled...exit" & vbCrLf)9 |, s7 k/ f7 R+ N( e' h
                Return7 i& V  m, V: {& K+ `7 e1 l" `" U
            End If5 Y- s. V2 I8 @* A/ U, O$ I

9 X& ~' o" g. j9 Q$ _& L# [            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)7 W7 q2 E9 E& L
            Dim fsi As FileSystemInfo
  o  C1 `; W1 ]) G  X3 o3 i- B2 ~% w1 _
            lw.Open()
  L1 N# F* J) v. \" ]% X            lw.WriteLine("Parts in directory: " _
5 h* C  O- q8 Y* e" _7 j1 ]  F              & Path.GetFullPath(dir.ToString()) & vbCrLf)* Y6 Z& v7 P3 ~! [6 x8 Q
" X4 b& d; b5 M. A! N6 d8 A& j4 Y8 N
            For Each fsi In dir.GetFileSystemInfos()
8 g  h1 s% c$ }) b. y                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then9 C8 N5 J8 _% s9 X$ L- c
                    Dim f As FileInfo = CType(fsi, FileInfo)2 k! h* O# A& ~, m: {) K
                    Dim size As Long = f.Length
* j5 P# y9 R! ~                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)! n) f& X( R0 v- j" b' k' w1 k
                End If
( U. ]" o0 F! S, N$ ]/ n            Next fsi
4 Y* n& J2 Q0 J8 j0 T
3 B. g- S; \# D# g2 W        End Sub
, M" i+ d0 P, I' r0 Y; T& H( |1 @4 L9 g( K8 f- e% b
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
5 `5 ^% l; l3 G
* x) }; H2 \6 B/ e            Dim fbd As FolderBrowserDialog3 P6 e! w, Y3 L
            Dim result As System.Windows.Forms.DialogResult
6 O9 l7 d+ A1 Z0 x0 X5 |9 q- O  o) o, R% M, s. n3 `
            fbd = New System.Windows.Forms.FolderBrowserDialog()
+ E" H5 g2 v# R) \' n0 `# w            fbd.Description = "Select directory to check"
; t3 _# X2 k: Z% l$ {1 F% p            fbd.ShowNewFolderButton = False5 [- _. J+ T3 a3 Q" Y
            ' start browsing at Desktop folder, uncomment for any other default directory1 y" D6 l4 K/ V; Z/ I
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR"), F4 p( f6 u7 z( I4 o. u% o
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
# A3 D( [2 h* W4 M            ' fbd.SelectedPath = "c:\aaa\bbb"
; V8 I7 v) x8 G7 c# |0 r, ~            result = fbd.ShowDialog(); \! m" N7 ]  h7 E- }! i
            foldername = fbd.SelectedPath
  }1 Q( r, J/ }            fbd.Dispose()
  g" N2 c7 T0 l; t* t            Return result6 @; P5 ^  n/ Y
% p1 S) x" c, [0 F
        End Function
/ {! ^/ {3 a% A4 m% x- e5 \9 ^- |) b, S
        Public Function GetUnloadOption(ByVal dummy As String) As Integer
, F9 W' S) g1 X            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
, H' Y  J  w  {# H+ g, V& L        End Function9 ~& U6 S) K$ q
8 k2 O6 t) v7 \2 _; ~4 w8 |
    End Class[/mw_shl_code]( L, L% N  n  {
上海点团信息科技有限公司,承接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 的 方法 / s: `& w& I6 L; d1 y& y8 R

5 ^( v' t6 M. h0 e+ D4 H
1 y; |  Q2 y$ P1 n2 L[mw_shl_code=c,true]int
% U1 t$ G8 {) G7 O        cnt = 0,
3 E# ?4 p  ?2 ?* f8 s3 S        resp;( i+ k1 L4 L5 q9 A0 [$ w& T3 m/ z
    tag_t
* L8 x* ^0 x- K4 Q. k" C2 C        part;
, `, `1 X% i3 {3 a& g! _    char
0 N; `; e) F5 D8 N- u0 T% J4 ^        dirspec[MAX_FSPEC_SIZE+1] = { "" },2 R' q. m" \% U# O! o0 f3 ~) ~
        fname[MAX_FSPEC_SIZE+1],) }& G. ]! f3 `  @4 D; y' x
        part_name[MAX_FSPEC_SIZE+1];
# y" t2 }! t' g: [- o    UF_PART_load_status_t# i' C2 T& i* F$ ~5 i
        status;
2 ?6 }$ s. _4 z& U: h/ }: H
* V; a7 K' |" x. I    if (UF_CALL(UF_initialize())) return 1;. V1 Y% u' R; G' R3 w; V

5 |7 ]. v- d, K9 a    while (printf("Enter directory path:\n") && gets(dirspec) &&: a- q% V, [: R, P
        strlen(dirspec))
  q5 `3 a% H6 E9 [9 E, s) V- \    {
6 G- w) y- u2 C) b6 R        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
; f0 G# H+ L- G  H        while ((resp = uc4518()) == 0)
4 q0 A* W% e) u% \, y9 r- o5 ], S        {/ I8 N7 u* v5 Y' w& I. _
            UF_CALL(uc4600(fname));5 ?, i, c3 U5 I( V; q* H9 l  M
            UF_CALL(uc4575(dirspec, 2, fname, part_name));- I+ w9 q$ `! L) {8 ?) z) @7 F" h

# W) D4 r' Q# `5 x            ECHO( "%d.  %s\n", ++cnt, part_name);
$ l& l( G  ^/ N$ u) N) o* J8 z7 V  g1 }# G
            UF_CALL(UF_PART_open(part_name, &part, &status));% d$ |% j* I/ Q' d" O: A5 `6 B& f
            if (status.n_parts > 0) report_load_status(&status);
5 g2 y. M/ [* x6 M, F2 W$ i            if (!status.failed)+ G6 x' F: v9 a2 u( W' {
            {" V& d# N* z5 f- O0 }
                do_it();
2 d: ], N5 t1 }5 ~" K+ l                UF_PART_close_all();
, U* d% ~+ J; g9 ?            }! B; Y! n: m. W( I- B) o
        }* u+ ]  z1 ?( M8 Z0 d. }0 q( K
- V$ [1 {* h$ O; s$ b7 {% X
        UF_CALL(uc4548());
! w  @$ n' y+ d8 A
7 o0 z* y; D# I$ w  S3 p        ECHO("\nProcessed %d parts.\n", cnt);* H3 m/ V0 O. ^# H5 K1 ]1 g
    }[/mw_shl_code]  _1 T/ I( `& k  j$ 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二次开发专题模块培训报名开始啦

    我知道了