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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线+ d! r7 g: K+ A# p
0 O4 Y& Q" Y8 o( s7 l! m% R& ~
[mw_shl_code=c,true]
& }! A$ J) k' H& ~" {        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();
1 v5 K2 J7 {! y7 A. i        CATDocument *pDoc = pEditor->GetDocument();% P  w! n; M( J: @  P
        CATIContainerOfDocument_var spConOfDoc = pDoc;
/ j$ p' x7 N& b# z& _8 s+ b0 m% }        if (spConOfDoc == NULL_var)
8 d% r- s* ~  R/ u        {, O  t7 [5 f' B0 N. Y
                popUpNotifyDialog("No spConainer of document");0 ?) j1 r$ X4 f7 ^# R
        }
% I3 A1 `/ J, x; e; a: T6 p/ k        CATIContainer *pCon = NULL;! }- O9 X1 j; r+ Z: e
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
# v& n5 `  L+ i
. @% O; a7 M* B5 W& O* L  m* Z4 J        //get GSM factory9 Z9 ~6 H  g0 a% D5 W
' o4 y' S( M( ?) W( ^9 t3 u5 T$ q9 I
    CATMathPoint p1,p2;0 E; {# P( A3 K# M& n, u
        p1.SetCoord(0,0,0);% [3 y2 C7 \# `; G% I
        p2.SetCoord(10,10,10);
1 w) n2 N8 s: B9 P7 t/ t7 U        3 [: z% J: X! n5 g" Z

9 r6 b; u3 @) n* {$ K     CATIGSMFactory_var spGSMFactory = pCon;3 |1 Y" m7 X9 J  D# U9 ?' b
  ) p; R6 z$ X  P5 p
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");3 p* K% T0 ~5 I! C+ H  }
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
+ ^& a5 a: |$ ?* m1 p     + y3 L; g; ~5 V: Q7 ?
  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
: c! f. w3 K, e7 m7 V4 Y$ M; s) R
  ~: W( t3 t' M6 c* Y8 @* }  CATISpecObject_var spSpecObject = spLine;4 W. L/ k$ s3 ?  v, Y
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
  m3 C, l0 `$ i$ D7 U
& u) E' W( g' r9 d1 ^  spGSMProceduralView->InsertInProceduralView();( F2 t  ^- ~+ _9 r$ ^
4 ~( s& o* p# R! R) T" f
  spSpecObject->Update();[/mw_shl_code]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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();
7 P: k5 E9 t$ m4 ^  H, c1 _
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了