PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

[二次开发源码] NX二次开发源码分享: 通过命令行的方式写外部命令的方法

[复制链接]

2020-1-27 12:00:35 1394 0

admin 发表于 2020-1-27 12:00:35 |阅读模式

admin 楼主

2020-1-27 12:00:35

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
NX二次开发源码分享: 通过命令行的方式写外部命令的方法: x6 t8 h7 n$ I8 L
  j. l. U' |7 [2 j$ W, x7 H9 l
对于批量并行运行的命令,可能需要用到调用exe的方式去处理,我们可以通过NX提供的开发函数,快速完成带有参数的命令行方式开发。
* q5 m4 c4 R# n+ J# G" u( T
/ M3 d1 v% I* e6 ~8 `uc4624/uc4620 是含有名称的方式比如 , helloplmhome.exe -p=xxx -u=xxx -g=xxx
: ]% y* r2 `- \3 K. O. ruc4624/uc4621 是直接的方式,如果一个参数可以,多个的话不是太灵活,helloplmhome.ext xxx xxx xxx
7 |5 L: A4 P  M  q. v- u) v; Z) @+ B' h2 u8 X
# l* D/ j  t/ t. t
[mw_shl_code=cpp,true]void ECHOUsage()
1 W( k9 b) T1 ]- V+ D, ]5 A% w{. f* F/ D* x' n! U  w* e0 s3 Q
) C" [, ^0 L5 r
        ECHO("Usage: exportAssemblyUtility [-part=<part path>]\t - Specify the input part \n");
- X  U& Z8 T9 R. H% T        ECHO("[-prefix=<prefix name>]                         \t - Specify the prefix name \n");
: P* T$ ?, P+ @4 A        ECHO("[-postfix=<postfix name>]                       \t - Specify the postfix name \n");
; C: O( p: s. z: e% r& @  E/ ~- G        ECHO("[-exportoption=<export option name>]            \t - Specify the output option \n");! W: V3 t/ k; q9 @. Z- ]. v1 L+ ^
        ECHO("[-exportfolder=<output folder name>]            \t - Specify the export folder Path \n");
9 p% o; {" e! \        ECHO("[-h=<help>]                                     \t - print the help usage \n");* @) f3 M+ Q7 ?) p8 t
        ECHO("\n");/ C) J8 k2 T* [
}% p! J7 O7 L* l$ ]

: j: a; m  F0 @) p; h+ [int main( int argc, char *argv[] )6 K) c  M2 c8 j& v
{
$ a, {8 m, U: T        tag_t part;
/ G6 t8 e8 X4 t" S5 @/ |        char part_name[MAX_FSPEC_SIZE+1] = {0};0 {1 \- a6 F9 O2 T" h
        char prefix[MAX_FSPEC_SIZE+1] = {0};
! w5 b3 S% ?) m. f' g4 k        char postfix[MAX_FSPEC_SIZE+1] = {0};
4 D# W, W2 V/ c" S( d% f        char exportOption[133] = {0};) ~; ~. e, a7 g6 `+ l& [6 l$ [! }
        char exportPath[UF_CFI_MAX_PATH_NAME_SIZE] = {0};
  C* [, m( \/ m0 S        char helpStr[] = {0};
# `- C# {+ g' F/ A* k        logical: L* C+ z: y* Q0 a* _# S4 y
                nxmanager_mode;
, G. L& |: V  r, ^! k        char msg[1024];
) |* K& u- F5 i* e        UF_PART_load_status_t
; }: ^8 f" A, l* B% I$ x# q9 t                status;
$ S1 I* Q" m) f: {$ {% e        bool ispartok,isprefixok,ispostfixok,isoptionok,isfolderok = false;
9 K: h) V. ~# F3 `, K
0 z+ F  b/ p9 M  z2 ~' @2 ~        if (!UF_CALL(UF_initialize()))
. f2 w; O! g9 C& X        {* C0 b0 W9 [* Y4 b+ l: [' p- @
                UF_CALL(uc4624(0, argc, argv));1 {- u1 ^  E+ g2 A5 F
                UF_CALL(UF_TEXT_init_native_lang_support());
  f: a* t0 H* U                UF_CALL(UF_is_UGmanager_active(&nxmanager_mode));" I7 b; e" t$ t% Y% }7 Z6 O. `
            if (nxmanager_mode == true)
3 o' t  [& ~9 u  N' S$ q            {0 K( N$ J* J8 y* `: j/ J: N
                        ECHO("*** You are in NX Integration Environment ***\n ");1 ^, U" l5 ^1 m# w/ h" Z
            }3 o+ \# \7 r8 O  `6 c$ h7 q
                else
$ b- w+ ?6 r& A+ n9 d                {1 n) j- B: n9 x6 d& o1 }3 b
                        ECHO("*** You are in  Local NX Environment ***\n ");
7 Q2 J, _1 G8 u                }
+ E% x& Z. J' m: d  X5 N3 R$ f1 g  C/ c) `% Q4 m1 e
                ! H  w- q) }# Y3 m6 ^# {
        /*        for (int i = 0; i<argc;i++)  q% N4 p& {- H' [# b# `; x# L
                {, K- t% y  R6 t/ D& n' T$ a+ }3 U
                        printf("argv[%d] = %s\n",i, argv);1 e4 r/ h& W6 ~' `" B2 Z  m5 C7 F
                }*/
8 m# e0 _. |* ~                /*uc4621(prefix) == 1 is OPTIONAL */, h! U: `6 i" e) |# m; B

7 U8 m) O. x; ?" u, q
% A3 Q$ _6 p& f- K9 ?2 Y                if (uc4620("part",part_name) == 3) 2 N7 Z0 a. {& X
                {9 H+ i  A( C' X/ n: |# H
                        ispartok = true;
- I* U4 q# t  `                }
$ z8 v+ e; N9 W; I5 s- K                if (uc4620("prefix",prefix) == 3) # P9 T0 u+ V8 n
                {% B' o9 a- E/ p( ]6 n
                        isprefixok = true;& G9 x$ O% D7 x9 e( ]: W
                }
. }# U6 C# B  f& C/ y                if (uc4620("postfix",postfix) == 3)
' a8 U2 w0 S( v, o1 a; P- b4 E                {
$ O. u. F# R  V; S- C# V- l7 R                        ispostfixok = true;
4 j6 `' |, Z( D9 f2 F                }; `" L" N2 s8 f& f" [" B, C5 S
                if (uc4620("exportfolder",exportPath) == 3)
9 a; r6 g# \! Y) B* ], w                {
) y  t3 |- L1 p% o4 |& F3 o7 g                        isfolderok = true;
/ P$ ~  K, W: \2 G5 r  W0 j                }
% D: l0 h8 t0 l- d/ P4 Z! g                if (uc4620("exportoption",exportOption) == 3) # o# U! X3 w2 H7 J
                {# l1 J6 f+ p$ ?
                        isoptionok = true;- |3 f- h! [# ]# J, [
                }
4 n9 L; L0 f% j" w  q! @/ `                if (uc4620("h",helpStr) != 0)
, j) Y, S6 U' o                {
$ J9 j6 f- m% _/ |7 r! u                        ECHOUsage();
; k9 M, J  R, T# |5 \) X                        return 0;
' r' C% n- G2 |& o3 v7 ^                }
1 {! _- o$ `1 ~( d$ A$ {9 f% N0 ~; B. Z' p  `1 X( J

' p) ~1 n6 E; o. J+ m! g! J                if ( ispartok == true )
8 e4 V8 N2 B- e& h                {. d7 V* G& ?4 q- F% V, W) V
                        ECHO("===== The part exported and renamed as belows: =====\n ");. z4 e* O9 h" z9 k' Q' e5 A7 Y/ p
// your code, q7 A. O* `8 J; h9 _

! q) @. k) f( Z- u( r}
/ h. L) r6 G# K. q
) G# O4 P- i* O: y[/mw_shl_code]
/ Q4 e. M4 ?+ r6 V. @
% K; d: K3 t  Q  S! X
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了