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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
2 m! ^% i" r- A$ a
+ c  H( e  @8 D; K( l) j/ y' m[mw_shl_code=c,true]
1 V, W# B+ [+ ]& ?$ ~) K        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();6 j: [4 k: z8 K5 Y5 s8 T
        CATDocument *pDoc = pEditor->GetDocument();- ]" b; g% k6 H
        CATIContainerOfDocument_var spConOfDoc = pDoc;
# ~; b! j% E0 P$ r% d3 J) D/ r- y        if (spConOfDoc == NULL_var)
0 b  K; o, v6 c& j4 Y: [4 F        {
8 g& j. h. C6 ^$ W. g+ m$ F, p                popUpNotifyDialog("No spConainer of document");/ ], N8 C$ B2 j5 M" p4 N9 a$ _
        }
7 x0 W+ s( e& h" D0 n1 K$ A4 _        CATIContainer *pCon = NULL;
) Z, z) p- U" `5 R6 H        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);; E( C2 z) F6 m9 F% i

- A2 w/ f* S5 T7 c5 ?        //get GSM factory6 v6 b1 z+ q: r% m+ k. u: j
; F/ P1 i' L9 G+ ]
    CATMathPoint p1,p2;  B: O# Z* n  b) w; c
        p1.SetCoord(0,0,0);4 Q3 R- k2 }8 f
        p2.SetCoord(10,10,10);
( B4 s3 O6 n8 Z4 I8 l       
# D1 I. x0 ~$ E' H4 A+ _( S
6 D. N; f7 {6 D* @+ n8 C     CATIGSMFactory_var spGSMFactory = pCon;- I0 G) F5 O7 t" K: v1 \/ d
  
7 w8 n! b8 ~3 D/ r( \6 I         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");
4 F) k5 n' G8 J9 @% O         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");# r/ l# W- i* l$ u! S. N4 {
     
, x2 {& y( q7 @, g7 Q& [: Q6 D  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);+ q- O3 V+ d1 y8 B9 H/ X

7 ]% A. \: g3 }  CATISpecObject_var spSpecObject = spLine;& O* Y, H8 P+ V/ x& u3 w5 ~
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;+ G( f  ~$ M6 o  J2 u2 N7 M- t
8 l* L5 M  q% e) a/ Y
  spGSMProceduralView->InsertInProceduralView();+ C# b) F# l/ _; ]

2 x2 ?6 e9 T9 I# R  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();
+ m$ |4 A2 \  K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了