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

[资料] CATIA二次开发入门教程---19 创建一条线

[复制链接]

2017-12-22 11:06:27 3740 1

admin 发表于 2017-12-22 11:05:33 |阅读模式

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
3 Y, q$ f5 `& U* e# s$ ?' o1 \0 |- \) x* }/ X
[mw_shl_code=c,true]
% [" D) n. H; q        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();
4 l% I& p- g% C2 v        CATDocument *pDoc = pEditor->GetDocument();4 X1 g+ T9 {5 i* M, i3 D3 R
        CATIContainerOfDocument_var spConOfDoc = pDoc;; A( ]* Q( z& A3 }/ V
        if (spConOfDoc == NULL_var)) K3 X" W. p* X! W6 ?
        {
# k. N* p' `; t6 I                popUpNotifyDialog("No spConainer of document");; B  ]1 [% d4 t$ v0 k, I* N/ o
        }* p& }- T  x+ g
        CATIContainer *pCon = NULL;0 ~8 }( r0 m; o5 ]
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
6 q; o1 e! m+ d/ D0 k3 d
4 V% ~4 e5 V7 y* e4 t1 F        //get GSM factory
! Y! \0 C# X7 M0 K" Y$ U% R4 k9 V$ }5 E3 h9 k- G. d6 V
    CATMathPoint p1,p2;
$ \$ O/ [2 {1 I. ]% N( g        p1.SetCoord(0,0,0);; ]' {) R- a- U! a. M
        p2.SetCoord(10,10,10);
8 d0 L2 t& H5 M) B# ]( C9 L       
9 u0 X  ?# r5 b+ D; y1 Y: \+ Q" ]0 }  U
     CATIGSMFactory_var spGSMFactory = pCon;3 a; ?( z( R$ v
  0 s; |$ K7 u# o2 E- A
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");3 p$ X) `" m* q; z
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");& j" F% r6 R; Y1 W* T
     * ?6 M. g; W$ F( Q* O. R7 B1 y
  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
, l4 t6 M6 e6 B( B7 E' S; i3 i
" \  @( S2 D- q! l9 j0 O5 x* P6 j6 P  CATISpecObject_var spSpecObject = spLine;- U, O) u* q3 y! e# Q
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;, m  ^) n/ d! {
0 U; N/ M1 w, {, `1 j1 p" F) F5 a; p
  spGSMProceduralView->InsertInProceduralView();% c9 \/ y$ P$ Z! k: I  a

  Z# ]' q. U2 U. b: D3 ~  spSpecObject->Update();[/mw_shl_code]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

admin 发表于 2017-12-22 11:06:27

admin 沙发

2017-12-22 11:06:27

在此基础上,创建线的步骤如下:
1)创建两个点并将其转换为CATISpecObjects。
double Coords[3];
Coords[0] = 0;
Coords[1] = 0;
Coords[2] = 0;
CATIGSMPoint_var spPoint1 = spGSMFactory->CreatePoint(Coords); CATISpecObject_var spSpecPoint1 = spPoint1;                  
Coords[0] = 8;
Coords[1] = 6;
Coords[2] = 7;
CATIGSMPoint_var spPoint2 = spGSMFactory->CreatePoint(Coords);
CATISpecObject_var spSpecPoint2 = spPoint2;
2) 利用创建的点创建一条线,并将其转换为CATISpecObject
CATISpecObject_var  spSupport = NULL_var;
CATIGSMLinePtPt_var spLine1 = spGSMFactory->CreateLine(spSpecPoint1, spSpecPoint2, spSupport);
CATISpecObject_var spSpecLine1 = spLine1;
3) 更新创建的线,并将其添加到视图中。
spSpecLine1->Update();
CATIGSMProceduralView_var spCurObj = spLine1;
spCurObj->InsertInProceduralView();

5 \% F/ T! H# _3 b5 E' M2 W0 r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了