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

Catia CAA二次开发源码分享:3D 投影到制图步骤

[复制链接]

2018-5-5 08:16:03 3787 0

admin 发表于 2018-5-5 08:16:03 |阅读模式

admin 楼主

2018-5-5 08:16:03

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

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

x

& E& C7 t( a& x: E4 A. C
- U& s" F' B6 M
7 K% t0 D* O7 {1 A! {提示:要关联的Doc必须是当前Doc5 t: t9 o8 a2 w* v; X9 X4 _( ~$ O
CATFrmEditor *pCurrFrmEditor = GetEditor(); 8 s& I+ n8 U4 ?) w. G
CATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
; b3 t3 b" X& h' }8 tCATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
# A4 |$ `' b5 j0 T; OCATILinkableObject_var spLink(pCurrElemBase);
7 M8 C( D, q# r/ Y8 x2 x. Z6 T
# {5 W: w& L0 Y7 U. L" g3 G# x5 Z5 `8 Z4 ~9 M6 Q5 x# o
1。首先要生成一个新的Drawing, 在interactive mode的话,5 A, `( S+ L# `5 r$ T$ }
从session QI 得到一个CATIIniInteractiveSession, 1 z. z6 P) J3 P' A# `
用CATIIniInteractiveSession::New("Drawing", opMyEditor)
+ p& q* \4 [# e6 p来生成一个新Drawing。(baTCh的话用CATDocumentServices)
- m6 a1 b* H* b3 u$ m5 b& l( `! h. h7 C/ Y! M) q7 R
2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,
  ]- ]6 a+ Q6 @用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing, $ I' B/ h' O  f( v( _
CATIDrawing QI CATIDftDrawingFormats,7 z0 q1 H# g5 w% g. m
CATIDftDrawingFormats::GetAvailableFormats(): x3 j4 Z8 D* |8 [" h
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
  m1 i+ C: i5 D: j- E3 L8 X. y6 d. U4 I1 r+ i: r, A) k
3。从3D生成Drawing要用到CATIDftViewMakeUp。( i3 j' N) P1 l7 {8 g& z! u- P
先从Container QI CATIDrwFactory,
6 s$ u) v" p* J+ k4 ?  h" a0 t用CATIDrwFactory::CreateViewWithMakeUp(), r0 t5 J: [  d$ P  K9 X
生成一个CATIDftViewMakeUp。
0 q! S% F5 E* H3 P) T- m; E: _  e* N- m) {" p  \% S7 y
4。从CATIDftViewMakeUp::GetView()得到一个CATIView,
0 t0 ^/ U( w3 R# b0 ]4 ]这是才能用CATIView::SetDoc()把3D的Part的linkableObject设% d3 q  r' A0 u
上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
7 A# @& u+ s2 }$ c
! W6 L$ R9 d) e& S- v8 c$ Z5。还没完,从3D生成2D视图需要指定一个投影平面,
) U9 A8 f& R% ~8 y由CATIView QI 一个CATIGenerSpec,
; Q0 C9 c0 |7 w用CATIGenerSpec::SetProjPlane()设定。 5 h4 I" H3 D. i  K; c
& ^( _9 ?0 h: m9 }! R. ?& f
6。最后,对Drawing的Sheet设定Format(前面得到的),
( D+ w! |# L, g% g; u* c( H指定CATIDftViewMakeUp在Sheet中的位置
, D( o# W8 @* e4 G3 h(CATIDftViewMakeUp::SetPosition), 再最后,
: B. M6 B, R7 j! t- g0 ~+ ^把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView) 3 o# `" ]0 o2 ?4 G
( J1 o0 P) p4 p! B! U+ r3 }
7。嗯,别忘了还要Save文件。
3 ]. m4 J$ c8 G) [0 c9 v4 v/ ~) w; W; _& L9 s2 J0 @) n3 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了