PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2017-12-22 11:05:33 | 显示全部楼层 |阅读模式

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

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

x
CATIA二次开发入门教程---19 创建一条线
6 E' X# h4 ~) {1 [8 x" d" \) L, a% A) J7 |
[mw_shl_code=c,true]& M& Y2 }' n4 u/ q% F3 _0 |/ P  P
        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();
- @2 l- F$ M  K4 v* H" D: L$ R8 u' _        CATDocument *pDoc = pEditor->GetDocument();; d, j/ e0 q/ w$ H" y( o
        CATIContainerOfDocument_var spConOfDoc = pDoc;
- C; Y6 s+ l, d/ E; y& v        if (spConOfDoc == NULL_var)
. u  M% G  X2 S7 W6 A7 S        {! z& x/ j4 _. m4 K4 J) h
                popUpNotifyDialog("No spConainer of document");
! e+ [1 t( l6 g        }6 g! s& `0 M* z0 D* O" G
        CATIContainer *pCon = NULL;
; {  `, [, p* ]        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);7 Z7 a& o. ~' h* T# B9 d
  i5 A% p8 b5 C
        //get GSM factory( L& l% M1 q2 X9 X% a
8 K3 y# @3 @: D, q6 P
    CATMathPoint p1,p2;
6 d: y1 [1 O# e, o        p1.SetCoord(0,0,0);# l, u! b1 E( ^
        p2.SetCoord(10,10,10);- I3 N! _. X5 T
        6 l+ L3 S1 t: n0 c. J# l  E. x
3 ^* P' t( h( \' b' H8 t3 {
     CATIGSMFactory_var spGSMFactory = pCon;+ k; G1 y  c9 J+ T. d
  
- h# W. C, d- v         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");
0 ^2 ]4 `) o, g  \0 s         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");9 p7 {. m- c+ a  {! P# ]
     
. k  U$ Y, }. C5 ~! H  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
1 r6 j$ [  R  e- h7 G8 B* J% \. F) ^) g" r- @# \7 ?" W" a$ ~$ H
  CATISpecObject_var spSpecObject = spLine;
) k3 x% U9 ?/ K! S* }' U  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;* I" g# A! }9 O' S6 Q, w3 a) Y% d
4 B, B+ F/ m& N- ^
  spGSMProceduralView->InsertInProceduralView();
- A& K* U, ~7 C$ @8 R4 g# C
3 {/ \% l& B: |8 ~3 H8 t7 P  spSpecObject->Update();[/mw_shl_code]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
 楼主| 发表于 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();
3 ~/ g6 u, }4 @8 m% T9 d4 B( x. n
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了