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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线& T4 f7 C+ ^$ ]4 Q, J- i1 c' S
0 V7 P6 N" [, p
[mw_shl_code=c,true]
) S7 y5 i4 K# U        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();6 ^8 y  V" s( N: x6 u5 W% g+ t: P
        CATDocument *pDoc = pEditor->GetDocument();' R7 E; B6 l& v- z! [( J/ y1 H
        CATIContainerOfDocument_var spConOfDoc = pDoc;0 S  S% R3 e8 }1 d
        if (spConOfDoc == NULL_var)
$ ]! a  o0 s2 F) J        {3 s+ U9 R& f8 }% Q, L* L8 {3 L; ]
                popUpNotifyDialog("No spConainer of document");2 O) Q- k( O  I' s
        }
6 `$ O* N& T* _& ?; I        CATIContainer *pCon = NULL;# X/ c$ n1 _% O0 q
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
( N- N) u' N4 P5 n; l: W- `; U
0 [" X4 b& K9 T2 J# p  N: o6 }" ^        //get GSM factory
. s; C0 Z7 O* k' j! y
0 l0 ^1 T0 u0 T- Y4 I2 M    CATMathPoint p1,p2;
8 h* y! {  m' j/ m) ?        p1.SetCoord(0,0,0);5 S+ l4 z) j, Z5 H2 \1 B* `
        p2.SetCoord(10,10,10);% a+ [. J6 G7 m
        2 b5 u& W2 x9 o% @. \/ D* e3 }
5 \: t0 Q* m- d& Y4 [" }
     CATIGSMFactory_var spGSMFactory = pCon;
, m% {9 p( N; t% `8 A- u  / X- f2 _. j) n
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");) m" j# R. W  e7 Q/ _! ?) i  z
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
9 \. I7 _5 I5 O7 J2 f7 v, s     
& m* L  Q8 o. E# S2 k9 K  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);7 S% b+ k& `$ B. d& J0 A

, N/ y; h  y. X: ~# V. G- G  CATISpecObject_var spSpecObject = spLine;' a: g0 Q3 u' }3 w& l1 k
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;. r- X+ q( F7 @: ^6 E: T
4 d+ d/ u& ~, M1 P0 b& s6 e
  spGSMProceduralView->InsertInProceduralView();% o) e7 r0 K8 r( j+ c

% B2 w. j# n' s. N. h  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();

% z- T8 I4 u3 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二次开发专题模块培训报名开始啦

    我知道了