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

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

  [复制链接]

2019-4-17 08:00:53 2667 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 函数 + g2 i  x+ _1 H0 L
% D) f5 }* y+ \/ {9 w# S% a

% Q5 O* `  i  @+ E[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
8 g, f1 @, B) O; b; J: ]- E. J/ L! F" n0 v5 ]& J
        Public Shared Sub Main()
' G1 I3 p. p3 g( u
! v/ A* P! P4 a+ V, s  i            Dim theSession As Session = Session.GetSession()# Z9 R9 P) e  H) L" V* i
            Dim lw As ListingWindow = theSession.ListingWindow()7 s9 t3 g' H5 N0 ]" ]0 C( K
% \! j( U4 w( C' Y
            Dim foldername As String = ""
+ x( p! ^2 u+ }! {) q            lw.Open()
# z8 G; [; z" M% F/ v7 ]            If (select_directory(foldername) <> DialogResult.OK) Then/ r) i* \. J; @) l$ H5 u
                lw.WriteLine("Input canceled...exit" & vbCrLf)
+ {! u- t7 h1 e8 V0 H  ~  k                Return
0 g+ S! k6 V' J% ~4 m) h            End If& Q8 E+ ~8 U; g
: R* h! s2 Y- Y8 x' V' q
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
9 y) Q5 r8 L5 u9 W7 w  n            Dim fsi As FileSystemInfo7 ~9 P% M9 i9 M, p# q9 c1 ^
- S6 T  X' ~3 w$ E$ G+ p
            lw.Open()
0 K* l. R: `: `8 m% M            lw.WriteLine("Parts in directory: " _
/ q+ m  ]3 T% e: c# O              & Path.GetFullPath(dir.ToString()) & vbCrLf)2 R; E" S1 [% T- ~& H6 w- \2 _( \
5 B4 N; s& }* C( f% d+ y
            For Each fsi In dir.GetFileSystemInfos()
: s" O7 e0 C: w( Z1 x( w+ ^                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then5 g# P) b  j% {$ R
                    Dim f As FileInfo = CType(fsi, FileInfo)
  I4 x, {4 [$ `7 u+ U                    Dim size As Long = f.Length! M, u" v( I$ u' E3 m; Q
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)( v0 e& r3 @4 X! p+ M1 B
                End If% ~4 ~- [, Z) u# A5 R( D* c. S
            Next fsi9 |6 j1 z9 l5 `. Y% i! J
" `& D: k, [' X+ L' u7 C
        End Sub
; y9 Y4 ?% o1 o" T" p4 H
; _* U" i/ W1 J' T# B1 v1 o. H6 o4 U        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult' |& m/ k0 m5 i+ c" Q% ?4 W. l8 `
( e, A, s5 @7 `( x4 {" \" }
            Dim fbd As FolderBrowserDialog
9 j% X9 [! R1 }6 i! n  o            Dim result As System.Windows.Forms.DialogResult
& {3 @9 h1 L" Y3 P3 I0 z1 ]8 }8 Z! L' v
            fbd = New System.Windows.Forms.FolderBrowserDialog()( ]' L+ D+ F' \1 Y) U  V3 z. j
            fbd.Description = "Select directory to check"
' y* Y6 s- y: y            fbd.ShowNewFolderButton = False; A* ^% e* y3 {9 s3 s8 }, c, K
            ' start browsing at Desktop folder, uncomment for any other default directory
6 z6 n' ]4 L: p3 l, ~6 t- Z) L            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")
8 w& J- s6 O! X4 q2 [            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard". ^& Z+ B3 }# Y/ p6 Y* Q; }
            ' fbd.SelectedPath = "c:\aaa\bbb"
1 u* n, T% L  p1 _- e+ Y* X* ^* z            result = fbd.ShowDialog()
; W; J2 g' W) P* o* ?6 J            foldername = fbd.SelectedPath
) P+ w  S; ]7 G% ^) |  r7 y9 u            fbd.Dispose()( a  E' o9 g+ E: P7 D
            Return result
. l/ ~" U4 T+ F7 Z: _8 s: }( ^6 B; ~( g( S; v
        End Function
  a; L; V, T4 q0 z2 n9 |+ o5 Q, ]* z; M& I* y+ m& @7 Y
        Public Function GetUnloadOption(ByVal dummy As String) As Integer9 Q8 R; ]( {% _2 S6 `
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
- ~( Z& S$ O: q1 ~* h  I; @        End Function$ o, T6 g+ s2 M. A0 z
$ F8 g' w& ?% U3 K" m* f/ ^3 Z/ U% W
    End Class[/mw_shl_code]
) E0 g; w# @' {: z) f/ `4 @; Q
上海点团信息科技有限公司,承接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 的 方法 - s" [. a' L( X  x% b
1 i  |4 p( y5 V
; g/ S  S; J* G$ {2 E0 ~
[mw_shl_code=c,true]int/ s% g/ ]  W7 ~* f- v$ n* a' n* B3 U
        cnt = 0,$ s  C% R" j  K* m
        resp;% F/ u* |' x& M& |# R& y6 Y2 y( Q+ t
    tag_t
1 F7 X8 a# M0 x3 Y9 r2 }  A        part;
! F) g/ T6 l% z( N    char  x+ g* _0 f1 {2 n: o" N( C
        dirspec[MAX_FSPEC_SIZE+1] = { "" },2 u3 H6 v4 x% ^7 ]. z# W2 w
        fname[MAX_FSPEC_SIZE+1],+ s+ r% Q& ~' d7 J1 ~9 P
        part_name[MAX_FSPEC_SIZE+1];$ [/ Z( }4 m3 [# j9 S: b' `9 J
    UF_PART_load_status_t3 i6 N* p5 \* i  O8 X
        status;& E0 K% y9 t0 `" P0 L0 G
+ K( @$ R. z5 t# @/ @2 D9 }
    if (UF_CALL(UF_initialize())) return 1;+ K$ z& {1 ^; c& V4 R  U" z6 R

2 l8 R2 b! f: V- P    while (printf("Enter directory path:\n") && gets(dirspec) &&
2 y2 h7 u. w. Y8 c' ]  ]" J        strlen(dirspec))# H  Q2 A/ A4 v5 U; o
    {1 N% T# G5 q% x( _5 ]% p2 U7 l* J6 l
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
9 P. l5 I" ?% u- a3 i        while ((resp = uc4518()) == 0)
8 i# d3 J- G* n        {; f8 P/ y, O1 ?7 {8 e
            UF_CALL(uc4600(fname));
/ O6 ]* t5 D& a+ s. S8 P+ M" }1 N/ s            UF_CALL(uc4575(dirspec, 2, fname, part_name));. T" {& [% [- b
: C  @* @2 f$ ], \# p% n5 ]
            ECHO( "%d.  %s\n", ++cnt, part_name);
. U6 W1 |9 r; ~; n
! s% B% \( \1 P- c  v            UF_CALL(UF_PART_open(part_name, &part, &status));
+ [4 C) ^, B0 ]0 V0 i            if (status.n_parts > 0) report_load_status(&status);4 ]. T3 o: M. ?; ?. R0 {2 K
            if (!status.failed)) T1 @. x1 S  N7 @
            {
; c& w1 ^: Q  l8 m* l4 H                do_it();
5 \  X+ y4 Y( }! Z0 R  s" c5 {% @                UF_PART_close_all();
! o  p! c+ C2 P& E. \2 a! u4 I            }
; k: U3 d& B$ h' ~1 J) t        }
3 @' X! d6 y. W/ V5 I2 K. p) m
% v/ I& w: C% H2 y  R% I; V8 A: q        UF_CALL(uc4548());7 n/ \  H% Z/ C0 ~9 @5 c+ D4 f$ G

7 k9 C8 V* I3 G" v: N" _3 W        ECHO("\nProcessed %d parts.\n", cnt);' @. g, G; m. d$ d: w
    }[/mw_shl_code]- u) l: W. b7 @' c0 q# U; I
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了