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

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

  [复制链接]

2019-4-17 08:00:53 2566 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 函数 3 v  K$ J6 D' j$ Z4 [

; E# r, L% N" R, p6 T7 M) w" k" p5 U$ r! d. b: X( V3 d2 `
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
  ^9 O% t' x, P  b6 \+ J* o& N  J8 \3 l; ^9 s
        Public Shared Sub Main()
( f4 V( z* }- U( R5 }
2 ], ^8 s" k0 G6 q) I            Dim theSession As Session = Session.GetSession()
3 w6 }0 q9 S& j0 @            Dim lw As ListingWindow = theSession.ListingWindow()) F( v6 |$ X6 H; ~( D  I
8 S7 [$ a8 r' i" e
            Dim foldername As String = ""
9 e0 o* y5 o" C2 c1 l& O) i, \# U            lw.Open(), R- A9 N2 r5 k
            If (select_directory(foldername) <> DialogResult.OK) Then
$ J2 C3 x+ P: n) T- ~' P! r                lw.WriteLine("Input canceled...exit" & vbCrLf)
0 \( u' D  {4 w( X6 f: t5 d$ p                Return
* d* N* Z$ C/ \6 h& l            End If
. Y! V3 l( e/ T( y8 Z* _. D& V
7 c# u; q1 o2 ?            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
/ d+ ?5 d3 }7 m4 P9 h$ g            Dim fsi As FileSystemInfo/ l1 m; z0 h8 L( Z

- M; l  h/ w  ^            lw.Open()# E+ u  j0 Y  X: c/ m3 u7 r
            lw.WriteLine("Parts in directory: " _
3 |( p% f8 d, s2 _1 |  A% A1 Y              & Path.GetFullPath(dir.ToString()) & vbCrLf)
% b3 L9 k! O$ p, i
+ N9 t, F7 O( p- G/ T) Q% m* l            For Each fsi In dir.GetFileSystemInfos()- P( p9 d/ G9 V) ]$ t
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
# Y0 w) }& T3 |$ J                    Dim f As FileInfo = CType(fsi, FileInfo)! g7 m' I9 ~/ M1 n1 I& ^
                    Dim size As Long = f.Length
4 ]; u: N& s4 U# @2 v5 l                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
( v: H8 O, I" Y( ^/ o+ k% ]                End If3 y( o6 G: y3 t2 f$ F/ `
            Next fsi
" L. d0 W, e8 M
. |9 `$ Q2 h9 s: W) x. [" ^        End Sub: z' `7 a1 [' Q
, ]2 ]1 x7 C( J" p* d2 p
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
. v+ O( b+ O) Q3 q) h. b" C9 @2 e
            Dim fbd As FolderBrowserDialog9 G+ u) W. Y0 A; y3 e
            Dim result As System.Windows.Forms.DialogResult
% K- a* Y3 }% o7 b4 h5 u3 H" ]' S
4 I" V% J) I+ U1 @% j            fbd = New System.Windows.Forms.FolderBrowserDialog()
3 @9 R& }/ ^* Q( _            fbd.Description = "Select directory to check"6 J* m8 U4 `" B1 H- ^+ K
            fbd.ShowNewFolderButton = False
0 B% _3 _6 f& i% F            ' start browsing at Desktop folder, uncomment for any other default directory
( @$ O* t8 {! H! U! Q9 F            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR"): {5 X1 f* x% \  D- s
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
/ }4 ~% E2 |$ ^6 a2 s0 _            ' fbd.SelectedPath = "c:\aaa\bbb"8 Y; Q5 Y1 r1 J+ n* X  `
            result = fbd.ShowDialog()
/ y) H3 J5 I. H6 k* [2 L" X            foldername = fbd.SelectedPath
3 K# n+ n  z: l. F# b            fbd.Dispose()
7 C1 Y9 n! L9 _: o4 k            Return result/ j! T' b4 ?/ \4 h$ V5 v+ |

3 O: {7 H8 d8 ]/ H8 a, T- K8 @        End Function
$ n; T& V8 J4 z6 `
: V& X5 t5 C3 Y! {! U2 B# n        Public Function GetUnloadOption(ByVal dummy As String) As Integer6 o# \' ]6 B, t
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
+ {, C( c, Y  {  v* `6 ~. @        End Function
# I; M" q5 P7 h% @/ F0 [
; j; \% I& s9 M    End Class[/mw_shl_code]
/ C4 ?7 k5 l- {% y- g9 w
上海点团信息科技有限公司,承接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 的 方法
* i$ T* h# k- m* r1 z% p% m; Z
: Y8 Q# Y6 o+ X4 i( |+ t! n- W  `% g  o
[mw_shl_code=c,true]int
- ?8 X( d; u! w        cnt = 0,
$ P8 C5 Z- {% S        resp;. u/ B" K+ ^+ v% x1 \+ M
    tag_t' Q" O; I/ ^: @+ P
        part;
! k9 ?$ G2 @0 v7 I    char! }2 T$ G: x# z# i% [- c
        dirspec[MAX_FSPEC_SIZE+1] = { "" },
; G7 x, I# t4 d7 [+ D( p        fname[MAX_FSPEC_SIZE+1],3 m" `. a( _: D: d6 T! [
        part_name[MAX_FSPEC_SIZE+1];
' x9 X# Y) |5 i: q0 x    UF_PART_load_status_t7 J# k3 I8 Z( T& S5 X% g! `
        status;
9 F; Q( D2 e5 r' |
( P* x; S: J1 g! d" x3 h3 y    if (UF_CALL(UF_initialize())) return 1;
, |9 `! g$ }) x0 v/ y- \2 s' p
9 ~% @5 Z' {9 X) {% K; ?5 Q    while (printf("Enter directory path:\n") && gets(dirspec) &&
" m2 x: [, h2 T, A, k        strlen(dirspec))
8 j; T" e) V) K" S( y    {7 V4 m6 a& g7 |3 }+ t1 V9 K2 r1 n
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");' p1 R- k3 c: J6 R; v
        while ((resp = uc4518()) == 0)
6 p. n& M) I+ w; m% O( O7 K        {
( [8 _% c0 `2 `9 w) Z- Z            UF_CALL(uc4600(fname));' c8 O, N2 r! H! T" I
            UF_CALL(uc4575(dirspec, 2, fname, part_name));  Y% q( `9 ~/ h, e% A4 @

; j/ @+ }% c: S2 n; v            ECHO( "%d.  %s\n", ++cnt, part_name);+ Y( Q* V3 ]% O  `# N/ J. k# X
/ A7 v! n' o% ]* J
            UF_CALL(UF_PART_open(part_name, &part, &status));  m) E4 X8 A5 ?' x6 N: }; g
            if (status.n_parts > 0) report_load_status(&status);
& g" ^! m3 P! f" N            if (!status.failed)
" H& t4 F0 q% }9 X/ ^            {
8 n5 M* F; n( K0 y7 f4 G5 W                do_it();' u$ ?* t4 N% d" _8 A
                UF_PART_close_all();) X. a7 E0 A! g$ p* e6 ^0 d
            }' b9 R1 }' L  A8 q, k/ d' P9 |- H
        }
5 t  I$ u. I3 b3 D6 l. a" D+ S& B( H" Y+ Q6 G* u& g% C
        UF_CALL(uc4548());
4 O9 r0 G. N  j. r# L' B9 S" W: }: [  j
        ECHO("\nProcessed %d parts.\n", cnt);& u0 h% p* T& [9 U
    }[/mw_shl_code]' p* E+ D9 S6 |& D; v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了