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

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

  [复制链接]

2019-4-17 08:00:53 2376 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 函数 + E3 b# L& e7 I5 ~( A/ {

% ^6 }- i6 [3 {( S! v- ?
0 \' c% ?8 J$ [6 Y[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory1 i: N  }# V5 _7 q. ^

( O0 m. H* z7 a        Public Shared Sub Main()
1 y1 |$ y, [6 d5 k$ z! i4 b5 U- i$ e/ c: j' z! w! k6 H
            Dim theSession As Session = Session.GetSession()+ \1 d7 @$ T& t9 ]2 e  A8 i# d
            Dim lw As ListingWindow = theSession.ListingWindow()
- D- b1 o! l6 s! j" \! S2 j& f( m( G( F; \/ K4 E
            Dim foldername As String = ""
5 l2 L6 X# o$ m9 [$ A2 y            lw.Open()
% t$ w0 h9 {. n5 R            If (select_directory(foldername) <> DialogResult.OK) Then, F2 X% F7 X& L: _
                lw.WriteLine("Input canceled...exit" & vbCrLf)
3 x& h8 l- `! a+ Q6 e$ p1 m: q1 p! {2 I                Return
  f- n% F0 H, k' x            End If
; x! v6 t( d2 E0 X6 k/ m3 X* h4 \0 g( q" y
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
; m- ?! V. Q  T9 R            Dim fsi As FileSystemInfo4 I2 C" b4 U% v3 v% K8 u. A3 F- B0 y

3 G0 g  j. N( z+ W            lw.Open()* @+ N$ G/ S8 i8 @, Z) r' j
            lw.WriteLine("Parts in directory: " _8 s& Y" n5 e+ s: R) M; E4 o; y; }
              & Path.GetFullPath(dir.ToString()) & vbCrLf)$ e$ J5 }% ]- \; F- t9 T
& {& Z1 r: K+ R
            For Each fsi In dir.GetFileSystemInfos()& t* W4 H& z; |; W: }# \/ [
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then" A# @8 }9 D4 \8 M0 }3 ~* A
                    Dim f As FileInfo = CType(fsi, FileInfo)
6 P/ @4 a+ T7 ^6 k3 T  q                    Dim size As Long = f.Length
' |( Z* e! ^7 e3 W                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
; _" t3 o. M3 x                End If
7 L0 i; `7 m5 W/ u) s- [            Next fsi
" {, ]$ e- I; t, M( h
# G8 O& C  O6 H8 F$ t: Z+ W3 e1 v        End Sub
7 m( A0 m( z3 n0 r: p) S' X8 i% X- l
4 @1 W3 S0 s5 b6 Q3 ~" f        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
8 T6 T/ ?: E% {* N& \; }# f+ F- @- H5 n
            Dim fbd As FolderBrowserDialog
1 c( D6 P/ S% \% w3 K2 j6 K            Dim result As System.Windows.Forms.DialogResult- |" d, Z# w/ i5 R
" y( a* [* I" _- n& s7 I7 h5 K; ?- p# A
            fbd = New System.Windows.Forms.FolderBrowserDialog()
2 U! x4 n) }0 G# E1 P, [            fbd.Description = "Select directory to check"$ g0 @' y5 q" c- y/ p! N
            fbd.ShowNewFolderButton = False& d; n6 \% S* a! Q6 |! P: V2 j
            ' start browsing at Desktop folder, uncomment for any other default directory
, `) L3 b3 Q# j  s* t& p$ ]            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
9 J, ?- |  T! G6 N' J( @- x            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
% F1 h( T( g* l2 u! X- R! y, x2 G9 a3 f            ' fbd.SelectedPath = "c:\aaa\bbb"$ ?5 Z: G; J, w7 F" h* h
            result = fbd.ShowDialog()4 B$ M: b: W. f6 s( ?
            foldername = fbd.SelectedPath$ ?/ _3 p0 G4 k1 _  ^
            fbd.Dispose()  U( h. W7 Z- l' O3 N
            Return result
, F) e% M1 ]$ N  D
5 w9 j$ X. L' B+ j: C. ~/ ~7 E9 f        End Function' i& W1 N* C6 Y: y8 S7 |# O
0 F% M8 j4 Q' p6 \( }2 R8 H
        Public Function GetUnloadOption(ByVal dummy As String) As Integer* o. ~) @% G8 R# M% ~. `) K% Y  [
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination; H  ^: Z: I0 ^# H& m! k
        End Function
# w4 V0 M3 r+ Y/ @" b  C" J# q- t1 i- W& U3 W) R
    End Class[/mw_shl_code]$ o" I; |1 b# s3 e1 O9 E
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2019-4-17 08:00:53

admin 板凳

2019-4-17 08:00:53

ufun 的 方法 . w. [7 W1 P: U# i9 K

+ F6 v5 |  U) P* t4 s  R6 u
# U5 I5 h' c' i  c% @5 g9 H[mw_shl_code=c,true]int
7 a0 M0 l/ p2 b6 |) D3 X& x        cnt = 0,8 F. ]! e2 [6 s* A: |
        resp;1 v8 C5 ~# S' s
    tag_t
, c! t' Q& Q! {3 a        part;
$ f4 @) \/ L; S9 K+ N    char. ?+ m# M4 w# Y  K
        dirspec[MAX_FSPEC_SIZE+1] = { "" },
' M/ n9 s! _- S. \6 I! K        fname[MAX_FSPEC_SIZE+1],
: Z, d" ~2 x9 s        part_name[MAX_FSPEC_SIZE+1];) |. V% p1 p* s1 k% T
    UF_PART_load_status_t/ g: ?0 q4 E$ _: ]2 g- ?
        status;
" K+ z& N$ x4 @# t- C# R' d5 t) t7 B( q: A( \
    if (UF_CALL(UF_initialize())) return 1;
% G) B$ ^, d) |9 F
# _  R8 W; M, ~/ X  a    while (printf("Enter directory path:\n") && gets(dirspec) &&
4 a- T8 F- \& Q8 N3 ^        strlen(dirspec))
* Z' n( M" o" I# q4 m/ z    {" Z' e3 _( b. D% n6 h6 s$ I, f
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
$ h$ w5 H4 k9 W  X2 ?' g$ T# N! _        while ((resp = uc4518()) == 0), N$ z  b) D: y+ I( M
        {0 l' f% X4 d8 B3 M5 Q1 L, A4 E
            UF_CALL(uc4600(fname));* V1 k9 _, r) {! ~3 @  v
            UF_CALL(uc4575(dirspec, 2, fname, part_name));
5 v) N0 }9 m: N$ y- f9 @' E' w
4 ^5 o% |9 _' ^# l8 t- c            ECHO( "%d.  %s\n", ++cnt, part_name);
' v* i, O/ i6 Y6 L, [. f" C7 a% d, W# O/ d9 p2 k
            UF_CALL(UF_PART_open(part_name, &part, &status));
( o% k; m( W2 I  e; Y0 ]            if (status.n_parts > 0) report_load_status(&status);# J, a0 C( r# k3 ]+ ^
            if (!status.failed)  z. R( ~2 t% {% ], h- t3 i
            {
/ E, f9 B/ g) t* g) [) C  L4 g) o                do_it();
- M& D' ~7 B) d$ i                UF_PART_close_all();5 Z. v! P" V2 ]9 [
            }, A  l0 T9 `& Y: l
        }
: g0 K( r) m( E* [- p) T3 b3 B8 B4 N4 z) h" X
        UF_CALL(uc4548());6 G7 m( \% z7 G# y& ?

& F1 w2 X6 k3 Y  y  J! g        ECHO("\nProcessed %d parts.\n", cnt);
  G/ w2 g+ n% P3 z; {& U9 N    }[/mw_shl_code]  x6 `; c" y$ X* H- R1 o0 |! _
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了