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

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

  [复制链接]

2019-4-17 08:00:53 2537 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 函数 1 ^3 r# h0 Y) L+ v/ Y: \, R

" {3 A9 H6 A) W% r+ ~2 R
. [, S. d: F( b6 \[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
- G5 T  k" ~/ [; U# a" I' n8 P" l4 y% P' w0 k/ r/ g/ i; `
        Public Shared Sub Main()
, G  c3 x- [/ d5 X5 E5 o
4 I2 |6 \$ H1 [4 v( j- G  ~  _( t( R) D            Dim theSession As Session = Session.GetSession()
# ]) Q; I) D* m+ u% A1 N2 N            Dim lw As ListingWindow = theSession.ListingWindow()- }1 w6 x# g( k' C
+ l2 v; ]+ ?+ l; Y7 a
            Dim foldername As String = ""
1 V5 E: V! {) ~$ p: r/ `- z' w! J            lw.Open()
8 _! B+ R4 P# U/ f6 Q  o$ d1 ?            If (select_directory(foldername) <> DialogResult.OK) Then. U) o; B: n" r$ y- l
                lw.WriteLine("Input canceled...exit" & vbCrLf)
* t+ M$ r8 @7 o  _# W                Return2 d3 {6 P8 }7 j( Z( _
            End If/ z! }4 }: m' h+ Z' X7 j
1 m0 {/ }# P4 ^& w; g
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
( V8 y2 k; }2 Q  Z% {. V            Dim fsi As FileSystemInfo" m! U6 D9 O1 X6 R0 S( Y3 d

, ]% g5 v# T7 i, b4 n6 F            lw.Open()2 c& {& B1 t( j) }+ h: h
            lw.WriteLine("Parts in directory: " _
$ w6 I$ H" n3 V$ P! j              & Path.GetFullPath(dir.ToString()) & vbCrLf)0 B# P+ J3 u" V

' j. x  W  e$ I5 Q' Z& G+ t5 P            For Each fsi In dir.GetFileSystemInfos()
$ k4 ?8 @- b* F: g3 J                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
- b0 ?% R( }& ?% ~' W. _                    Dim f As FileInfo = CType(fsi, FileInfo)
6 L! c$ p$ P# r' R/ r9 p                    Dim size As Long = f.Length! Q' C) D" u' Z' c; O
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)% I. n) G- m$ [) a  K0 L
                End If
4 w9 b1 ^* ^( w6 ~            Next fsi
1 E6 Q3 p0 K, g2 O/ |/ z8 W: Y/ }( v$ t1 h% p: W4 q
        End Sub* c$ ]) n6 J- {

  B# y0 E5 d5 E% d        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
* q( N% F, e' F$ F% ?$ m
7 p  o% C. n$ o4 ?# Z7 O5 y            Dim fbd As FolderBrowserDialog
; ]% \4 j' o7 M; u            Dim result As System.Windows.Forms.DialogResult
/ m+ I( y1 W- X  n8 w2 x1 Q6 d6 J' S" m; ^
            fbd = New System.Windows.Forms.FolderBrowserDialog()
4 M# i. q; d7 {' v! B            fbd.Description = "Select directory to check"5 ~( B6 a/ Q4 b) ^, R( |! Q
            fbd.ShowNewFolderButton = False: O& V  @% F1 N: }$ P2 W1 N% N) g
            ' start browsing at Desktop folder, uncomment for any other default directory
9 Y$ E* k! Q. y+ I( Y! p, m            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
9 Q. f( R( B) d( y            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"% R. a% k! n, C6 k! e* Y* `
            ' fbd.SelectedPath = "c:\aaa\bbb"
: O7 U; L5 m5 [# U            result = fbd.ShowDialog()  s6 [7 `* m+ k) a
            foldername = fbd.SelectedPath8 F% g; k% w' \! H
            fbd.Dispose()
9 M, Z1 u. @' I& S' q  m% A            Return result
# U$ o( \. j/ s$ l3 N
' E$ f5 |. x$ Z. E4 _        End Function
% `0 K* [& M$ o' }5 c, e  _
7 Y5 w8 k0 S7 m1 ^# b7 g        Public Function GetUnloadOption(ByVal dummy As String) As Integer. I7 X, K* p& G& Q# E4 w
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
  h/ |3 @. }. u- [+ Q        End Function
+ z, B+ m0 E  _1 r1 O% \: w! |" H3 [1 Y; a4 n: ^
    End Class[/mw_shl_code]
- t: @' Y# Y% o. m! d  B/ c+ [- h
上海点团信息科技有限公司,承接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 的 方法 ; B! w6 u) g9 l$ ~: j& n

( ?  ^$ \$ `: V4 \# U6 \/ Q6 {/ r4 g. |3 E/ `; a2 [9 h& H( D
[mw_shl_code=c,true]int
: b% Z% L4 G. _- N2 u7 W        cnt = 0,
% ^4 Y8 T& x/ h; L4 Z' |. i0 U% s        resp;7 ?( X8 a# Y2 F  X2 q
    tag_t
1 i$ F$ g2 y2 X. k5 \& D        part;7 X' @# w7 U+ F# n/ @& c
    char0 m" z! A4 U/ L
        dirspec[MAX_FSPEC_SIZE+1] = { "" },' m5 @1 ^& J& \" q" [
        fname[MAX_FSPEC_SIZE+1],# r3 u/ |. E. X  c/ q
        part_name[MAX_FSPEC_SIZE+1];
/ r+ {! \% c' `- v4 A1 l' x    UF_PART_load_status_t
& `8 g) I& P8 ^" {) R, p$ u        status;7 H' p0 z) f! p5 _4 e$ n- U' s

7 |( C0 N0 m# |" I. A( \: i    if (UF_CALL(UF_initialize())) return 1;
8 \6 v7 B' m$ f- Z5 `) ^. S8 ?
* I( S; m: q0 {6 }    while (printf("Enter directory path:\n") && gets(dirspec) &&
# @! d! o4 q/ @8 U/ @) @6 B        strlen(dirspec))
: N. ]9 t1 F4 J2 N  A5 ?" `( {    {; }& A6 ]( P6 w
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");& ]# x; y0 X9 a* Z
        while ((resp = uc4518()) == 0)
9 I# H# o8 j0 i8 ^& U+ N        {0 K' x! A- a' U
            UF_CALL(uc4600(fname));
6 I4 e0 T- |8 B8 y% }7 ^            UF_CALL(uc4575(dirspec, 2, fname, part_name));
- \9 b: |5 @- M2 `: E5 J; H; Y" z
            ECHO( "%d.  %s\n", ++cnt, part_name);8 b8 ^. B9 f, u/ v& E& I
- T0 V6 S$ a+ r( w% W. j  [
            UF_CALL(UF_PART_open(part_name, &part, &status));  Z  J4 g* n- g9 B9 ]
            if (status.n_parts > 0) report_load_status(&status);) d  D3 k+ _8 L- S6 f
            if (!status.failed): C' F7 W& K3 [4 `
            {
3 b1 D1 _; _3 E: o/ `$ }3 k2 D                do_it();' j; S- W' i' [! H/ Z# Y; q
                UF_PART_close_all();
& z' F$ J$ h, h: A            }
( [! A% o- U1 N9 g5 X7 I- M, h9 I        }
# I4 i0 j- ?% P( t' c1 B, i8 o9 b( ^6 F9 x, }) z) Z  G
        UF_CALL(uc4548());1 t; q$ Q( v4 n: ^7 R; }! W; y
3 q- L0 d% e3 s' w0 p) i
        ECHO("\nProcessed %d parts.\n", cnt);' e2 k7 F$ W% u' k- B6 ?
    }[/mw_shl_code]
4 X% m1 M- T/ {" G* w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了