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

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x
; l" r5 y4 ]. @$ [3 e( G' a
9 p5 a5 a7 B+ C9 g( d# S
  S, A" H& l7 Y( Q" H
提示:要关联的Doc必须是当前Doc
7 `. N) O( E  O- fCATFrmEditor *pCurrFrmEditor = GetEditor(); 9 A/ j7 L6 Q" r' }4 B4 \$ X7 d
CATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject(); ) v) m: Q7 f( D7 U8 B
CATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement(); 7 j% y8 c  Q# |9 g3 b! ?' @! g9 {
CATILinkableObject_var spLink(pCurrElemBase); 7 a* \( ?& q% M: r1 k# B

1 c3 b4 b9 M; |! P! {+ K  t% ~2 E6 J. k9 a  f# C
1。首先要生成一个新的Drawing, 在interactive mode的话,
4 |: G( ]2 J3 T+ {5 q; M4 b从session QI 得到一个CATIIniInteractiveSession,
( e$ V' I  g' j: v1 X) {用CATIIniInteractiveSession::New("Drawing", opMyEditor). e9 P  D" o" P( `) `5 X7 d
来生成一个新Drawing。(baTCh的话用CATDocumentServices)
* T8 J. Z, ?  |
, V5 F* Y, L" n# D" S# j# J+ }4 `( c2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,( P; }" E! ^. @
用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing,
: c* P5 Z+ @6 l5 I0 ~CATIDrawing QI CATIDftDrawingFormats,! J& F" a# n4 j0 d6 Y* s# F( s# K" a: M
CATIDftDrawingFormats::GetAvailableFormats()
) K- c5 h+ ]' d& \+ D; }得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
1 L& ]3 g7 m7 d, o7 {7 b. W0 K+ |
3。从3D生成Drawing要用到CATIDftViewMakeUp。$ d2 e  l) G0 S3 G( h; J- _
先从Container QI CATIDrwFactory, ( S8 q/ o7 l& m1 y
用CATIDrwFactory::CreateViewWithMakeUp()7 d* D" v4 H9 L0 {
生成一个CATIDftViewMakeUp。
6 \* j" h) s+ n
" f5 H) @+ c% L$ P9 H4。从CATIDftViewMakeUp::GetView()得到一个CATIView,) w/ E9 Q- ~. X3 U  Y
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设
0 E% j  G1 V: U/ ^- v( m上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
+ b1 D4 F# d7 j& b2 L
/ R+ q' M6 [" ]6 }4 r  K5。还没完,从3D生成2D视图需要指定一个投影平面,1 f) p$ Z1 a5 m  T! u# v+ D8 S6 c
由CATIView QI 一个CATIGenerSpec,
0 b5 G; z$ i2 z# d4 x* _" i用CATIGenerSpec::SetProjPlane()设定。
* n, n4 I- S+ B0 t+ T; m$ k7 W. u: v7 z& q8 a- {* n
6。最后,对Drawing的Sheet设定Format(前面得到的), " v: S# h. E# l8 r( o$ A# Z
指定CATIDftViewMakeUp在Sheet中的位置
: y" Z  U* e/ a(CATIDftViewMakeUp::SetPosition), 再最后,
. \1 B. ?, ?& {; L, X3 \  }" x" S把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView) 5 n7 t2 w4 i5 P0 a
2 L3 c) K/ s& b8 R0 p
7。嗯,别忘了还要Save文件。
4 m- A) i" o0 _- m& K5 p/ _# F3 H: [2 a' G# V' w4 o/ x7 U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了