PLM之家PLMHome-工业软件践行者

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

  [复制链接]

2019-4-17 08:00:53 2651 2

21

主题

0

回帖

75

积分

注册会员

积分
75
发表于 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.doteam.tech
回复

使用道具 举报

全部回复2

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82170
QQ
发表于 2019-4-17 07:54:25 | 显示全部楼层
C#的  没有用NX 函数 " L4 V! K; b: o2 Y6 w

: N4 Q4 Q; U0 Q2 A
6 `+ Q, p4 Q/ S" V  r9 K1 q[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory0 {9 c, g1 g# Z! V; V

$ y* T7 J2 ^; m7 G0 d! W$ D2 P        Public Shared Sub Main()
1 K7 o: M9 W; s6 |1 W4 I4 h) e, o+ S+ W
            Dim theSession As Session = Session.GetSession()- O" K+ y1 u+ o% v) A$ {4 l. x2 c
            Dim lw As ListingWindow = theSession.ListingWindow(): ?' Q5 k4 ?2 Q$ f" `; N( I

* s2 t3 j6 a5 a; A            Dim foldername As String = ""3 n# Q4 Z% o8 S
            lw.Open()
3 x. m; X+ i! g            If (select_directory(foldername) <> DialogResult.OK) Then
* L, a$ X: o, ^9 F1 V                lw.WriteLine("Input canceled...exit" & vbCrLf)$ @* q. w+ V. G
                Return
4 s( x9 t" `4 ~0 s, B# |$ u( e2 }            End If
* P# q2 R$ q0 ?/ K9 P0 G
# k% @9 |/ H+ a1 R* ~' p- y            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)0 M/ Z0 x; c& I& k: ~
            Dim fsi As FileSystemInfo( c6 r) J  |- b2 Q+ v

- w5 q. [2 o- o            lw.Open()
% b# W3 V+ C; _  l" e            lw.WriteLine("Parts in directory: " _
6 L; e! q0 O0 {- l              & Path.GetFullPath(dir.ToString()) & vbCrLf)
, ?1 r0 q- D8 B( H5 w) z
/ m  M& x. D0 U1 X: y( x& P            For Each fsi In dir.GetFileSystemInfos()2 \- {5 j# ^% |# M- x  J
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then0 L8 X8 @# {0 [! u; N
                    Dim f As FileInfo = CType(fsi, FileInfo)
2 M: H6 C1 |* ?                    Dim size As Long = f.Length
$ t$ w" s/ s7 Z, o! h9 o                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
( q  t) l( T+ }. Y+ D4 E                End If5 r& k3 x, G2 ~
            Next fsi+ l; j  ]8 I" o5 K# C
  M$ q- U1 ~5 ~: k# S' s
        End Sub$ U0 p8 l1 h3 \  y$ N8 N) R, v" I1 D

/ r# |+ }" F) m5 T* \        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult; ~6 g3 @0 _( W) b& e3 e1 E1 ?
5 C0 H  B+ J0 M( P2 ]; T
            Dim fbd As FolderBrowserDialog; ^# P1 ^) w5 @
            Dim result As System.Windows.Forms.DialogResult
; V1 C8 _; f% u9 X) h, R$ L* A" _- Z: y# j- r' _% L4 a
            fbd = New System.Windows.Forms.FolderBrowserDialog()( ?3 X" l+ t( ]6 M2 x" O9 h
            fbd.Description = "Select directory to check"4 }+ ^1 L6 b+ Y( E! a( e5 g
            fbd.ShowNewFolderButton = False  O' }. M' u9 R
            ' start browsing at Desktop folder, uncomment for any other default directory
. n' Z7 i9 s; w2 I* i* E            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")* }0 g6 Y: _7 Y$ b# v, f
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
4 G  T: k2 D9 m            ' fbd.SelectedPath = "c:\aaa\bbb"( X) ^* p" w. i- e( t+ S/ q3 o  `1 t
            result = fbd.ShowDialog()  ^$ ^- T* K- f' _6 f
            foldername = fbd.SelectedPath
; ?- O* e! \% W            fbd.Dispose()
7 `7 _  m- C& L) o4 T8 H            Return result
8 B+ V1 _# u+ h2 t; v$ Q9 w) G8 b/ H
        End Function7 g* D. @5 v2 J: ]3 D" P

0 a8 J- \4 D) @) D$ d" t$ K7 o6 F2 ?, @        Public Function GetUnloadOption(ByVal dummy As String) As Integer
( D; l3 D2 c. f* d; H$ d2 t" m            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
  s( ^) }) h9 P  Z        End Function6 a1 m1 j0 ~1 y# l& j, w" E

1 h& y/ v3 J5 p7 S5 Z; x4 p    End Class[/mw_shl_code]1 X* ]3 A, l9 S6 z: @* L
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82170
QQ
发表于 2019-4-17 08:00:53 | 显示全部楼层
ufun 的 方法
6 _" E+ N2 D  u. U2 S" M- ]9 \# o6 V9 v. U

  _3 w  G0 r# h[mw_shl_code=c,true]int3 m* M) O+ g. g( ^0 \9 E1 Y  w
        cnt = 0,7 t$ @8 d7 M  z# n$ }; X% L% t1 w5 I
        resp;% X' p& A/ V4 j5 F: T
    tag_t2 a# w8 H4 B( X7 c7 {$ W
        part;$ C' g4 L  r5 t( O6 Y2 }
    char/ c* I- b7 S; H' Y" o' L6 o5 u% I) l
        dirspec[MAX_FSPEC_SIZE+1] = { "" },5 |6 {' I6 I! W7 ~
        fname[MAX_FSPEC_SIZE+1],0 E  S: n$ n, Z' ~  S
        part_name[MAX_FSPEC_SIZE+1];% q% T4 q/ a8 K' |
    UF_PART_load_status_t" Y( R) M% o" m+ E
        status;
5 ?1 T4 P% J6 O8 K$ v& d4 \3 b( }8 M6 E9 Y$ r
    if (UF_CALL(UF_initialize())) return 1;
+ V: ?% R' P, v
% T8 [. N2 }% k# T! a! i) g    while (printf("Enter directory path:\n") && gets(dirspec) &&* `  ^' t; V0 I2 W8 D: ?
        strlen(dirspec))
+ g7 k) n& p3 w/ p, \' c2 ?2 O1 S, h    {! `( _' R/ l9 V* e2 f8 x# N
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");' x0 w  l/ j: N+ z+ s; `
        while ((resp = uc4518()) == 0)( |0 p, v2 z/ c$ W+ D; b4 s* q
        {
( l; C2 M7 s! [  y# x9 i! y            UF_CALL(uc4600(fname));8 x; P/ B! `1 {7 U; ?. I
            UF_CALL(uc4575(dirspec, 2, fname, part_name));
7 c  }9 O( D5 H: n8 p$ t" D
$ }! Z6 T- E! Q  G5 M4 N            ECHO( "%d.  %s\n", ++cnt, part_name);
+ _/ J$ Y. q6 i, T* D) M
6 w/ O# h: `( u! p8 K" Q, Y            UF_CALL(UF_PART_open(part_name, &part, &status));: T* A9 g9 s, x+ H! V
            if (status.n_parts > 0) report_load_status(&status);# X3 G, N3 O' U7 o$ O4 o" S
            if (!status.failed)
. P$ O1 o1 k& F2 F            {8 o, u( A9 }) I$ f3 _1 A/ A7 A& w
                do_it();1 c4 n  y" v! n7 y- L, E
                UF_PART_close_all();+ v! D/ u/ k/ U0 h
            }$ c. w; O; p: W$ `6 i
        }0 o4 f" |' c$ B. G0 l5 s/ ^1 a
# w. q5 ?+ D3 n5 q" q
        UF_CALL(uc4548());
! C( G; X% \8 l+ ]$ n1 X
/ c2 q! g1 t1 G- N        ECHO("\nProcessed %d parts.\n", cnt);3 k' Y0 W; i* ?5 c( J
    }[/mw_shl_code]9 `* t, u. C4 u- h% g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了