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

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

  [复制链接]

2019-4-17 08:00:53 2514 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 函数 5 C/ p0 g; ^% b* [

9 ~5 I/ G7 {( ?" r) v. U" K; l5 P7 e& Q6 L
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory0 D3 D( S' _( {
; y# [/ r* w0 w2 ?. y  c8 W
        Public Shared Sub Main()/ {2 \+ v. C2 w* Z0 ]! [9 D

9 L/ n  A* k% `- P- J- h+ z$ g4 a            Dim theSession As Session = Session.GetSession()
( N! O8 n4 ?4 J2 N! ^/ X            Dim lw As ListingWindow = theSession.ListingWindow()& r9 v4 o# ]. m( M2 m/ P
3 u4 S( ]& s6 L
            Dim foldername As String = ""3 @) H4 n0 _3 Q1 M/ L' _3 V
            lw.Open()& u7 C. q/ K* z" o* k! s( A# q  Y
            If (select_directory(foldername) <> DialogResult.OK) Then( q& g8 w' M" c* M5 G" W; m
                lw.WriteLine("Input canceled...exit" & vbCrLf). i' ^/ ?- }7 T6 Q6 s
                Return
6 ^, f( y$ ^; p" v  r/ [2 |! _            End If2 x: l+ P9 ^  ~4 T. K% Z/ }

. ^5 J" `/ N# L: l8 S            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)7 }6 `& C6 Z+ F6 G8 A" v8 E* k
            Dim fsi As FileSystemInfo: h% |8 ^# t3 B  r

# k2 W. H9 _8 J; z/ D9 U            lw.Open()
* i! g8 f9 @) S7 p$ U            lw.WriteLine("Parts in directory: " _
# O. H! K2 v7 h8 {+ k              & Path.GetFullPath(dir.ToString()) & vbCrLf)) _  `5 \2 b" i8 x) g' H) {
2 c; p4 C  H: }( N# s" _& o
            For Each fsi In dir.GetFileSystemInfos()
0 i0 [* r* k" n  _* B2 {                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then& r" V, S  q- x# ~7 R% B) J3 b; \
                    Dim f As FileInfo = CType(fsi, FileInfo)6 c. c& `( w& c
                    Dim size As Long = f.Length8 P0 \* o. d8 w7 T9 S
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)6 c0 P/ N/ X" q
                End If( s7 l% T) ~) d. n1 y; v% [  ^2 N
            Next fsi/ g, I: p! r$ ~% W
, t- Y0 X/ Z3 }' g
        End Sub
$ a, d( q, p, e7 k* S* d! J  _5 y* m* c8 _1 S% ]6 ]7 S
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
0 |/ T0 }' q, W7 D. @5 X0 w0 j+ x8 |) `4 J
            Dim fbd As FolderBrowserDialog* c6 K1 A3 R8 [9 z: m8 e
            Dim result As System.Windows.Forms.DialogResult9 k; E5 v" U7 \" r
4 p4 E( Y; X; V2 l  q+ x6 H; T
            fbd = New System.Windows.Forms.FolderBrowserDialog()$ G4 o+ m6 G/ P
            fbd.Description = "Select directory to check"
& ?% K' F, {( j$ \: ]! ^            fbd.ShowNewFolderButton = False
1 a* i! v  ^: [) T1 o            ' start browsing at Desktop folder, uncomment for any other default directory' ~. w# J# T5 s1 o# w8 Z$ o  A
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
9 `4 @. p) U6 H            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"& [2 A7 \5 n  H/ q, ]
            ' fbd.SelectedPath = "c:\aaa\bbb"3 J; p$ L) F$ w8 c9 t5 i7 Q# f
            result = fbd.ShowDialog()
9 a0 G; j# g2 y. ~2 v! J            foldername = fbd.SelectedPath* D% y' U5 t# ?+ e
            fbd.Dispose()
- d5 N1 n! q. {            Return result8 p+ P; T$ E- u' N- t. k
/ W1 j- y" y7 |
        End Function
: ^' Q: O0 h0 M( p  c; u, ], p2 @! k) X
        Public Function GetUnloadOption(ByVal dummy As String) As Integer
2 n8 b3 V4 H- U: S2 @) i4 q            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
6 L8 z" v' T! Y  t7 d* T        End Function# Q8 g+ _  s8 g" ~+ }

+ v0 ^% `- r2 j6 y; J    End Class[/mw_shl_code]7 B" w7 _- d8 F- B6 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 的 方法
8 [( T- k* q& ?1 A1 j9 Q3 ~2 g5 }$ w# L
  G" v% ]. K1 H) N8 C) e  ^- x
[mw_shl_code=c,true]int5 H4 N- t+ u- H7 E- v; H5 m/ {1 g
        cnt = 0,
  H9 w* V! R' k! w* M  u        resp;
8 d- \5 }$ e. f& ?$ t    tag_t
: T( {+ j& p& \  W        part;+ Z1 k- M- Y  S" _' h% G
    char
( [, c5 b0 ^  p( B6 J        dirspec[MAX_FSPEC_SIZE+1] = { "" },
0 B, ?4 E  W2 b& ~/ [! l6 @8 G8 ^        fname[MAX_FSPEC_SIZE+1],
7 s% Z, k* ~. N8 J. r( K        part_name[MAX_FSPEC_SIZE+1];5 y0 Z% C* {3 v. O3 N
    UF_PART_load_status_t
% j+ B! ?/ |3 j+ B6 N0 ~- X        status;
: {. T# @! d2 C1 ^: }% T4 a% u1 g+ |2 ^/ \$ A, G) c: p8 t- h
    if (UF_CALL(UF_initialize())) return 1;$ ~8 m5 D4 \+ k9 |
; P8 u8 L  E9 u
    while (printf("Enter directory path:\n") && gets(dirspec) &&
7 r* W0 q8 I- J( C4 e        strlen(dirspec))
8 H% a% p: O2 j4 M! H, x9 ~    {
5 ~2 ?$ H1 K$ b! \        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
; [# R" W" E9 ~1 U9 E        while ((resp = uc4518()) == 0)) L, J1 p6 |0 n8 J) X& V, u
        {- ?$ G  e' u6 G
            UF_CALL(uc4600(fname));
2 l; m2 F7 ?, A6 k' z            UF_CALL(uc4575(dirspec, 2, fname, part_name));
  k0 a/ q9 v& U: h: r/ {& c8 Y  w7 O, g: R' F6 ^
            ECHO( "%d.  %s\n", ++cnt, part_name);  b, q9 i- \' j/ ^

1 x% _. u* X5 R            UF_CALL(UF_PART_open(part_name, &part, &status));4 r: ^0 ^: X! z
            if (status.n_parts > 0) report_load_status(&status);
" s& A$ @5 ?' L; X/ v4 P6 ]$ f            if (!status.failed)" N% l: D( Y, f( ]6 Y; H9 K
            {9 s! h4 w3 f/ v
                do_it();
- a0 ~" s# v  n/ \4 @9 c% \6 n/ s9 S                UF_PART_close_all();
, s* K7 Q7 g' ?- w' o" S            }2 i; o. C/ x3 g$ f! \9 J
        }
/ V8 k8 j5 @; s. V" n) s. N" [8 a  o" ?6 y9 l7 S) M' t
        UF_CALL(uc4548());. A7 |8 |$ Q# Q$ h9 }
1 b8 O# o, u2 v9 V+ e
        ECHO("\nProcessed %d parts.\n", cnt);. \7 Q. }# ]5 ]
    }[/mw_shl_code]
$ e0 t4 s# P; d) {' n( S1 \9 l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了