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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
2 ]1 o1 B3 C7 D. g: d. C
" x5 D' k6 ^- M9 N7 m/ ~[mw_shl_code=c,true]
" w) J. ?4 S% i. z* l7 K        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();$ F1 O9 S3 k4 a% p% q
        CATDocument *pDoc = pEditor->GetDocument();
- T: ^! K& W8 O1 n0 r9 m( f$ b" C        CATIContainerOfDocument_var spConOfDoc = pDoc;+ R# N$ ~# i, Q* x8 {
        if (spConOfDoc == NULL_var)
$ }5 R' i- ^0 U; V3 _, l5 ]        {
5 t$ d" F7 y2 e1 T) O! |5 X                popUpNotifyDialog("No spConainer of document");
6 P1 S& o# f3 e2 r, s* V' F& H        }  t) L  F( x/ ]% s
        CATIContainer *pCon = NULL;8 P: @2 K( a/ J) T4 K
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);& c. h6 M# A* x: t- V  p$ n5 F

6 u$ J' @7 v6 x        //get GSM factory& T) x) {7 S* N0 C2 l# Q
7 I! A& r4 u. {5 w% ?
    CATMathPoint p1,p2;2 r3 ~2 {5 N) A: Y
        p1.SetCoord(0,0,0);
, n/ K1 {6 r9 `( Q, ?        p2.SetCoord(10,10,10);
7 C; ?8 e7 ~' o        * o# B' D' p( y2 ~8 `9 p1 h5 R
# r' W. D5 N! t; {2 g
     CATIGSMFactory_var spGSMFactory = pCon;
9 r  K6 S! @& J* g4 C  * v  d1 w" z) A6 S# x/ w6 R1 g" N3 S
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");
  T% U- E/ R) G/ W1 a5 _         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
0 ]9 C4 J7 a2 }' \" @     
9 |1 Y  \' @, y) p8 |$ d  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);2 Q1 d! x) O2 m' i9 j

: s4 Q2 _6 K, b2 X+ ]1 [  CATISpecObject_var spSpecObject = spLine;' H3 x- k7 v: {' u  @2 m- p/ m, w
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
0 H4 x* o+ o2 l" d) A  K) ?1 B1 x4 `6 X/ g, J
  spGSMProceduralView->InsertInProceduralView();5 `! U# m. x: z
3 B% B0 O0 Y: L, y6 n, M! ^
  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();
  ^- y3 C8 i: z' e' g4 o$ L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了