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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线$ S# a0 v9 e  a5 a

( f9 t0 A8 I  \[mw_shl_code=c,true]) v  D6 D/ m+ ]  P7 G( Z
        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();- u0 Z' z% k6 Q2 p. C# p/ s2 ]
        CATDocument *pDoc = pEditor->GetDocument();1 N- m" f4 ?( D% d" \( {( T8 \
        CATIContainerOfDocument_var spConOfDoc = pDoc;/ v. t/ n  J2 B
        if (spConOfDoc == NULL_var)
6 C  q3 s) u  k0 t9 y        {. E) O8 S, q! f- }9 O
                popUpNotifyDialog("No spConainer of document");
$ C& S( M! t- @  a+ w, g, X        }
8 O/ O+ ^# Y- Y        CATIContainer *pCon = NULL;) i( S% c+ y# H  J
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
% K1 a: A  s6 v9 ?# f4 K5 w
6 j# I: r  h& |; ~! i3 @% w1 G        //get GSM factory0 q& N7 r8 C7 c  S  C) d4 ]8 E
5 _! i5 ^# W) H8 B
    CATMathPoint p1,p2;
9 W4 r0 x3 m/ n; h5 u+ Q: W        p1.SetCoord(0,0,0);. ?1 r( T* S. ?! Q; C' ]3 ?
        p2.SetCoord(10,10,10);, \) E- B+ j. x
        4 _8 d; S. Q$ s; W* U. ~/ p1 V, k, v
( C: R) Y/ v! G. W; m) ~
     CATIGSMFactory_var spGSMFactory = pCon;6 M$ J1 w1 t+ P* n$ X, z
  ' V' a" S. K3 w
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");3 z% r$ R- w8 I( G& e
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
9 q7 I( D+ A: P     
) d1 O/ `# q  l$ R  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);+ M. Y# I, S. ^

% C2 u. |7 L2 z9 p: G: E% H' z8 Q, o  CATISpecObject_var spSpecObject = spLine;
( o' C- C9 f" J; z  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
' O' h! ?: n' @, q' X2 M: J1 T9 y
/ D5 g" E; H  J, }) W0 G' V  spGSMProceduralView->InsertInProceduralView();
- w! C* Z( C2 Q: l/ r. b5 A$ O. p( J5 d0 T7 [1 J
  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();
! g8 S! R1 s# @8 I2 ]3 K( P8 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二次开发专题模块培训报名开始啦

    我知道了