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

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x

! X1 `8 X5 [3 K! I$ _: r' E( _7 P8 v- g0 R- c( e% d  t7 f
# q1 T* R( L7 b, t$ p/ B
提示:要关联的Doc必须是当前Doc
# a1 H7 s5 w+ S" bCATFrmEditor *pCurrFrmEditor = GetEditor(); ( n& J9 M6 g& V3 I! F
CATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject(); . a- B5 S8 |2 ~1 T; i; Z9 L3 B2 c
CATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement(); 1 h- j2 r. E& f% K
CATILinkableObject_var spLink(pCurrElemBase);
2 [4 n7 L8 v" X0 C% O5 I; t
' Z3 k- |8 L/ W6 V  h3 ]3 N; I* E# H+ [. v: N2 C* T, V) |7 F
1。首先要生成一个新的Drawing, 在interactive mode的话,# d- z* s' ^9 D) g# ^6 P5 F9 v+ J
从session QI 得到一个CATIIniInteractiveSession, ! r. Y0 A4 x1 `. L" j/ s9 A" b
用CATIIniInteractiveSession::New("Drawing", opMyEditor)4 b3 u4 l  _6 S
来生成一个新Drawing。(baTCh的话用CATDocumentServices)
' k; n* B2 v* w6 S# ?& O6 |+ P
. v0 h) g# J, l2 W2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,
( {4 f# ]( y/ u% S" s9 V4 F1 P. Y用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing,
6 K9 ?+ Q) ~2 ^$ R* d+ o; YCATIDrawing QI CATIDftDrawingFormats,: T* D: r& ^- n/ Q8 X+ [
CATIDftDrawingFormats::GetAvailableFormats()
5 V$ g4 `8 Y* N- N3 O# D* A得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
. v' y. O. L# u- U! Z" I
/ R. d+ a( `6 }' I* k3。从3D生成Drawing要用到CATIDftViewMakeUp。, ]5 R4 a* ^! ]' c! H
先从Container QI CATIDrwFactory, ; E3 k; F0 Z& H- I
用CATIDrwFactory::CreateViewWithMakeUp()
) g7 A2 c6 L; G' |) C生成一个CATIDftViewMakeUp。
( L9 h1 ]- F% S
( e" N( ^+ s& Z1 J+ b, y4。从CATIDftViewMakeUp::GetView()得到一个CATIView,( i+ ~7 N* H( s/ I+ K/ C
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设
$ b. B' I% y4 a1 J2 S, V上去,还要用CATIView::SetViewType(FrontView)来指定前视图。 5 P2 w5 r5 I4 \' t

4 H$ q9 T  V* n5 k0 E5。还没完,从3D生成2D视图需要指定一个投影平面,: \$ X+ z( |% {4 B+ }6 k4 {
由CATIView QI 一个CATIGenerSpec,
; a$ ?/ U% Y0 r, g9 g  J& i用CATIGenerSpec::SetProjPlane()设定。 - z/ W& u4 z, k0 P" n; ~1 Q
5 Z! [" Q8 S( A( I* g) c* {# l
6。最后,对Drawing的Sheet设定Format(前面得到的), : B" Z2 w" g, m5 X6 s& `4 b
指定CATIDftViewMakeUp在Sheet中的位置
) J9 k! b3 [' ~) u! y1 W+ a& `- U(CATIDftViewMakeUp::SetPosition), 再最后,
9 m6 d" W$ q2 {1 r9 c把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView)
# D, U, N9 P  p5 ^" W, B8 {- O+ T" X8 c8 \
7。嗯,别忘了还要Save文件。
# L8 G2 _: W! q5 l5 l/ C8 Q9 _! Y. V4 ~6 H* _7 w; c  B' A
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了