PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x

& |3 A6 G! h# d9 f# y) ]) F( |1 i
5 o# {* J! d, j. M( D# @
提示:要关联的Doc必须是当前Doc
5 w( l- n( n9 \& v2 [9 Q) n7 V2 PCATFrmEditor *pCurrFrmEditor = GetEditor();
* ?6 s" J% K; j* _' ~CATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
, R9 `" U) Y- oCATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
% y/ B- F7 C- W/ S" K3 I5 j9 |" QCATILinkableObject_var spLink(pCurrElemBase);
9 t* E; h0 S6 j8 h" S1 i* t- p. i  H) ^9 b3 b, t6 E
$ G( Q) j/ E/ b& B
1。首先要生成一个新的Drawing, 在interactive mode的话,  _; U$ z& f- p( j! _& i, K9 [' Q' p
从session QI 得到一个CATIIniInteractiveSession,
' \: S5 N5 i8 b, V0 F5 b' {! c用CATIIniInteractiveSession::New("Drawing", opMyEditor)
- O" G1 B/ o  u4 b& A% @# R- i来生成一个新Drawing。(baTCh的话用CATDocumentServices) " P- v7 S  f3 ]. b
( t. i5 y. X. W- h+ d) x* G
2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,- u! A; G1 H* r! {* A$ L0 R
用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing, 0 C- c+ ]3 H, u- |
CATIDrawing QI CATIDftDrawingFormats,
  l& S( H. V: n9 t. }8 z CATIDftDrawingFormats::GetAvailableFormats()* V& A6 D( @6 O1 c1 f* U6 a7 S: P
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
) o  p+ f1 C) O  t" x$ q9 d6 U; h$ A0 [) V) O* z$ _* C
3。从3D生成Drawing要用到CATIDftViewMakeUp。3 X. O' p0 Y! I# |
先从Container QI CATIDrwFactory,
" \+ \- D2 ?$ W5 s用CATIDrwFactory::CreateViewWithMakeUp(). |% E9 \/ w, b5 I5 x% n# g
生成一个CATIDftViewMakeUp。
6 P- x. x* M' l1 F3 X
9 w" _, [9 G7 n/ i1 R! ?4。从CATIDftViewMakeUp::GetView()得到一个CATIView,: L: q1 Q6 M! [3 Q6 D
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设, Q' e. y9 v6 {- ]4 R8 V) _
上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
  i" m. H, C. Q/ l' r& b3 O3 S) {" I. n) {8 Y& ?5 q
5。还没完,从3D生成2D视图需要指定一个投影平面," h6 u, w5 h9 ^. u7 _' s# H
由CATIView QI 一个CATIGenerSpec,
+ d2 ^- P1 g8 |$ c/ P9 g) i用CATIGenerSpec::SetProjPlane()设定。
' v' }" W; C: G0 o7 c8 [4 q) Y4 `' b! S7 k- w$ @/ F! O+ Q
6。最后,对Drawing的Sheet设定Format(前面得到的), . X( i$ D1 X) f
指定CATIDftViewMakeUp在Sheet中的位置
" }1 p' J4 k$ |5 H' m(CATIDftViewMakeUp::SetPosition), 再最后,8 B; e: N7 V: L' J$ K) z! ]0 Y
把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView) 9 \; K5 {9 o- G

( Q4 Q* G9 D! K, f" R$ f! {7。嗯,别忘了还要Save文件。
/ e$ O' b9 u6 V* ^6 W& F# o! X) }# j6 v" {5 u  T7 K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了