PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
6 f! ^) ^' m; O3 F; D4 B8 p. Z1 D* i4 g3 Z
[mw_shl_code=c,true]
% t' b% U2 S9 ^/ ?5 ~5 X8 |        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();0 b' F+ ?5 v1 s1 A$ x
        CATDocument *pDoc = pEditor->GetDocument();) x, h8 m) H5 ^2 L9 n
        CATIContainerOfDocument_var spConOfDoc = pDoc;
4 I. w( H% e, b3 T        if (spConOfDoc == NULL_var)
* O, K2 y; N/ F$ N* Q* B        {) v; x+ P0 F  }. x5 w) E* s: y) j
                popUpNotifyDialog("No spConainer of document");
8 x) h. s' G' l4 r$ c        }
$ t( N& R4 f; B, P        CATIContainer *pCon = NULL;
: [3 m- O! y) Z( P& h1 O        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
4 ]2 t, D* g/ f) P) g
  v: ]7 _/ L; L4 s2 f/ G: }* w        //get GSM factory
1 g8 V/ J. T$ s5 z+ }
! `9 g. c+ s* x" ~, r    CATMathPoint p1,p2;
( I  f' W; l( i/ ?/ z& I( d        p1.SetCoord(0,0,0);
( K) b: j9 P( F( Z9 }: @* s* w( y        p2.SetCoord(10,10,10);
! N, ]8 a" z# N2 A        1 c8 j+ w: D' Q/ M4 \6 D& j

+ @& m! S5 b7 \3 C0 R5 [3 \- ]     CATIGSMFactory_var spGSMFactory = pCon;( ~* F: K% p! N* H) e
  : d2 c+ j) |' x! v8 X7 h
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");
7 D9 c- i  c4 u' D7 m5 l  p         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");9 `4 |6 s4 y7 p
     " r: W6 N' `" H, D
  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);( m; s5 L" @1 R: @$ C

% R' L7 z1 P7 J* A. {  CATISpecObject_var spSpecObject = spLine;" E) W8 m& ]; Q, s( E1 P$ v* @
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
& e7 B+ ^& `* X* q6 H0 X
  A9 a/ |" ~% Q/ C# h  H& L9 I" O5 w5 v  spGSMProceduralView->InsertInProceduralView();
% ~4 r3 H3 U( ^3 z. n  |( Y+ N( m* @. a$ q! v
  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();

0 E8 F0 r, p' o  a/ t! P# Q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了