PLM之家PLMHome

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

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

[复制链接]
admin 发表于 2018-5-5 08:16:03 |阅读模式

admin 楼主

2018-5-5 08:16:03

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

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

x

" q5 D5 G, l3 O9 ~1 L* y0 D2 x( _* g  q7 d3 ?. J9 `8 Y& t- q3 y

6 [- D. B9 ~# k/ ?% _- H提示:要关联的Doc必须是当前Doc5 b! z# t  w1 [% b
CATFrmEditor *pCurrFrmEditor = GetEditor();
9 o3 |" A' I4 A+ Y! s: XCATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
/ Y+ y9 Z- V- M! a+ A3 I4 BCATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
0 j2 A; }; H* F# D  a# B; BCATILinkableObject_var spLink(pCurrElemBase);
; \$ H1 {" c& @/ K
  f/ T. ~! Z0 \* [, z
0 |% a% S# m$ `+ G0 ]( m1。首先要生成一个新的Drawing, 在interactive mode的话,
" a7 t6 J, i$ f4 {从session QI 得到一个CATIIniInteractiveSession,
" d' f$ y3 L! ?1 J用CATIIniInteractiveSession::New("Drawing", opMyEditor)
4 J0 o5 E1 P" f( A  i2 H# |来生成一个新Drawing。(baTCh的话用CATDocumentServices)
7 _& b, |/ c5 _  z* C. v& {, p  u. e8 P& z" n! H% A8 {
2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,2 L1 h4 K& r3 z$ F8 E
用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing,
* i4 ^/ }9 R( x8 sCATIDrawing QI CATIDftDrawingFormats,
; A7 j3 T/ M2 J& ], ^ CATIDftDrawingFormats::GetAvailableFormats()" a4 t% c. t% {. C0 F4 z+ Y6 _
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
! p5 [1 c8 X) N2 F: A' L9 N( X4 Z: M2 F8 K: B+ l; s; i
3。从3D生成Drawing要用到CATIDftViewMakeUp。
" T1 J/ R9 s+ g) X先从Container QI CATIDrwFactory,
0 e6 Y$ X- p( ~+ i用CATIDrwFactory::CreateViewWithMakeUp()
) Q# C  O0 L9 Y# b$ o0 I生成一个CATIDftViewMakeUp。
+ S0 ]7 U* [1 m% w; _6 e1 o2 y9 W: v/ ^! T0 B
4。从CATIDftViewMakeUp::GetView()得到一个CATIView,- N' f( I5 n: C- G
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设
5 s1 y$ g! i3 Y6 N2 k. g$ w$ v上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
2 M" v8 g6 p- U4 w+ H& ^3 @1 Y/ {  Q) }% _
5。还没完,从3D生成2D视图需要指定一个投影平面,) F( T& Q! O! g# u
由CATIView QI 一个CATIGenerSpec,
' m6 x9 a3 ^* g& h* e9 M8 a) Y用CATIGenerSpec::SetProjPlane()设定。
* E5 U$ p* ]$ `  O
( j6 H; t+ W( p  K& @( u' c6。最后,对Drawing的Sheet设定Format(前面得到的),
- ]0 U- g9 p0 s9 u/ h3 ]0 ?" |6 H) p指定CATIDftViewMakeUp在Sheet中的位置2 o: Q/ M, }# M. {. Z4 H+ z% P
(CATIDftViewMakeUp::SetPosition), 再最后,
2 K, `6 u, S; L* j0 A) S$ y把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView)
4 q4 G, J" e& D- U- N
! o. @1 ]1 c5 t; D7。嗯,别忘了还要Save文件。5 G0 ~2 i2 y* h* q

$ r+ ^* {- n! r
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

关闭

站长推荐上一条 /1 下一条

  • 发布新帖
  • 在线客服1
  • 在线客服2
  • 微信
  • 客户端
  • 返回顶部
  • x
    火热推荐

    PLM之家(plmhome.com)提供专业的实施开发培训

    NX二次开发基础培训 | 已 80 学员 参加

    NX二次开发高级培训 | 最高性价比

    CAA二次开发 | 值的一试

    Teamcenter用户基础入门 | 虚拟机赠送

    限时优惠,原价3000,现价888

    哥已知晓