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

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

  [复制链接]

2019-4-17 08:00:53 2493 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 函数
. T4 W0 G( y" d6 T$ K2 [! R% W! C( L! I- ~: v( K
/ C5 M: c0 O& t, ~+ U; m
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory) t; Z9 I$ C7 f2 r

+ f; {+ ~' F! D        Public Shared Sub Main()
" h, {! q- Q; P) U% {- ?: K# ~' O5 B! f+ f1 J3 F8 I
            Dim theSession As Session = Session.GetSession()
) B! R$ B5 h) q& C$ ?. W            Dim lw As ListingWindow = theSession.ListingWindow(); Q% i3 j8 p1 g: |4 V/ q- ?

' H: b) ]: }# n2 x2 }7 C. @+ n" Z            Dim foldername As String = ""
+ }( m2 r; z3 O& \% ?% o            lw.Open()# C1 r( |2 x/ C' p" j- k
            If (select_directory(foldername) <> DialogResult.OK) Then+ w0 e! q( P/ [+ Q1 N. P
                lw.WriteLine("Input canceled...exit" & vbCrLf)
6 F) O/ L+ M% G1 c" e5 Y                Return
0 l) a: R6 V# y+ g& r            End If
# }4 t4 f% C# O6 a
% f; B6 B$ x  U            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)5 G9 j! K. A/ o  d
            Dim fsi As FileSystemInfo$ ?& n$ b( s3 z9 {9 E. X9 p  Q7 ^, r' k

9 ^3 ?, ?; Y. s0 `6 t            lw.Open()  T" l% T! `; _( M4 p  A6 q* u
            lw.WriteLine("Parts in directory: " _
+ ^  r1 Z0 f! z9 W! J+ W7 H              & Path.GetFullPath(dir.ToString()) & vbCrLf)+ f, w3 ^8 t/ Q, K6 t6 l
: J- r& U* @2 h0 f. |$ C1 y
            For Each fsi In dir.GetFileSystemInfos()- o/ c6 i6 \$ Z; p  c7 G  @
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then, B/ q' n$ F# |5 Z' i, E+ e% m& G
                    Dim f As FileInfo = CType(fsi, FileInfo)( v) Z6 A. M' B/ N: Z
                    Dim size As Long = f.Length
' P* v; m/ J* z! e. [                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)/ T4 W6 j" e  z3 b
                End If
9 E/ L8 O- A* J* a            Next fsi
* I$ E1 W5 i+ q6 B3 a+ c3 i2 ~) x8 s2 v) m7 \. x6 r9 ?3 n
        End Sub* O# K. V9 m! V' [6 V/ v9 O

; t4 F' L: q8 x- R% Q        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
3 O$ }" L6 ~/ F. C* i
% _5 m' A! D2 ~& P6 z            Dim fbd As FolderBrowserDialog
: K2 x9 K, ?8 S) V            Dim result As System.Windows.Forms.DialogResult
; D# R9 a1 u* P1 E* t! ]& N  L% \
9 y# `  y; \9 V) q2 E+ d$ G            fbd = New System.Windows.Forms.FolderBrowserDialog()3 m" O) _# `$ ^, g' P# }! y
            fbd.Description = "Select directory to check", L3 w4 B; [4 ]
            fbd.ShowNewFolderButton = False6 E: L! M& u- i
            ' start browsing at Desktop folder, uncomment for any other default directory2 W6 i) x% B3 P
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
$ c2 M' d' u. o2 ?5 s            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"; I' v) W) [( e6 b, K% d, O  q
            ' fbd.SelectedPath = "c:\aaa\bbb"
6 F, z& |. u2 \- N! q! i! o7 s            result = fbd.ShowDialog()
- h, K6 U6 v4 z, t            foldername = fbd.SelectedPath% F1 y# @/ t$ c
            fbd.Dispose()
% I- T6 _. J6 _7 z            Return result# n6 v3 f  H. T: p2 A0 F

, z4 a4 _  f1 C) b        End Function9 j/ w; Q5 s- U& |! Z; E# J

5 v& ~4 v0 d. C& Q5 p3 B        Public Function GetUnloadOption(ByVal dummy As String) As Integer) V, r; Y7 L  K9 s: o4 w
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
' C; P# L1 j9 i- E  _+ Y        End Function+ s' T% l/ X. u( X' D8 J5 i

  N1 p: N. c  b5 L; }# O    End Class[/mw_shl_code]& o* s0 p$ C9 K  x
上海点团信息科技有限公司,承接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 的 方法
' f" n4 `6 @: d3 B& j9 Y  L3 i( n6 |* ^, r5 n+ A2 y7 N, y

8 d0 q$ ]' \2 A[mw_shl_code=c,true]int
+ w4 \. P1 s2 d! [, c, |, H        cnt = 0,( K: T- M! S4 p
        resp;
% B0 t) }8 l2 ^' A% ~) w; l9 l! P    tag_t& T/ l8 D4 R4 e0 P0 m
        part;
! U3 V/ G( ~) `    char
* V0 |2 A. j1 O  l        dirspec[MAX_FSPEC_SIZE+1] = { "" },3 Z. x- Y" Z" F: b: r$ c5 b& ]
        fname[MAX_FSPEC_SIZE+1],
3 G  S8 n4 Y, o4 s: j        part_name[MAX_FSPEC_SIZE+1];, s6 [2 O2 k8 p
    UF_PART_load_status_t2 C) X4 l6 ^' m) L/ O( u% g
        status;- a& q7 d/ A( @, p

  L; Z0 t+ T+ X4 y7 N' a2 t    if (UF_CALL(UF_initialize())) return 1;
5 Q: h' J7 Y/ q$ j8 U- \) Q8 d# K/ D5 d/ I4 h
    while (printf("Enter directory path:\n") && gets(dirspec) &&# h' L& f- t1 W  K3 h3 k
        strlen(dirspec))7 ~1 D" q4 Q+ X. m$ Y& }) p% c4 m# ]
    {  T% ]5 X: L4 a/ C2 K: Q$ x, Y
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");& @5 p9 R. I3 q' C+ }
        while ((resp = uc4518()) == 0)! U% H2 f0 h# C9 Y
        {/ Y' Z" I- p( j& v$ ^# y
            UF_CALL(uc4600(fname));
) j5 @, T# v( R+ n8 f; Q9 c            UF_CALL(uc4575(dirspec, 2, fname, part_name));
" f$ r  q8 j/ v1 d3 I1 [! `
2 g' L  S9 s& K            ECHO( "%d.  %s\n", ++cnt, part_name);
7 n; u1 M3 F4 O, Q- ^0 b1 G0 M- V: [: O6 m2 D
            UF_CALL(UF_PART_open(part_name, &part, &status));
( P5 y" U8 a! H7 `' N' u; J1 Z            if (status.n_parts > 0) report_load_status(&status);
& M8 Y' {% R- L/ x# K            if (!status.failed)
/ p3 V% C+ w5 J% ?1 d9 N$ @            {
0 g" E& @' S" P+ N- n                do_it();" Y6 Y/ Q$ v) ~; v- k( i# {
                UF_PART_close_all();
+ A: f' [0 ?5 U. j  a* L            }
! l7 U6 H' g; M4 y8 g$ ?; U+ p' m        }
/ c  k3 l' L# m
! `7 ^( }' r& G) I& d2 H        UF_CALL(uc4548());7 o9 `. \) p5 P$ h
( t: j2 v- u; a) L
        ECHO("\nProcessed %d parts.\n", cnt);
+ C! W( p1 n3 i+ p    }[/mw_shl_code]
9 b* C6 N3 U- f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了