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

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x
& h3 F, S* y( d% v0 |, u

5 f6 i- e* C/ Y
" j  L2 H! \7 y' ^- t) y提示:要关联的Doc必须是当前Doc
' v) b) W# \! D" G- J# J+ `0 F2 iCATFrmEditor *pCurrFrmEditor = GetEditor(); * |$ G; C+ R5 S2 E8 V- h; }
CATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject(); # ~# R$ \& I1 ~
CATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
! E' q8 b0 K8 m& Q& @5 U! wCATILinkableObject_var spLink(pCurrElemBase);
4 }$ k4 h1 }2 I6 P3 b- E2 e! Y  Y. M; [
+ b1 R4 D' C( W/ [2 t& g; M3 Y
1。首先要生成一个新的Drawing, 在interactive mode的话,/ W5 K' F$ y' Y  u. Q
从session QI 得到一个CATIIniInteractiveSession,
1 j) j; Y4 S& e用CATIIniInteractiveSession::New("Drawing", opMyEditor)- y7 p, v# C9 r$ d. ~% C
来生成一个新Drawing。(baTCh的话用CATDocumentServices) 4 c8 T6 J( v% d2 ^" Q8 S
2 h0 U  ~3 e0 S" S, X# O" L
2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,' P- ?$ w; W6 J, x
用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing,   B" E6 Q1 M3 M1 ^: m; K: W
CATIDrawing QI CATIDftDrawingFormats,
4 S; m" Z; H" c# D CATIDftDrawingFormats::GetAvailableFormats()2 s) p( K  V: h( a; Q# c
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
9 h8 U" E- `. P6 \# b3 S
7 \- Z; n2 B! `& }6 m3。从3D生成Drawing要用到CATIDftViewMakeUp。
9 X: B1 a- H+ W9 ?- S3 R  }: w: a- Y先从Container QI CATIDrwFactory, ) o; E) H0 C' N. M
用CATIDrwFactory::CreateViewWithMakeUp()  c/ Z3 P( i0 a
生成一个CATIDftViewMakeUp。
9 f6 J$ f- Q2 i  z; I7 [
0 P1 A' Y7 G0 s5 _& x4。从CATIDftViewMakeUp::GetView()得到一个CATIView,
8 r% V* V. G9 {% R# B这是才能用CATIView::SetDoc()把3D的Part的linkableObject设
# ^2 E- ?5 b2 e; `) a) N上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
- p' R: ~7 k5 h. ], U$ v. E6 S' L/ \$ p/ u
5。还没完,从3D生成2D视图需要指定一个投影平面,' G7 I% Q9 k$ j4 i" T; I% W) x& x; ?
由CATIView QI 一个CATIGenerSpec,
6 Q0 \) z0 P1 H( E) g; \- \用CATIGenerSpec::SetProjPlane()设定。 2 D8 m. ]9 G8 ^7 N" O: L8 e

( F8 W- w; d/ n: Y- d6。最后,对Drawing的Sheet设定Format(前面得到的),
/ v: Z/ N9 Q8 c1 Q" n指定CATIDftViewMakeUp在Sheet中的位置
1 W& V; x2 ^. F0 q( F(CATIDftViewMakeUp::SetPosition), 再最后,
- f* ^& e3 V0 t# s2 P% u把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView)
, `5 r  @6 I6 |# i# O9 ?
/ \% ^& |2 ]$ N5 U3 P, A5 Z7。嗯,别忘了还要Save文件。, Q, ~- l6 z: g' \

- c  U) E5 @, V
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了