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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
# F  Q" \% L0 w6 |, ~2 z' D; M/ o, l: O
[mw_shl_code=c,true]6 R2 W8 J, m2 I: p; m* ~9 H
        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();1 K3 M4 b+ h) o% n3 o! i1 H
        CATDocument *pDoc = pEditor->GetDocument();
% ^2 \( z7 G8 b% c3 D: s# }        CATIContainerOfDocument_var spConOfDoc = pDoc;% f- T; Y* ^0 j; y6 e8 {) _  J
        if (spConOfDoc == NULL_var)1 o- J# P' O  L/ {1 j
        {
) |+ X0 `$ o) P* o1 b  s5 Z                popUpNotifyDialog("No spConainer of document");
; S" D- X( C0 c4 z        }2 [: [& `7 Q4 I
        CATIContainer *pCon = NULL;
' w6 f/ E2 @# S- [$ z% R        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);7 }$ F+ i* q$ b& q, [
- M. t- s; ]0 O5 ?8 O
        //get GSM factory
# Z. C2 W  E) A! b0 z! d; ^3 C# G
, L, G8 y9 [5 ?0 U. L  M" J% Q( i    CATMathPoint p1,p2;$ p+ U* j6 W6 r( A
        p1.SetCoord(0,0,0);- k3 X0 _6 b( P$ W
        p2.SetCoord(10,10,10);
, o5 Q  ^5 p  p/ ^' I9 g% m8 ]       
: R; @" n% _* V; D: V  M2 d8 I6 O/ b4 C* o9 {
     CATIGSMFactory_var spGSMFactory = pCon;
6 O$ M0 _0 F( t0 C; x  u# J* S  $ U0 l# P$ l' o' R# h
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");# I' f' D7 m' t- h
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
7 i1 B; O* ^1 K2 e" G- B3 J     ( s. J' F; P* L
  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
0 N3 d. i* ]- V5 _% @6 n, w# G* q1 c" \  B" a2 e
  CATISpecObject_var spSpecObject = spLine;- D- N% K# g# m! D& v
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;- U, W# M" T7 j! E$ y* G
% r! ~6 t2 Z6 A* x8 H3 M
  spGSMProceduralView->InsertInProceduralView();8 z; Q' @7 l: q; b' {+ L- n
" b& \2 L$ j. F- h9 A; Z9 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();
; g4 ]4 I! z  D9 H+ B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了