PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

2019-4-17 08:00:53 2636 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 函数
6 v; W9 s$ @! C  N1 Z/ i1 |3 X7 b6 H# B# e/ n& W" t% B
6 f) j5 T* b# o" \) x. P
[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
  f) V3 c6 X$ b0 w* I) }3 o# }
- Y6 D) A& ^2 h        Public Shared Sub Main()! ]1 R. x9 B2 ]

& ]; I. {! y& S0 a$ N" e' t            Dim theSession As Session = Session.GetSession()
; p! i( S) W6 m" K3 t            Dim lw As ListingWindow = theSession.ListingWindow()
  O5 k; s% u- r$ X2 o& e$ j4 u
8 V* u( g& E8 o6 ^5 @0 D# `* G2 c            Dim foldername As String = """ b* [7 l' `- G/ J. W) k0 y
            lw.Open()- m, L, C" e0 f; ^7 r% f% X+ n
            If (select_directory(foldername) <> DialogResult.OK) Then
- @# p5 d1 k# a                lw.WriteLine("Input canceled...exit" & vbCrLf)
/ Y3 u1 ~/ ]7 J1 }7 M                Return
" G+ U/ g/ X" E3 }            End If, ^2 ~7 V* x' f& W
& u* i+ g2 D9 [- {4 L$ X
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)" H$ E8 w/ k  {& S/ D7 i- S
            Dim fsi As FileSystemInfo9 ^4 F/ D, u" U/ Y
: c2 z6 ]* K5 k! C. v
            lw.Open()
# v$ H4 a3 o* \$ I. F6 o            lw.WriteLine("Parts in directory: " _9 r, Y5 L' Y, R
              & Path.GetFullPath(dir.ToString()) & vbCrLf)5 N! b1 i- Z. E" |1 @1 ?$ i
' I( B( o" P# e. l
            For Each fsi In dir.GetFileSystemInfos()! ~- ]- l" h! _; f3 e5 E- I6 ^7 \
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then
4 \( R2 ?) _2 X                    Dim f As FileInfo = CType(fsi, FileInfo)4 ], e# P; k% j* N) L
                    Dim size As Long = f.Length5 \) B+ H0 [, A
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)( y: Q" [  A$ U) M* W/ z
                End If7 V: K1 n' E, |5 k" g5 `6 D
            Next fsi/ `/ G' a# {8 \1 h

1 }0 u& r2 p& V" l3 h        End Sub
* h1 p1 c/ F+ t+ z* j/ P. G: I3 L3 v& n% i+ n6 C! q& l
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
4 J: A3 S3 C% c
2 q2 M0 J% x9 t" c            Dim fbd As FolderBrowserDialog
  t3 W$ ^* E8 S            Dim result As System.Windows.Forms.DialogResult% Z- G% V% O; T1 B
$ y, q& H4 E" }9 K
            fbd = New System.Windows.Forms.FolderBrowserDialog()/ m8 g* d% B# h+ v9 z4 `
            fbd.Description = "Select directory to check"7 [& s" I: N  K; }, y0 T8 b# K
            fbd.ShowNewFolderButton = False" ]+ _: k& T  E- A
            ' start browsing at Desktop folder, uncomment for any other default directory
/ @3 S: s$ V5 W/ w            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
1 o# R9 |* E, I! B3 M- {) s* e            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"7 t# `0 m+ G' l
            ' fbd.SelectedPath = "c:\aaa\bbb"
- R( |& q: i" Q  ~0 q3 x  s, f            result = fbd.ShowDialog()
2 T2 u! k% ?; |            foldername = fbd.SelectedPath
9 t0 N, b3 D; W( P  S$ P1 o. F/ [            fbd.Dispose()& C7 ?4 q, @8 X( k* A  I
            Return result
" g9 Q" Q6 Z9 J0 g! i2 w
5 p9 {- f1 p5 R, S5 T        End Function0 o, |: Q8 S" S& q! V  I2 i0 K
4 p! a# t7 ]* V
        Public Function GetUnloadOption(ByVal dummy As String) As Integer
7 W* n: J" T7 Q            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
/ d) b( l& Q- f% M4 F& i        End Function
: G" f+ u' {& q$ |+ l; e
. J! P1 N8 q0 K5 j! E    End Class[/mw_shl_code]
' n. @: |, U: S
上海点团信息科技有限公司,承接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 的 方法
4 Z( d4 i0 s4 e/ a
+ D0 Y0 K5 Y/ _! L, g7 [+ X3 F1 v; x; N
[mw_shl_code=c,true]int% l& j- ]* u! h$ d+ _
        cnt = 0,
# ?, V9 k4 |2 _" F! t9 W- _        resp;
& g8 B/ c! M0 ], f1 b$ O; V5 E    tag_t. p9 E) e. y8 X) J" o7 ]1 a
        part;3 C; N# m) G8 p* ]3 c
    char9 i; Q& ~/ A& W, x; j) X7 B5 n
        dirspec[MAX_FSPEC_SIZE+1] = { "" },/ B1 g. O5 S$ i
        fname[MAX_FSPEC_SIZE+1],
+ C1 U- \- Y: t- h3 A        part_name[MAX_FSPEC_SIZE+1];
- F3 G2 i4 j' g- e- P1 \0 v    UF_PART_load_status_t3 j4 X4 l  o1 c: T$ g' j7 h2 l
        status;* B, G, A2 y  ]4 X7 e

% y& i! m& h  F- }- n& Y    if (UF_CALL(UF_initialize())) return 1;" B) v7 \4 h) q5 _- }
1 T' `, ~& G! m& `. n. {- \# Z  e: a
    while (printf("Enter directory path:\n") && gets(dirspec) &&1 t7 v4 f7 d7 Q8 J% a
        strlen(dirspec))5 G; M% z( I8 O5 J9 X
    {
" |. S. J! I/ q3 Y7 L        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");3 ~' q* {( r! e
        while ((resp = uc4518()) == 0)' h* l: |1 O+ D  G4 h# D0 ^* l$ X
        {
1 e: ?8 l/ ^* B) F            UF_CALL(uc4600(fname));& [: E4 V' H5 K+ B5 H; {' ?" B
            UF_CALL(uc4575(dirspec, 2, fname, part_name));0 g+ g1 {  g$ Q1 y+ _7 a! d, c: l

( N/ d5 F% u6 W; D6 d            ECHO( "%d.  %s\n", ++cnt, part_name);2 q+ J- e. j* X
$ {0 e# K. V9 f, I% G$ y$ t/ F+ v
            UF_CALL(UF_PART_open(part_name, &part, &status));
, F% g$ p0 g1 c1 B2 \" o            if (status.n_parts > 0) report_load_status(&status);
7 a& W, Q7 e' I$ |* \            if (!status.failed)
) G# E9 y$ c. O, S! E' B+ v            {
6 e: n: K7 C9 ?0 H% ]! [" Z' E                do_it();( f0 z% q& c' g
                UF_PART_close_all();$ a3 Q' M1 \8 x8 H( K8 e
            }0 f) V% T: d; v- h" V0 h/ d
        }
7 x# h7 S) m- J2 ]% p  p
. V: I  \- `$ V1 O, T        UF_CALL(uc4548());0 F; H2 x- |: V5 k7 b
0 v- T( W% Q, h/ G: h4 d
        ECHO("\nProcessed %d parts.\n", cnt);
) Y8 S+ y. N5 G/ ~    }[/mw_shl_code]3 u2 Y% T' Q: f4 D6 y8 Y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了