PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

[资料] CATIA二次开发入门教程---21 创建草图几何图形

  [复制链接]

2024-3-12 20:17:25 4375 2

admin 发表于 2017-12-22 13:51:55 |阅读模式

admin 楼主

2017-12-22 13:51:55

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

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

x
CATIA二次开发入门教程---21 创建草图几何图形: N* o  z; t* q4 Z5 ^3 U

+ [1 Y3 H1 {5 K# e QQ截图20171224125201.png , d) A* k- ^! H9 Z0 ^5 Q0 v/ A
; G  k  K) B" W  F- v6 E
[mw_shl_code=c,true]////////获得Editor、Document、Container、设置GSMFactory
/ |+ c/ ?+ p( A( y# ?* j4 c        CATFrmEditor* pEditor = CATFrmEditor::GeTCurrentEditor();5 }& n4 n$ O" Y; o
        CATDocument *pDoc = pEditor->GetDocument();* [7 N& `5 U6 B" Z
        CATIContainerOfDocument_var spConODocs = pDoc;1 I* d5 t$ c" n
" t* R' G) T$ C
        CATIContainer*            pContainer;                //Container5 i) D) J$ [/ Z" d
        CATIPrtContainer*     pPrtContainer;//PartContainer
* ^& y. s; X6 K* J        CATIGSMFactory_var        spGSMFactory;                //GSM工厂
7 X( i" r9 E* H) D
' u+ k. C( Q: n& ?) M8 q7 h* b- O        CATIPrtPart_var        spPrt   ;//
1 Z5 P5 m8 ^6 J  \7 e        HRESULT hr = spConODocs->GetSpecContainer(pContainer);//获取Container8 q' _: P0 Y9 b8 x& x

/ C3 s( X! M5 a# _/ q" e7 h        hr =pContainer->QueryInterface(IID_CATIPrtContainer,(void **)&pPrtContainer);//获取PrtContainer
' l* p) T. H# @: I0 O3 E8 J4 Q# r. M        spPrt = pPrtContainer->GetPart();
& i5 n0 d9 B) |        CATListValCATISpecObject_var spListRefPlanes = spPrt->GetReferencePlanes();//获取3个参考平面9 o) P7 r) a, h5 D' ]- Q
3 [4 S. I" d0 i/ P% E; j/ N
        CATISpecObject_var spSketchPlane = spListRefPlanes[3];//第三个平面
+ L$ J! k7 z: t, }        CATISketchFactory_var spSketchFactOnPrtCont(pPrtContainer);//草图工厂
, f, O5 [0 h! s" Z" k" L3 u        CATISketch_var spSketch = spSketchFactOnPrtCont->CreateSketch( spSketchPlane );        //创建草图
; _: K( b6 q- o2 t9 E0 w+ O        CATI2DWFFactory_var spWF2DFactOnSketch(spSketch);( m, W- A/ U" Z+ Q# `5 ~3 b6 O

% }. Q5 |! D, R) {4 y, Q0 D, T        spSketch->OpenEdition();        //进入草图开始绘图7 Q, S4 z' b$ ]( S$ p% K( w/ t5 d

% r& u- k$ \+ ^; l3 S' N1 G        double p1[2]   = {0,0};
( D2 }( H6 y# \   double p2[2]   = {100,0};
) _3 r. t+ b3 B   double p3[2]   = {100,100};
! z' l7 R* k2 T* n- J# h   double p4[2]   = {0,100};
' S2 n" a! V& r7 i8 \! Y  B# p2 E/ n1 o* N9 c" t* N
   CATI2DPoint_var spP1,spP2,spP3,spP4;
9 W* L) j3 O! Z- M* Z5 [( {
/ w1 p! S! o' _0 O' N$ pspP1 = spWF2DFactOnSketch->CreatePoint(p1);9 }& E1 ]7 M' W  D$ J
spP2 = spWF2DFactOnSketch->CreatePoint(p2);
+ Q* V9 a6 `4 `spP3 = spWF2DFactOnSketch->CreatePoint(p3);  i9 Y/ D' r. ^% p1 w# a/ C  q, C  v
spP4 = spWF2DFactOnSketch->CreatePoint(p4);
5 R9 y4 H  c. M" a
# u8 v: E$ w& LCATI2DLine_var spLine1 = spWF2DFactOnSketch->CreateLine(p1,p2);, x/ j4 b$ v6 k, u( F/ I
CATI2DLine_var spLine2 = spWF2DFactOnSketch->CreateLine(p2,p3);
- ~! i2 ~" I) t/ y( l( iCATI2DLine_var spLine3= spWF2DFactOnSketch->CreateLine(p3,p4);
: n7 W5 D3 K* D, n9 U: i4 E3 g* m* u+ OCATI2DLine_var spLine4 = spWF2DFactOnSketch->CreateLine(p4,p1);
$ L$ r1 `8 A  m5 d% j
; S1 _, e6 s" I- JCATI2DCurve_var spCurve1,spCurve2,spCurve3,spCurve4;8 o, K  x' b& s# @) w5 n
spCurve1 = spLine1;
0 X% B2 Z7 h* ^2 b% uspCurve2 = spLine2;
- Q5 p3 C; O8 c$ tspCurve3 = spLine3;
% {$ M( `  ?4 M' ?/ Y6 J' X5 O0 mspCurve4 = spLine4;
( x# @" k  q9 s' ]% G  }
9 @+ r* ]. c" K1 E' espCurve1->SetStartPoint(spP1);
: G9 \% I; z) X6 vspCurve1->SetEndPoint(spP2);
7 U' g5 N2 |* h$ D  Y5 `$ ~) wspCurve2->SetStartPoint(spP2);
) ?" x- F  Q: s, F$ y. n% TspCurve2->SetEndPoint(spP3);; O) d/ D" [( i
spCurve3->SetStartPoint(spP3);
: F+ l. [- f8 Z+ TspCurve3->SetEndPoint(spP4);' F# C4 G9 c( v$ ^& ]% g
spCurve4->SetStartPoint(spP4);
% m9 S: z3 o. e! V- @  @) |4 pspCurve4->SetEndPoint(spP1);
: V( q7 }4 |) b' R2 T5 W) n8 j, f3 i$ o5 G3 U

. a: R, x8 T8 z" y4 X# \3 b  spSketch->CloseEdition(); //退出草图, Q1 _$ ?" [8 J2 J

: K3 p( k: K/ x" H7 W: q. v9 x+ E* P! y# @# M! A
  CATISpecObject_var spObject = spSketch;
' e; x4 o" d( r% q% O; C; V/ U spObject->Update();
* N/ U7 g" A, x9 u1 R  [/mw_shl_code]6 ~; A0 G  l5 q; R& w  s
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复2

admin 发表于 2017-12-22 13:52:59

admin 沙发

2017-12-22 13:52:59

在上一节的基础上,开始创建草图。首先创建草图工厂:
3 ]$ B+ q# L! Z/ Q0 M) aCATI2DWFFactory_var sketch2DFactory(spSketch);
0 c! [3 R- l3 B2 s下面创建点:+ U' v! u9 }, \3 E3 Z7 @
CATI2DPoint_var spPt_bottom_left, spPt_bottom_right, spPt_top_right, spPt_top_left;
( R1 F/ ^! h( `double pt_bottom_left[2]  = {10., 10.};: T: x9 Q0 r. S: o+ x
double pt_bottom_right[2] = {50., 10.};
/ Y; D) }7 N. U7 ~, r: vdouble pt_top_right[2]    = {50., 50.};0 i' f  n" r8 ^3 F% A
double pt_top_left[2]     = {10., 50.};1 W% q6 r4 H! G  _8 t
spPt_bottom_left  = sketch2DFactory->CreatePoint(pt_bottom_left);
# l8 x* e8 W# ^2 w/ l+ qspPt_bottom_right = sketch2DFactory->CreatePoint(pt_bottom_right);
/ y5 o4 u- r, x# U; wspPt_top_right    = sketch2DFactory->CreatePoint(pt_top_right);# F3 F0 z" K9 }1 D
spPt_top_left     = sketch2DFactory->CreatePoint(pt_top_left);
$ L; R5 n9 W& |7 r开始创建线:
4 H, h" w+ q4 v- d: ^6 O$ V7 YCATI2DLine_var spLine1, spLine2, spLine3, spLine4;! t; E: ]) b6 ^8 M* o# N2 i2 Y
spLine1 = sketch2DFactory->CreateLine(pt_bottom_left,pt_bottom_right);
! @1 Z6 P( L$ b  T! J+ |spLine2 = sketch2DFactory->CreateLine(pt_bottom_right,pt_top_right);
1 H0 E# U& F2 }, SspLine3 = sketch2DFactory->CreateLine(pt_top_right,pt_top_left);, e; R# P' z# G( b% s
spLine4 = sketch2DFactory->CreateLine(pt_top_left,pt_bottom_left);1 K- r, c, K+ {3 h
将线连接起来:
0 N" W  d' B/ t& Q, \0 R" j' K* PCATI2DCurve_var spCurve1 (spLine1);4 X; ^1 m  z( @0 ]7 G
CATI2DCurve_var spCurve2 (spLine2);
" J' j5 S' u; q  K7 f9 h) A* KCATI2DCurve_var spCurve3 (spLine3);' \0 u8 K8 c: U5 n2 n! w1 a
CATI2DCurve_var spCurve4 (spLine4);
. i6 W2 d+ o- v* CspCurve1->SetStartPoint(spPt_bottom_left); 4 N7 ]: V2 F5 R1 Z
spCurve1->SetEndPoint(spPt_bottom_right);
7 D& h6 ]' L* Z6 zspCurve2->SetStartPoint(spPt_bottom_right);
* M7 n1 i- C! ^2 ~, tspCurve2->SetEndPoint(spPt_top_right);
2 B+ f/ e5 N3 M1 Y) [spCurve3->SetStartPoint(spPt_top_right);
1 R) C1 r4 u( ]spCurve3->SetEndPoint(spPt_top_left);
, D* c! D6 [7 m: n. E* |spCurve4->SetStartPoint(spPt_top_left);
2 K9 M  p0 P3 }1 m) f5 W2 [1 A4 z$ CspCurve4->SetEndPoint(spPt_bottom_left);7 Q3 d( R1 Z# W% _
然后退出草图:
7 x- q& Z, U+ w# n: V3 C, pspSketch->CloseEdition();
8 l3 G) t" `# r9 J7 [# O. f+ a8 `8 T; s
, A3 V3 O$ k4 a8 `: U
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

visionace 发表于 2024-3-12 20:17:25

visionace 板凳

2024-3-12 20:17:25

非常棒,有没有接口之间的关系导图呀
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了