PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

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

  [复制链接]

2019-4-17 08:00:53 2276 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 函数
! W6 m. ?' b! j; O8 ^* k- N$ m5 B! z, u. U& A  h7 U

9 X" L8 l& M- [( l8 ~[mw_shl_code=csharp,true]  Public Class list_all_parts_in_directory- n- S3 n  j2 t+ H3 Q  q2 [3 F
, u7 F# x! a% G2 {( |) f3 B
        Public Shared Sub Main()0 Z% {& P* |* [
4 l  W  P' k4 W4 H# }: x6 ^' A
            Dim theSession As Session = Session.GetSession()5 \. a! t  A. Z0 f$ {( d; E
            Dim lw As ListingWindow = theSession.ListingWindow()8 R1 x5 Q3 \* C, a' |" b# a
; o* s4 }0 a  {5 ~# o
            Dim foldername As String = "") K5 x. ^* b2 M2 a; x5 S* Y
            lw.Open()
2 N+ w( @. Z. a2 v            If (select_directory(foldername) <> DialogResult.OK) Then
" `/ |1 I: z& S+ i$ ?                lw.WriteLine("Input canceled...exit" & vbCrLf)
8 R; T9 ?' H" ^* o9 r4 V7 r2 c                Return! g. i3 o. E% S. M0 f1 M
            End If! Q# p- o6 e# Z: s! H+ E8 S7 ?/ b
- m; `' C! \, ^( d- Z. A, e! v9 [
            Dim dir As DirectoryInfo = New DirectoryInfo(foldername)
# l$ P/ H1 i/ b( H  ^            Dim fsi As FileSystemInfo( y7 Q+ O1 [# [3 \; S) C; a

3 j6 m' |) W$ p% b  |+ B            lw.Open()
+ ?. [6 S1 z9 g            lw.WriteLine("Parts in directory: " _
) B8 p1 }- Q$ t, {. @  k) h+ g              & Path.GetFullPath(dir.ToString()) & vbCrLf)
) j0 t; J! d- B; f- b( |0 W  ^  \; B9 u3 m! ~7 _$ t1 d
            For Each fsi In dir.GetFileSystemInfos()% t: O# ~& i# M% ~, N; i2 ]
                If (TypeOf fsi Is FileInfo And fsi.Extension.Contains("prt")) Then; d! A3 ]" t  E! E/ X
                    Dim f As FileInfo = CType(fsi, FileInfo)) Q; ~$ r8 `) u/ g
                    Dim size As Long = f.Length7 w$ L5 X. Z; A4 s+ I
                    lw.WriteLine(f.Name & " " & size & "Bytes" & vbCrLf)
9 \$ w* `/ @& O) n                End If! C" U) ]9 o! M6 \) ]
            Next fsi
; s2 O5 ^  @! v- P1 K4 m) `; A5 K  V2 \* H6 A
        End Sub
- t/ f( J: B2 Z3 f' {- T
! m; f% r  D6 f5 e        Public Shared Function select_directory(ByRef foldername) As System.Windows.Forms.DialogResult
8 M4 ?, @1 B; M$ }! V: `4 G
, @( ]" k8 \- M            Dim fbd As FolderBrowserDialog; o4 D9 V1 t7 ~8 V$ O7 V
            Dim result As System.Windows.Forms.DialogResult
+ m& ~7 w3 x% v/ `6 T, {
- ?7 b, K) x& O8 w) j$ Z: v& D            fbd = New System.Windows.Forms.FolderBrowserDialog()/ }/ t" E! z' `0 r5 T! o
            fbd.Description = "Select directory to check"* C& N$ H5 p7 R! Z1 F
            fbd.ShowNewFolderButton = False
! a5 G( M4 B8 `/ o            ' start browsing at Desktop folder, uncomment for any other default directory" z. ], R2 O/ E4 M, h& ]3 \
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR")* p+ t# M. i' E  m, j3 x- Z
            ' fbd.SelectedPath = GetEnvironmentVariable("UGII_BASE_DIR") + "\Moldwizard"3 H( @) w, y! a  s/ ~- ^
            ' fbd.SelectedPath = "c:\aaa\bbb"# v0 R2 o9 l6 J  f
            result = fbd.ShowDialog()2 Q( j9 N/ x, a6 a0 X& }
            foldername = fbd.SelectedPath6 {3 q* i5 q- a3 N% Q
            fbd.Dispose()
! Z' ~# A$ N. Q" @; H            Return result' U2 W3 D9 \3 W. [7 p

. I6 Y) C8 e& \/ ]. u4 b        End Function, G, h* I1 P0 F: a+ w
/ T: I( e$ G' @, I- T- ]8 g' F0 s
        Public Function GetUnloadOption(ByVal dummy As String) As Integer6 m2 y, S$ S) E% l+ C
            GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination
6 h+ X1 w  f* j' f        End Function) t* O. D1 g8 n+ @- l+ Y

4 i4 [* f8 O& \% H9 Y* j    End Class[/mw_shl_code]6 |& E, ~7 q- i* a
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2019-4-17 08:00:53

admin 板凳

2019-4-17 08:00:53

ufun 的 方法
- u) h8 P, N! _$ m2 [( t; l* A3 e" V* z
3 N& `! D1 l5 l! D: ?0 ]
[mw_shl_code=c,true]int7 v2 E( l: p: z( v2 r
        cnt = 0,
$ l' @7 o2 `. l: f; r: ]        resp;3 n3 z( e6 h3 B# q+ X6 f: p: O* P+ |
    tag_t
  j+ A* V4 J# C% v2 E        part;
5 t, n* W( d5 z9 G    char" t, _' T0 {) d2 Q* S4 Z, j
        dirspec[MAX_FSPEC_SIZE+1] = { "" },
8 f9 m  R8 i. f# E! h! v# B        fname[MAX_FSPEC_SIZE+1],
+ c$ U$ v7 f4 W3 A        part_name[MAX_FSPEC_SIZE+1];- ]" I% C9 ]& Q- N- D
    UF_PART_load_status_t
' @& W' ^; f  v* L2 S( @3 M        status;
% I( i4 `; y, t3 H* d* I3 Y
- N6 z8 t+ l7 Y5 K6 z( U' U    if (UF_CALL(UF_initialize())) return 1;+ g6 \* j' s9 a

" R: y- b5 ]9 i% r9 u    while (printf("Enter directory path:\n") && gets(dirspec) &&; O( G7 L! `3 j- I
        strlen(dirspec))/ z" r& h) C. z6 f
    {' j' s* M& ~$ l4 W
        uc4508(dirspec, (1<<13)|(1<<11), 0, "*.prt");5 g0 O+ V) o% G: h
        while ((resp = uc4518()) == 0)
0 H+ C! g/ A: }- Z        {* R. u2 i* Y! o' m2 S( h6 e+ _
            UF_CALL(uc4600(fname));
8 ]* u4 h3 r- a) F) S! T7 D            UF_CALL(uc4575(dirspec, 2, fname, part_name));# H) v' q5 h3 S  @" e+ c: q9 K. g

  _/ V" M; M: I6 S9 P3 T6 B            ECHO( "%d.  %s\n", ++cnt, part_name);
& O8 F, v( l7 x* b8 w, d6 t) h( X2 @
; V" u* \# }; u: j! y) a/ _- |            UF_CALL(UF_PART_open(part_name, &part, &status));
! O( Z) O, a: {( k' J, U            if (status.n_parts > 0) report_load_status(&status);
: K( A9 f* v/ h0 P6 L' f# R            if (!status.failed)
' u$ @) g/ {7 V+ _. `            {
' T/ B+ g6 x( {/ n  i; f                do_it();/ G' w, d, P9 e1 I
                UF_PART_close_all();6 v; |6 }) g0 M7 n5 z7 d
            }
/ l0 q  G; j) w" ]        }8 P* z* U2 |% }! F
/ [& ^: U8 t+ p9 D
        UF_CALL(uc4548());
. K% {- Q0 ]$ }' w
. r/ c& H% r3 N  j2 b% \        ECHO("\nProcessed %d parts.\n", cnt);# m, |0 |' @$ T+ m( q+ z
    }[/mw_shl_code]+ c$ G" b) h2 v6 q1 M
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了