PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2017-12-22 11:05:33 | 显示全部楼层 |阅读模式

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

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

x
CATIA二次开发入门教程---19 创建一条线
% p1 M+ }: _9 ?* Z7 W* \
1 C' D2 Z: U+ m1 C5 j5 u[mw_shl_code=c,true]
) x* T# O* |/ o8 P: C4 e        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();' b, J9 B4 x) k# O; v7 p
        CATDocument *pDoc = pEditor->GetDocument();
* Y  ]6 \1 M" c, @- ~        CATIContainerOfDocument_var spConOfDoc = pDoc;
" U+ G8 a3 N- s' w        if (spConOfDoc == NULL_var)" @  b" R( B- V
        {: l8 [) O) m% J" @$ p2 P
                popUpNotifyDialog("No spConainer of document");! v- S3 p2 o6 u* I3 B
        }
/ @! u" ?% E; k3 n        CATIContainer *pCon = NULL;
5 J4 j+ l" k# e( D6 [0 y7 S        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
+ B& f% J9 O; s( M* V( }$ I: V
# \# f5 }, e" v) a  R4 J* A        //get GSM factory
( E  \) _$ f8 n. {- {9 k8 E4 S9 Q/ y# j3 Q! M$ O! {$ `) D
    CATMathPoint p1,p2;0 `; `0 U- _! h3 O: u
        p1.SetCoord(0,0,0);7 v# K' f, H* U& `, g
        p2.SetCoord(10,10,10);/ P: M) W$ B+ L* H# \
       
5 p1 ]' b2 O( I. x8 K2 M  }" \6 M# j& U# C
     CATIGSMFactory_var spGSMFactory = pCon;
$ S" N2 {: h+ ~; |  7 u/ q% [+ G9 B8 B
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");1 X+ [7 J2 K, w3 y( Q; X* W
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");3 c* f6 J- v; o. C" d& X! e6 \
     
# q7 s; c3 _; B' q" P4 A( b  `3 m  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
3 \/ p# f" F7 K% W
# k- B2 ~& L2 e( f7 \7 e  CATISpecObject_var spSpecObject = spLine;' S# i# \: L# I4 _' A3 V
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
) C& e) ~: z/ d. d* l1 b* k& H
( B; p- D& X+ |1 a5 W& @  spGSMProceduralView->InsertInProceduralView();: }' Z; v9 D0 G

2 a4 j! c( n9 P+ E* O7 S! Q  spSpecObject->Update();[/mw_shl_code]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
 楼主| 发表于 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();
2 F# l  {* {" X6 C  {1 Z& @+ R
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了