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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
CATIA二次开发入门教程---19 创建一条线
1 R1 V6 u4 G# g8 n, C) ~5 A
1 I2 Z& A1 A5 I; A9 q" q8 U[mw_shl_code=c,true]1 c8 J' G4 x# a
        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();0 g0 P* U1 _# j3 u8 B8 P& ?* S
        CATDocument *pDoc = pEditor->GetDocument();. I. \: T4 L7 ?) ?% d' _0 |
        CATIContainerOfDocument_var spConOfDoc = pDoc;
) A3 M: }2 d6 C4 }  e        if (spConOfDoc == NULL_var)# [: B& u3 y5 l4 O8 ~7 B: R* m: {
        {
1 K4 z0 H8 m8 O0 J- G# }                popUpNotifyDialog("No spConainer of document");
  @5 x% N6 I- W        }4 j. s) K6 d: T& I
        CATIContainer *pCon = NULL;
6 ?( _, S# _3 ?* _( d5 w- i& Q0 n% ^        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
* e, U0 ?8 \' w2 ^0 D' v
* S  |* J4 V5 n, c: D2 e" d        //get GSM factory3 e3 e9 ?3 d) g" Z' c

; [& p4 y# D% v$ a1 [% L4 U% q1 F    CATMathPoint p1,p2;
" h% O$ r% ]7 C% \        p1.SetCoord(0,0,0);, f* o* H6 n+ A9 D
        p2.SetCoord(10,10,10);
2 P0 Q" s# E; C- b; n/ X- n       
1 Y+ K* ]- s* d% a3 u$ p
6 m- ~+ I) ]* N4 w/ a     CATIGSMFactory_var spGSMFactory = pCon;* l9 w: l7 z7 n7 R" D
  
) z$ t3 y$ i. h) R% [# q# [, W         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");& c' N7 u9 @, `" U
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");. K6 B" P' \5 l7 H; y. G/ X
     
/ g3 M- X/ s/ l0 l" k6 ^  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);; w# {; N+ `7 |0 m
3 [4 x  {, v7 l; @. K1 \! {1 R
  CATISpecObject_var spSpecObject = spLine;, Q& q, A$ @# ~( [% A& u! }' {
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;0 H( x% [0 l9 [
8 F; K% j+ T7 c# l
  spGSMProceduralView->InsertInProceduralView();
, c2 s" ?1 q4 p. [& [; [! Y
( r1 Y3 b" ^2 p8 \& n  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之家站长

积分
82172
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();
' Z" z8 ?! C5 M! e2 M7 u  j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了