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

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

[复制链接]

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

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

admin 楼主

2017-12-22 11:05:33

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

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

x
CATIA二次开发入门教程---19 创建一条线
; u- Q3 ^6 N0 g, a9 I% ]* G; J6 j0 s) D/ r* S8 ~) R
[mw_shl_code=c,true]
2 h3 t: P9 a" K        CATFrmEditor *pEditor = CATFrmEditor::GeTCurrentEditor();
( D) X! I' A% ]1 v/ r' [        CATDocument *pDoc = pEditor->GetDocument();( h2 N, w9 v, A6 H4 n
        CATIContainerOfDocument_var spConOfDoc = pDoc;2 B$ C/ \; `) B
        if (spConOfDoc == NULL_var)' T0 C4 i  D- N( m) o% d
        {6 h; `/ O5 `1 _2 Y- g- d/ q% K, f
                popUpNotifyDialog("No spConainer of document");
/ w9 P- C0 M6 A" T& x7 K& J, t        }% F# M  R! N- o4 C; f, a1 L
        CATIContainer *pCon = NULL;; Z8 x$ }6 Q$ \& O) F
        HRESULT hr = spConOfDoc->GetSpecContainer(pCon);$ e9 |' C' E, b5 \5 h' Y
- P9 a9 l7 c3 o, H2 f5 D
        //get GSM factory1 r  C6 a  a0 e7 Z- B* {# O
- j) H) V9 a" G
    CATMathPoint p1,p2;: k' a! b6 d9 g
        p1.SetCoord(0,0,0);9 ]" N# z! }% U
        p2.SetCoord(10,10,10);4 E9 U: ?$ A7 z; b. X$ h
       
& K; Z3 i+ I/ t7 y) D! n
4 @, M/ O: Q  c. m4 c2 Y     CATIGSMFactory_var spGSMFactory = pCon;
/ g) y5 K4 `, J% Y, Y" l6 _  
# [( s& t; [' D! h3 M         CATIGSMPoint_var  spP1 = spGSMFactory->CreatePoint(p1,"");% I$ M( F  I+ K& g9 t
         CATIGSMPoint_var  spP2 = spGSMFactory->CreatePoint(p2,"");: r; w) {4 _2 ^1 O
     3 A6 C5 P! u9 N6 _
  CATIGSMLinePtPt_var spLine =  spGSMFactory->CreateLine(spP1,spP2,NULL_var);9 T2 k( [$ j* N8 d* x. x, r( O

5 q+ {4 _/ \; R3 R1 e  CATISpecObject_var spSpecObject = spLine;
3 V% o& I# H0 c6 _  CATIGSMProceduralView_var spGSMProceduralView = spSpecObject;
$ U: }5 \7 e/ `8 V8 d: q* k5 R2 w, Y3 n7 I+ R3 A
  spGSMProceduralView->InsertInProceduralView();+ e4 S& U5 `5 A3 A- N2 m

1 U( j/ b8 Q! t! K# G8 a, K; P; {  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();

, T" q8 r4 M1 K6 s4 ~/ M
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了