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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
7 u+ }" P6 a1 Q% z% @/ B$ A. @) g+ C: K% F' I, Q. M
[mw_shl_code=c,true]
2 b4 z$ G' I$ B5 y( a- @5 A        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();
. ^" A, l, a! y! w2 E+ h        CATDocument *pDoc = pEditor->GetDocument();
( K, q6 D) s' u4 p. f        CATIContainerOfDocument_var spConOfDoc = pDoc;
  G9 R8 Z0 M1 Y, ]* @2 U/ R        if (spConOfDoc == NULL_var)6 H& M8 J. Y! z% a% i; F2 I3 @  M
        {
' N: P: q) {5 F+ K                popUpNotifyDialog("No spConainer of document");3 Q$ {" }+ j4 Q; q( K* u
        }$ Z. m* _0 K- Y2 w& f3 ~# }2 F
        CATIContainer *pCon = NULL;
1 l9 w# _5 S. ~0 R5 O, x0 _        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);& D' R# N& J5 R% F! x/ z. ]1 v
& g+ R6 v3 M( Y2 k* }
        //get GSM factory  v& |1 E6 r2 T

, A3 Q: P* w( u' H% W! o! U$ k, O0 |    CATMathPoint p1,p2;
2 s8 Q6 ^3 q9 K. u0 ]' e& [        p1.SetCoord(0,0,0);0 m- N3 a! H( x  }9 T
        p2.SetCoord(10,10,10);
; J, j0 _$ H( i, O8 n+ ~       
9 W2 s* ?% ?! Q' y2 c( {" b
4 D/ G- m8 s* [9 L* |$ d4 \6 h  j- @     CATIGSMFactory_var spGSMFactory = pCon;
1 i6 {" @. c- I% }  
1 q2 J. T# D7 _8 _         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");' ?7 s  X% C, k4 _5 E: O: f; S5 g
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
, x  E4 x- D3 G9 O) P& O! c- V     
& S4 |# ?7 a- y( F9 w% j  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
. t! q& J( ~4 g- H  Q. Y$ B
2 w# f2 r! V( Z7 g5 J0 \! d  CATISpecObject_var spSpecObject = spLine;
  \' V( Q+ Y  y) V3 g5 c  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;0 ^: w8 O/ m& b0 x2 J
' E) m/ Q5 o4 a0 n+ h
  spGSMProceduralView->InsertInProceduralView();
; c7 a* _1 r5 K" n. ?0 L$ u+ u& A2 k: b: Z( \) ~% T
  spSpecObject->Update();[/mw_shl_code]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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();
+ D) O! J# t# w/ `$ U$ |2 D- k
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了