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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
* z1 i/ A2 N! o% j( B) P7 C
% K; @, y$ ]; h: Q[mw_shl_code=c,true]
; g  k9 |1 r$ p( F- W7 |; B        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();( a/ o+ d5 a  P+ R- e: I
        CATDocument *pDoc = pEditor->GetDocument();! x7 u1 F2 |9 }7 M" ]0 p6 `* [* X
        CATIContainerOfDocument_var spConOfDoc = pDoc;
: j/ r. s: z9 J) a        if (spConOfDoc == NULL_var)
' _( S1 [/ z% k5 T  G4 |0 [/ p        {3 F0 _* ]3 A6 {, W4 e& k" ?
                popUpNotifyDialog("No spConainer of document");
1 E- |, }8 y# t( ^5 l, Y/ j        }
( S& V4 w3 x* H* x! m- j6 g  p. W        CATIContainer *pCon = NULL;
+ d6 g5 K# n4 m; d8 f' t: a        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);  c. z9 ^5 Z0 Q: N0 T, e# H
( T. Q% X' K: Z  t8 N7 e
        //get GSM factory- b( C+ h$ \) ]9 d5 ?5 Q' u/ E( d

1 b5 G: k) e  d: U$ r    CATMathPoint p1,p2;- c+ c  r* n# t$ O
        p1.SetCoord(0,0,0);
3 I; z- W# l2 _8 N& Y3 w        p2.SetCoord(10,10,10);
5 w4 m/ |0 ?. h$ x# h  m        8 O" n% R% F' I# l* ^& |
$ G) R' n: `* s  N5 b# p* W% R
     CATIGSMFactory_var spGSMFactory = pCon;# E3 V, z* v" T( V4 Z  }
  
' M- k2 B1 g7 K% l- m         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");
+ H* C% Y, ~4 z4 U/ H         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
' I2 X( K/ q; E- c# ]     
5 B6 }$ m' d& V" Q7 D$ B4 W  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);+ ?0 ]% A5 T$ g& o! U
4 m8 d$ F- M! a& j3 q% [( Z8 ~: z9 M
  CATISpecObject_var spSpecObject = spLine;
8 l/ X& {! |1 v8 `" i% c* R1 _  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
! Z; K; c% D+ X7 P5 m
$ @* d1 t# z- |7 T  spGSMProceduralView->InsertInProceduralView();/ J9 ]- Y+ z2 N5 H8 w* X
- J; k' s, C3 I! {7 v: q) u# D9 `
  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();
  i. Q. m$ k+ q' h) v' o8 W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了