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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线3 C- h' m7 t+ S5 u* X* w
3 q2 v: ~/ A- r* f5 O  d1 |+ D
[mw_shl_code=c,true]
1 E5 ?+ S7 }5 k. E1 |, N0 H( f        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();
0 J5 u2 @; f/ \' w% @+ n8 H6 q3 I        CATDocument *pDoc = pEditor->GetDocument();
5 H$ \' L9 v7 Z4 R; n        CATIContainerOfDocument_var spConOfDoc = pDoc;5 \4 v) W% ^; f6 j5 z7 e
        if (spConOfDoc == NULL_var)! O3 V; F# o) K& d: k+ Z+ T; @) Q+ Q
        {
# P0 f& k( P! ]$ {- d6 ?  g                popUpNotifyDialog("No spConainer of document");
! J2 ]: [) J5 K' v        }( c+ E' k3 |% U+ y
        CATIContainer *pCon = NULL;
' m& Z$ A3 C8 K  ?        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);4 ~. _) ~, s* i0 m% o# z

8 x9 _% O' O: m* [4 ^8 N. V        //get GSM factory
4 K$ ], u* f% y: I0 B* j1 @. L. n. T; t* n2 R/ }4 A
    CATMathPoint p1,p2;
$ V* e1 B2 w0 k( T' ~* L2 y# e        p1.SetCoord(0,0,0);, t! ?, `8 K' h
        p2.SetCoord(10,10,10);
3 h) J! v5 X8 ~5 t3 R        0 w- r# c; n& `3 _9 |% K9 g& Q% ]

; u+ \4 C% d( q& L     CATIGSMFactory_var spGSMFactory = pCon;7 m$ @3 Q1 d8 _% S' k( h
  9 m7 n; }0 \1 h+ C2 i# l% T
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");1 V2 d" {+ f4 G2 v4 p. @+ `
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
3 g* G! Z/ P' C; b  w/ |$ K/ t+ D     
: C5 _( y0 e4 g) h/ i  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);/ |" k4 r5 G6 D  N- J3 S9 f
+ M# L1 x9 t1 c4 w) l; e* x$ |
  CATISpecObject_var spSpecObject = spLine;
/ f4 O! o2 s- S# B7 j; P$ q  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
7 Q; U" d7 H8 C/ }; e
" J5 Z& E, l4 n; k/ P' u  spGSMProceduralView->InsertInProceduralView();
* z  T0 h0 g% H+ f2 D: m8 Z  h: `! t3 h5 g( z# `# Y( g7 s  Z: U
  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();

  r9 N0 [: A# R5 t
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了