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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线1 b' `. [) L; {( g

: i3 f% B" {9 k" y- A[mw_shl_code=c,true]
5 s0 p; j2 ~' C  X% j( b2 G        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();( A3 a/ F' X5 ]' [4 y
        CATDocument *pDoc = pEditor->GetDocument();9 i* K  \4 K, I" g+ B! k! p) j7 x
        CATIContainerOfDocument_var spConOfDoc = pDoc;
! P# ]& I$ O" i( Z9 ]        if (spConOfDoc == NULL_var), K5 B9 e- H% t. O- u  _3 g  w1 C
        {
+ ]$ X6 [( g: l4 @# u                popUpNotifyDialog("No spConainer of document");5 h3 h; |  R' b6 _. r7 z4 @
        }
' x: }/ K' F+ D) q& N" }; f8 c3 g8 }. J        CATIContainer *pCon = NULL;$ j' O4 Y- F7 x& [# ^; ]
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
9 c7 @, q- m  J: |6 P( ~! ?: l8 b( q4 T7 S7 |  o0 h0 S' f# R
        //get GSM factory
- g6 `0 i; g7 ?# O3 {9 m' e! l& Q& {: @/ E# l7 W# h4 H* Q' a
    CATMathPoint p1,p2;
5 i; r8 J2 h, W" u& }8 |        p1.SetCoord(0,0,0);2 `9 _2 R3 J( G
        p2.SetCoord(10,10,10);
$ z. d7 p1 |: Q8 _        $ _' r5 a% x3 |6 Z2 b
( I! Z0 V. Q# f. ]$ K
     CATIGSMFactory_var spGSMFactory = pCon;
7 o  l) }& ^( U  & E5 Z. o8 a$ Y, g! N# {( n
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");
4 J8 D( D3 U  b  u6 G         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");2 Q8 w6 [0 N) V. b
     ' A, R. ]1 d2 f$ M( n- L: P
  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
' a3 r* G: G- n/ k8 {
5 W% k4 V- s# B- y  CATISpecObject_var spSpecObject = spLine;
; H8 v& b7 e9 A* F1 n  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;- L9 x' W/ i- H/ K
- }1 ]6 F  A* o: }! p9 F
  spGSMProceduralView->InsertInProceduralView();
( [/ y8 ]( H0 L7 F- v
& G& m- L2 s4 d: n+ W" B  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();

" r! L* G* o4 |8 f3 {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了