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

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

  [复制链接]

2019-4-17 08:00:53 2509 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 函数 9 t* h' l! @: s8 W& H: @2 v. _/ j
0 e- w" K% [8 G

1 y9 J6 j* N3 b) H; U[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory% m! T: R; R' [9 f2 k4 i( O3 ^
9 `6 i, v- o2 o
        Public Shared Sub Main()
+ ^" d4 k3 F6 [9 ^6 S/ K, |
2 n5 g* N6 X) i. S            Dim theSession As Session = Session.GetSession()/ S! Q. C/ F  O2 d# C! v! J
            Dim lw As ListingWindow = theSession.ListingWindow()' S& }; ?8 t7 ]
5 m, ~8 c7 q7 k2 p( C$ L* q
            Dim foldername As String = ""4 f) @0 B, a5 T- n
            lw.Open()  N* c$ B6 E, Q# `1 N+ ]1 U. Z* D; m
            If (select_directory(foldername) <> DialogResult.OK) Then
) W( [1 E1 ^2 y- y! z6 z+ n                lw.WriteLine("Input canceled...exit" & vbCrLf)4 c+ t( B* J  j4 d  j
                Return
; E- k  A8 I0 h% n6 g9 Q/ U            End If
! S( \. x( c+ V% V1 s
# x4 d  [5 z% ]( U+ A% ?            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
+ L; P+ e1 W" ]! M) r! [            Dim fsi As FileSystemInfo! T: V  _  t$ ]# G8 b

' Y5 d8 R7 F& @; b            lw.Open()
7 Z& @6 ]. {4 }$ R7 j            lw.WriteLine("Parts in directory: " _
. K/ z. D1 V$ ~, r) M# |% X              & Path.GetFullPath(dir.ToString()) & vbCrLf)
: a# h* ~' k* c. q6 `+ z
5 S) K, m7 T- b  L            For Each fsi In dir.GetFileSystemInfos()) d/ V% c% @- C6 r
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
6 O. b/ x8 N# n( v+ p                    Dim f As FileInfo = CType(fsi, FileInfo)7 _* B* E! t8 [) W  ~0 W
                    Dim size As Long = f.Length
; L/ G6 J3 W+ H0 I: p3 B                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)# e. ?- @: m8 O5 N
                End If
% I$ M7 ~- u* O1 W) l            Next fsi# \$ r% e( p: N9 W& q3 M: G
+ W4 N$ P5 K2 K
        End Sub" R  ]4 o# E0 l6 w; n# B

2 c3 O) M$ h( J- O7 X+ R        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult' }3 Y# L& t" B/ y1 i
& e6 Q" {; h: b5 X  A2 z
            Dim fbd As FolderBrowserDialog
/ T5 P' G, m0 |) H: S            Dim result As System.Windows.Forms.DialogResult
  L5 \9 h1 w, R8 m$ _; M: h+ \. Q) j/ K: w' w! r  p; r- o
            fbd = New System.Windows.Forms.FolderBrowserDialog()/ D1 v% m* W& s
            fbd.Description = "Select directory to check"
5 s; w, g1 w5 q9 j            fbd.ShowNewFolderButton = False
5 `  R6 V. r) m9 O# t" @5 g            ' start browsing at Desktop folder, uncomment for any other default directory: K$ I- k' L% _3 h+ s2 I2 V) j( I. P
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
. x0 a. z3 Q  j5 v            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"# \* h$ ]8 n+ f
            ' fbd.SelectedPath = "c:\aaa\bbb"
( W/ w9 U* q+ q- }            result = fbd.ShowDialog()
) [9 e4 L7 }. ?$ s  {+ T            foldername = fbd.SelectedPath8 _5 Q9 o: {# o; ~4 T9 F
            fbd.Dispose()
: n2 z; W( n7 \- z. F" s% a            Return result/ A. f+ S* ?' o$ O$ [

$ B8 T% [8 W+ u  e; y        End Function2 l5 g5 h9 o5 Y

: t) z2 k* S6 n7 o- |% ]$ c9 K        Public Function GetUnloadOption(ByVal dummy As String) As Integer
  O: s! J. F" y9 J8 y            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
2 g# w5 [$ R6 k2 y. g0 d: s        End Function
% Z  b, j. b/ M8 a" i+ N1 k+ g1 D( K( [; Y2 r) c0 z
    End Class[/mw_shl_code]
$ ]9 c0 O7 g7 B* y/ z
上海点团信息科技有限公司,承接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 的 方法 6 C: Z9 C) [9 |* u
1 `/ W7 z6 L7 r, C/ W& J
  S. X/ w2 v' P& l. a& g
[mw_shl_code=c,true]int
4 Z! c1 ]( a& C# `& r2 i) s+ ^        cnt = 0,7 N8 H; S' _5 G) _
        resp;
- v& y4 d! }# Y$ E3 n& l6 h    tag_t0 z! D+ ]  ]2 p6 `
        part;: E3 I" Y- X4 ]& T; j1 ?. s
    char
3 r1 H) r* T" D, S- r, }        dirspec[MAX_FSPEC_SIZE+1] = { "" },9 @) B: m1 I* l: b3 b/ y  N
        fname[MAX_FSPEC_SIZE+1],, J* l# f/ C9 U. [# k" p
        part_name[MAX_FSPEC_SIZE+1];
* W9 b! @- {- i: U# e    UF_PART_load_status_t8 R" C2 E0 r) o3 Z2 n8 E2 |
        status;
% I3 {" P" ?4 B4 i! D
& e1 f# _" |; R5 u. B    if (UF_CALL(UF_initialize())) return 1;9 N8 O3 E$ |' j+ {
- y7 z+ k" Q# F; p8 I/ h) O3 R  N
    while (printf("Enter directory path:\n") && gets(dirspec) &&& _) o5 D# X( L2 l- B
        strlen(dirspec))/ O1 D4 c& D1 O. E# r
    {
1 Z7 K+ f4 g& M/ |        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");  `& p4 v& ]; k3 I
        while ((resp = uc4518()) == 0)) |9 S4 D  Q% L, x. \! Z
        {2 \, u2 ?5 y- A' v
            UF_CALL(uc4600(fname));
6 t4 ?& ^# |7 C: E: ~            UF_CALL(uc4575(dirspec, 2, fname, part_name));  K- \& E! m2 c; F
1 ]3 d8 j' U# M2 y% N$ o2 ?9 b9 _
            ECHO( "%d.  %s\n", ++cnt, part_name);
, ~3 T( |1 l4 P  ~; {" H* `( \' J, x: P7 j0 N7 D$ ]
            UF_CALL(UF_PART_open(part_name, &part, &status));
/ s  R7 Z, M5 s! C            if (status.n_parts > 0) report_load_status(&status);
. T$ h8 H! j* r: }; ?& l            if (!status.failed)  l+ ^' `" B4 Z# s1 P7 r0 k
            {
* N/ v0 W6 y+ s5 {; i$ v: [                do_it();. W3 Y& b" r  H% B6 B4 t
                UF_PART_close_all();
% l8 l5 Y; L. f- A            }* P. A. E1 n; U% I/ t
        }
' ?% K8 ^! f# B9 L5 e8 F
" U2 \# m) d; N. J+ d9 y; K( r        UF_CALL(uc4548());
( {- R* r7 q( S5 S. S- E3 H0 E
) D' O7 }) ]) j) `        ECHO("\nProcessed %d parts.\n", cnt);
! |. p9 M7 g2 \1 M6 ^: h, [" O5 y    }[/mw_shl_code]; p: V& N1 t4 {9 G3 W  D
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了