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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
2 I$ l# T' V: e! z0 {) j( r) U; U
- s. V6 X" G' ~- T) v[mw_shl_code=c,true]
- b$ R0 L) U% z3 O* u        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();# h! r- e8 ~$ k  i+ l0 H3 J8 `
        CATDocument *pDoc = pEditor->GetDocument();! y7 w$ O4 W& G% M) q
        CATIContainerOfDocument_var spConOfDoc = pDoc;5 ?+ z. E4 `7 `- o0 H
        if (spConOfDoc == NULL_var); l* K8 h0 c2 _* d" m, w
        {: o8 j7 H. W, P( V1 y1 {8 I
                popUpNotifyDialog("No spConainer of document");. U" c. E: t+ ^$ J  X
        }/ [6 q* {4 F7 q; ~* \/ O' i
        CATIContainer *pCon = NULL;& A2 E/ A/ `$ t& W9 }2 @
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);4 Y9 C8 d. w1 x; P4 r& O+ {
# U2 k! {4 y0 U  U' Z
        //get GSM factory. u1 z! p+ V# F2 `* f* x) k6 i

* V! ~, `) x, U    CATMathPoint p1,p2;
9 X0 H4 ]9 J/ K: x+ Q        p1.SetCoord(0,0,0);5 ]2 R7 s8 X) w! i& Z' r+ F
        p2.SetCoord(10,10,10);( b$ T$ k* U9 ~5 E$ Q2 g
       
8 P$ n, a$ \0 _0 d
+ y2 H4 A/ Y0 u( w2 M     CATIGSMFactory_var spGSMFactory = pCon;
) ?. b+ E; {8 y# a0 s* x5 o2 Z  
- ~- Z: ^+ C+ [         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");
$ s, t. I7 c/ I' J$ H" T. k         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
0 {$ M" f5 K( |9 {4 a; s- b     % l/ R) B; ]; Y
  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
+ I4 Y# g7 w' S- C  r" {, X
5 |+ A  K# I) I$ B% S1 j. L  CATISpecObject_var spSpecObject = spLine;( T- k- B% R' t% I
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
7 p5 `4 P/ w: C1 B/ C4 G8 ?" K9 W  v2 _; t
  spGSMProceduralView->InsertInProceduralView();% z8 o* J# _* a9 s* v

2 m+ \; l" @* V  b+ m  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();
( ?6 a+ f! X# o3 h. I. V
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了