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

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

  [复制链接]

2019-4-17 08:00:53 2637 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 函数 / o5 D& C$ {0 t9 H  S

+ Z) B1 _9 D2 [$ v
6 s* v' V% R' H[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory
8 s, b- J+ A6 S2 k6 }
, z( o/ ]3 y3 o1 w0 M! |        Public Shared Sub Main()
2 h* p' I9 m8 v. S2 y1 w$ ]# o8 [6 ?& B# U, w: z1 T/ D. W* V
            Dim theSession As Session = Session.GetSession()
% e, ~+ }/ d6 B1 d) B) J4 U# Y            Dim lw As ListingWindow = theSession.ListingWindow()+ n4 M! q  ?8 C  g% q

8 f; d2 \3 _& u$ S; x            Dim foldername As String = ""
+ S, R) k/ u% ?6 W+ ~6 d            lw.Open()
3 }' Z0 T; E5 B$ R; z            If (select_directory(foldername) <> DialogResult.OK) Then
+ q7 r+ a* O, |% r# [- l- s$ y                lw.WriteLine("Input canceled...exit" & vbCrLf)
) D: K9 y6 X5 G* a+ N                Return
* _! Q* p- Q% X3 R            End If- J4 e4 _; e5 `6 p

/ U% ]3 O& c* d' M- d4 r* f3 N            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
& L6 o, ]/ e9 K6 A% c" a5 |            Dim fsi As FileSystemInfo% e; B& |  c; V. `3 W
4 V0 R2 d1 [* S+ E0 K8 l
            lw.Open()) o7 E. K6 }0 l' s- F4 v2 S
            lw.WriteLine("Parts in directory: " _  }; |9 b  \2 f+ Z5 x, V8 n& H
              & Path.GetFullPath(dir.ToString()) & vbCrLf)$ k  \% a3 o/ B3 a# u% w0 ]" Q
7 O) B# {  i6 d4 f
            For Each fsi In dir.GetFileSystemInfos()
* g  {9 {( f+ c+ W/ `9 P" \" t; f                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then' a  K3 J0 y# w0 _: i( r
                    Dim f As FileInfo = CType(fsi, FileInfo)
1 q5 V6 \* c9 s& b0 W" }5 ^( h                    Dim size As Long = f.Length$ U2 ?! e( L2 U* ]7 R- G: P0 }
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
! p: B3 r0 W8 ?                End If9 f2 T; ~+ M0 m! d1 p
            Next fsi- ]3 L4 L9 s; f
2 x9 Z: S/ s" K* B
        End Sub
# ~& `/ n- s, e8 o7 v. D2 x0 U/ L+ S% P0 t; t7 ?6 V
        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult7 p' r! V8 ?3 S& Q
) l# J- e4 t! ]7 n. A) s$ X
            Dim fbd As FolderBrowserDialog
& k- m9 B( h5 W! J% B6 x: a: M0 d            Dim result As System.Windows.Forms.DialogResult
. L6 {% i* v4 \; |& x) U: W
1 h4 ^1 @+ l0 A7 b! x            fbd = New System.Windows.Forms.FolderBrowserDialog()
- r; Y3 ?  j6 G# P2 T            fbd.Description = "Select directory to check"- V, @* X3 ?7 M$ G" ]- Z
            fbd.ShowNewFolderButton = False% }5 Q# z; F! \" N
            ' start browsing at Desktop folder, uncomment for any other default directory  ]% k3 `3 |9 x/ Y$ \
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")3 u4 l! |( c5 C1 [9 _, [# J/ p3 m
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"
8 E& e7 f8 J$ g; o            ' fbd.SelectedPath = "c:\aaa\bbb"
, m) |7 ~, {7 ^" D7 D            result = fbd.ShowDialog()1 v) }: ^7 H* w* H! J
            foldername = fbd.SelectedPath
+ P4 F; M. J9 n: Q5 q            fbd.Dispose()" R. C6 @: N6 L, M% _# ^) A* |
            Return result# B4 H3 d! \1 z6 \

# ?; d% _! g) h5 Z# [) z6 ^9 x! f        End Function: t& P$ M, I, }: h
2 f, H3 L" l4 d& E( J
        Public Function GetUnloadOption(ByVal dummy As String) As Integer0 B+ o0 A- X4 I) P# e: V, K
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination* h# U/ X9 x( P) U6 F( D
        End Function; _" K- C. ~% N' _6 ]# I! b; {3 H
4 h8 Y2 C. Z9 `. G8 k
    End Class[/mw_shl_code], u7 P0 S( z, [* Z
上海点团信息科技有限公司,承接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 的 方法
& X# C  F$ K5 a; i0 F% Z  e
, T, q6 @/ m, T; V: _3 T/ A& X! y2 |; L" T/ S1 ~# s1 D
[mw_shl_code=c,true]int
2 {% R- j- b# }( X6 E) \        cnt = 0,7 h8 o/ E# I: B  G! g" ~$ \
        resp;
" S0 _5 o2 M. r2 C3 s* y    tag_t4 |3 r5 h: D7 ~- T7 R, A* [
        part;5 t* x& c# }- B# X% y/ B0 E2 f
    char4 l- Y6 ^5 W1 C4 e0 U" w$ T; L+ L
        dirspec[MAX_FSPEC_SIZE+1] = { "" },) g8 ]" |+ _; b$ @: t
        fname[MAX_FSPEC_SIZE+1],
- B+ J: D7 e4 d) m- v# s        part_name[MAX_FSPEC_SIZE+1];
& }& \3 k" U/ F; ?    UF_PART_load_status_t. D2 K' y  \# B7 ]1 y
        status;
  Q; p8 N' n) y3 H0 N( V
3 g4 \* `5 F# z; y! I: K    if (UF_CALL(UF_initialize())) return 1;% B4 t4 N0 z# v: F! U- c9 |
5 \( m5 {. y" C1 M$ k, Y
    while (printf("Enter directory path:\n") && gets(dirspec) &&$ R- o. L9 o4 F4 U5 \4 a, c
        strlen(dirspec))1 c7 f5 M& I9 _6 s  {
    {
2 |5 ~6 t% n5 O+ K; w6 c        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");
% ^- ^( L, H% @% P0 q        while ((resp = uc4518()) == 0); f2 l+ [: [, b' V3 v# X
        {
8 s, \9 J! a# C9 ~1 |5 j# p! R            UF_CALL(uc4600(fname));
2 x) B7 ?+ |' V/ W6 M- S# W            UF_CALL(uc4575(dirspec, 2, fname, part_name));1 i; S& O0 ]' G& C
$ L. M6 B8 Y( a- F0 S
            ECHO( "%d.  %s\n", ++cnt, part_name);; P+ m# m+ x* _$ U+ m) I0 ]5 n4 M, U; l
  ^9 S$ V( \) H9 C; B3 d" G. x# J) I
            UF_CALL(UF_PART_open(part_name, &part, &status));5 ~% H" H4 R9 q( i2 d
            if (status.n_parts > 0) report_load_status(&status);! b3 j3 q, n4 u) v- ?: o$ a2 O+ U" x
            if (!status.failed)
/ ?% |7 i+ {9 @5 N8 \            {
" t+ d# ?% F. W+ M9 A& s- ]6 v                do_it();
+ y' ^, U6 p$ v( v! Y2 W" p" N                UF_PART_close_all();
6 A- l0 ]$ j( z3 `$ R3 T2 e' [/ ]; g            }4 d* y& O+ v9 w0 a
        }
! {- {; S+ M! C2 E  ~7 d$ b, W) s/ M# H( D% r1 {2 v6 Y- o
        UF_CALL(uc4548());
: x' A9 B9 x! @# R; D" S
) ^9 @- W5 e. s        ECHO("\nProcessed %d parts.\n", cnt);
4 o) \3 ]/ |3 k% ~    }[/mw_shl_code]
* H! `' i! g# l1 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二次开发专题模块培训报名开始啦

    我知道了