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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
CATIA二次开发入门教程---19 创建一条线" F2 P8 ^% x6 c" V1 Q
; s# C( R* g! }, k- i
[mw_shl_code=c,true]/ J) r6 I$ }9 g$ l  X1 g; N3 _
        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();2 ~$ q7 a3 {% Z6 V$ Z, a; q
        CATDocument *pDoc = pEditor->GetDocument();
6 ^3 C, f" g# G- U: A4 [( {5 a  u# W% y        CATIContainerOfDocument_var spConOfDoc = pDoc;
7 t8 ]: ~  X, P% U        if (spConOfDoc == NULL_var)2 g( v$ ^% ~* A
        {$ H$ N2 b! Q% p/ c
                popUpNotifyDialog("No spConainer of document");
1 c' a$ ^- |" h8 t  H        }6 H1 P, v% g' |" O1 g: Z
        CATIContainer *pCon = NULL;
& }4 e. I  q# }9 P6 u* {6 L8 f3 |% }        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);
9 U, g5 Y" d5 B3 [9 e" f+ t
9 H1 u  q# b* k* X( _/ C! Y        //get GSM factory3 _* u+ b0 b8 i; u
; f* a% L" {& g4 `
    CATMathPoint p1,p2;
5 D% n- Z; V" v$ z, \) v3 ^; D        p1.SetCoord(0,0,0);! o& B$ |; |/ f/ K$ e/ u% s/ T9 ?
        p2.SetCoord(10,10,10);
' k  _+ z2 K- J) l- T+ A        - y" x$ D. j- L+ y$ a: X0 h6 e2 m
! w; E, o3 n8 t* ~% x4 K
     CATIGSMFactory_var spGSMFactory = pCon;* i9 s) Z2 j- `& g- y: i) J7 |0 q
  & l6 W/ @  b. O" t% F9 K0 k% s
         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");2 ^. P3 j+ [* t$ o/ M. r5 D
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");
& V& h, D+ Q; Z0 [) M" r     
; E( [8 h6 E; h4 C# B& W  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);
& x. e2 ~3 {. ?" W; l
' w$ C& _. ^% r) y7 v. E  CATISpecObject_var spSpecObject = spLine;8 u. i* d; @9 [& J
  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
& l& f9 Q& X% C) E( f% c' E5 ^
6 D. T. W$ L+ n0 P* U( V" r  spGSMProceduralView->InsertInProceduralView();# w1 u9 f2 e/ c% N# v  u5 m
! f6 ^3 a. {/ s
  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();
* U0 \& z4 }4 W0 C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了