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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
# K9 O3 F! J+ U" Q/ {4 @( `  j/ L3 q4 P" w1 f$ ~4 P( L; D! `
[mw_shl_code=c,true]
3 ~5 W3 j1 i& l2 z0 f2 m/ U" a        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();
( E# ]" K# D. ^+ y6 u, F0 R5 `( y        CATDocument *pDoc = pEditor->GetDocument();$ B9 K+ O( Y; {; q) E# Z1 t
        CATIContainerOfDocument_var spConOfDoc = pDoc;
1 g9 h, ]1 G; y9 h0 z1 \        if (spConOfDoc == NULL_var)
" ~$ W$ W' }6 j# ]        {' j$ s& m+ m; w
                popUpNotifyDialog("No spConainer of document");0 _2 P2 `" t/ M! G- y
        }
9 I( |0 ~! e" q, }        CATIContainer *pCon = NULL;! E  k# u5 n" t: K7 K: l0 q
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);. A: i4 e& _2 v, N0 b$ W2 V7 K- k

7 W% W7 M9 ^' M; }9 a, `        //get GSM factory, F' @, \5 M7 Y' B* e* `; B
; n1 t1 `3 g1 f, |3 ~
    CATMathPoint p1,p2;. A1 g1 r" |. I7 `* X" [
        p1.SetCoord(0,0,0);! ?1 D) U, @. g. C2 G1 S
        p2.SetCoord(10,10,10);
6 }6 p  c9 m9 H. K8 }% f$ M$ K       
% ]4 l: }' L* g9 K& |! @& B" L8 ~- D  v. c$ z" E; r0 J: c& ?( p9 G: Y1 J- e
     CATIGSMFactory_var spGSMFactory = pCon;
4 R% `# \7 s" R+ o2 W9 H( a6 Q  
1 f; C- p6 J& g7 w; A$ ^4 |         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");& K& s! _% L* p2 s% F  B: A1 i9 q
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");$ u9 O* c1 A# D$ E" Z
     
0 ~; f" O! U7 {4 n' r/ k3 N  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
; h5 ^$ E2 {0 c* k4 }9 L) D8 n1 v" z* D; B
  CATISpecObject_var spSpecObject = spLine;; b8 S3 m9 J+ S. {, V
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
7 T& X+ P. ?" a8 k: e% _6 J5 {, X' z5 h, T0 ?* `" Z
  spGSMProceduralView->InsertInProceduralView();
' g$ i5 M; u4 h' S! }; k& e( f$ c/ ^4 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

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();

  u' N1 r3 z6 u) ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了