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

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

  [复制链接]

2019-4-17 08:00:53 2638 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之家站长

积分
82162
QQ
发表于 2019-4-17 07:54:25 | 显示全部楼层
C#的  没有用NX 函数 ) u- q% f+ g1 t5 E
3 _/ i/ T2 {; A( Q

& b7 e9 k$ J) R/ N[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
" V; v$ [+ x" L9 D- m  k$ m6 m5 D" R7 \0 v
        Public Shared Sub Main()- U: O3 d1 E5 |" g4 X0 w8 Z( o

# P+ j$ }% d+ k* y' a; ~8 G  |4 s3 N7 H            Dim theSession As Session = Session.GetSession()2 S; e- X( T: v) F0 o
            Dim lw As ListingWindow = theSession.ListingWindow()7 v/ c+ t3 e2 N

# k% z* [1 N! S% _; k+ P            Dim foldername As String = ""6 f" }5 f3 H, \; s9 s
            lw.Open()
. Z4 F- p- {# e3 E            If (select_directory(foldername) <> DialogResult.OK) Then5 E% H! t7 J' @" W4 R6 y
                lw.WriteLine("Input canceled...exit" & vbCrLf)
. ~6 w/ S; Z& E# N" M                Return$ k* ]9 ^7 M2 ]3 B3 y
            End If  B" i) T5 e" w) R
- k7 m' ]$ m! j. ]8 H3 b9 F
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
* x5 y9 T. K: V8 E/ F! _. W7 u            Dim fsi As FileSystemInfo- O; P/ N" V- J/ X& x- ~
' ?* D, A' r, |6 a. }$ D
            lw.Open()8 W7 j) |0 N6 _% T. b
            lw.WriteLine("Parts in directory: " _6 E+ j* Y/ ]! p- p
              & Path.GetFullPath(dir.ToString()) & vbCrLf)
6 \- p; M; K  _, d: g$ p1 b0 W1 @( @$ l$ ?* T/ K, B- n% J6 y* Z
            For Each fsi In dir.GetFileSystemInfos()/ K$ U, L4 m4 ^* j9 E2 G
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then8 a6 T  ?; ]3 E& B6 K/ L. t/ G
                    Dim f As FileInfo = CType(fsi, FileInfo)
( ~7 ]  w. ^, w& W$ _; m5 ~( r                    Dim size As Long = f.Length) b8 t/ P1 j! N1 w) R9 T) `  W
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
; Z! c) v* b! I$ c2 K                End If
8 e0 p5 E6 x% d            Next fsi3 b7 E0 l, e# K$ Z' d

# v# Y* ]5 q+ {4 }1 Y        End Sub
4 R$ R; k$ J" @5 c2 x; p3 w
  Y9 u( G5 G/ d" @& ~* P        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult9 n  w; S! v1 [/ g- \3 e( T1 x

& j! ]" i/ j7 x) f4 T5 J            Dim fbd As FolderBrowserDialog
* I" L1 D4 y& n% G) K            Dim result As System.Windows.Forms.DialogResult( S0 y; s+ p7 p4 c% a% I$ U: u
4 s: }6 o% Q# B( W' O) ]" c9 |
            fbd = New System.Windows.Forms.FolderBrowserDialog()- u6 y+ @! n- x9 {6 q
            fbd.Description = "Select directory to check"9 g8 e% G% `/ r8 E3 C
            fbd.ShowNewFolderButton = False4 N& p; ]1 [- F3 O
            ' start browsing at Desktop folder, uncomment for any other default directory
4 m# @+ l: `( D! O0 X1 E# a) `- F9 N            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")0 \0 H3 Y2 W& P; ~7 X
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"' v; \( ^% j2 p! W9 a4 q8 O6 B. o
            ' fbd.SelectedPath = "c:\aaa\bbb"
( A) |0 K. I/ Z( v) c            result = fbd.ShowDialog(), ^/ Q# S$ o4 ]9 |% z# n
            foldername = fbd.SelectedPath
% ]  G# u' e! _            fbd.Dispose()
( c$ Y  Q; ^+ U: Y  `. ?7 s            Return result
' t5 e8 F* U1 X* d" b, s, y" ~+ T) [" ~6 B" W
        End Function3 d$ d4 k" t$ s# s! ^( ]  O8 }* U

# p. u8 y* a+ `. s: D        Public Function GetUnloadOption(ByVal dummy As String) As Integer& Q: @+ j4 h, A5 y5 E  i# t
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
. D! w8 {0 ]* x9 Z        End Function8 m( m/ U0 {) C, X
; y1 k6 a: T. A, S5 i" k
    End Class[/mw_shl_code]
8 U% N' E4 Z' S, J  R. p  _$ u
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2019-4-17 08:00:53 | 显示全部楼层
ufun 的 方法 / a5 L; J6 @0 Q
- {$ q" \1 y/ ?; _6 d9 O5 i

3 U' |3 A8 Q7 f( K[mw_shl_code=c,true]int! O5 K9 P1 x+ N, G4 `
        cnt = 0,4 a, G& W# U: ~2 u+ v9 t
        resp;6 O: i7 Q+ d: \& d
    tag_t6 R0 p+ q9 u) D. }. R
        part;) P8 O& C* Q6 b
    char
; u, `# L9 L$ L- \7 p+ `        dirspec[MAX_FSPEC_SIZE+1] = { "" },$ n% h; j7 T2 }& r1 j: y
        fname[MAX_FSPEC_SIZE+1],
% P. x0 x/ A5 m6 R. c        part_name[MAX_FSPEC_SIZE+1];  P" X: d% a! i4 v
    UF_PART_load_status_t
  H7 G9 J7 S2 `0 s2 b  o& \        status;
! l7 I2 p3 ^1 N  v5 ?% ^2 N6 z1 d
    if (UF_CALL(UF_initialize())) return 1;
8 ?' T# ]5 @1 Y; T% t' j9 i2 P* T2 V9 v- \7 D% f6 u
    while (printf("Enter directory path:\n") && gets(dirspec) &&
6 T' B& M! Z5 f$ q! v        strlen(dirspec))
/ N/ O# Y3 h, c( q7 I0 L    {
, i! \4 b' E9 C" a8 i4 \- Q% Y        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");3 j" H1 m1 {0 p
        while ((resp = uc4518()) == 0)
) e# f: J( f) u; H5 |( H        {+ A- |4 q+ b4 T2 Y' O8 E, j
            UF_CALL(uc4600(fname));, A6 R8 U/ F8 g/ q' O$ f0 ^
            UF_CALL(uc4575(dirspec, 2, fname, part_name));0 z3 {# \" p  u1 t( @
  S  P' B4 z% z, r7 c
            ECHO( "%d.  %s\n", ++cnt, part_name);. X  ~1 Z0 a8 C* _) m- _9 e0 _
+ f7 N# `' o6 [9 p2 D  r- r* M
            UF_CALL(UF_PART_open(part_name, &part, &status));
6 V# N- b* q* j; \! s! A            if (status.n_parts > 0) report_load_status(&status);
+ U' P8 i( {' C4 v1 K7 K8 E* r3 v            if (!status.failed); E* z% K" r+ t( k6 u
            {
7 V" Y5 E7 D) B$ D4 A                do_it();
* J. C* ]0 H3 ]0 G6 O, H. |& r                UF_PART_close_all();# S2 o+ l: _; N: G. |, D
            }
, U( A4 G+ `8 a" T) a- V" p% b        }( E3 P# K2 V  b% e$ S
# d9 K; \$ y& k6 n4 D# s& S
        UF_CALL(uc4548());
) W4 a0 G, j* B/ W5 r* E5 i" P$ t
9 A4 Z% s" l# y; C! \        ECHO("\nProcessed %d parts.\n", cnt);
% w; q1 a! E' B# j    }[/mw_shl_code]$ ?2 c% _; w# k  F+ O0 j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了