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

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x
1 ]3 \( f; v! F  N5 z0 j) H

- b& L* |$ I1 D* k7 p: d) E; p
; y5 P8 x5 o, b8 c0 Q7 c  X提示:要关联的Doc必须是当前Doc
2 _4 q. S& @/ p2 i$ R, C7 mCATFrmEditor *pCurrFrmEditor = GetEditor(); & K5 m+ K7 |: O/ [
CATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject(); ! k) W8 E, g# V% \, E
CATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
" ?# i! L8 N  c/ ~# dCATILinkableObject_var spLink(pCurrElemBase); * w0 i! c- a; M2 O  u/ f

; K$ }# ?# U* E4 s! c# \2 n
3 D$ S/ p) F% u& [* m1。首先要生成一个新的Drawing, 在interactive mode的话,
0 W, H$ B4 |. b5 v3 W5 q从session QI 得到一个CATIIniInteractiveSession, 9 k+ ?; |* A+ R& k! U, a
用CATIIniInteractiveSession::New("Drawing", opMyEditor)# B' C$ d1 P$ E$ [4 E4 c
来生成一个新Drawing。(baTCh的话用CATDocumentServices) ! B* p$ o- i) z) T; W

1 g, o& O* _) Z; n2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,) n, K' D7 p- M* i6 G/ U
用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing, 0 R$ c( J, @& s6 L
CATIDrawing QI CATIDftDrawingFormats,' A& ^! \, U6 q' C2 u
CATIDftDrawingFormats::GetAvailableFormats()( S5 j8 a5 p3 I0 v- c8 i2 l
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
- Q: O4 u3 k1 J. Y9 Q( g; S3 m  M: {+ _' J$ k, T* D8 G
3。从3D生成Drawing要用到CATIDftViewMakeUp。
5 m7 g8 r. ^2 i: e先从Container QI CATIDrwFactory,
6 u* X5 ]: g/ y, B8 H用CATIDrwFactory::CreateViewWithMakeUp()
! E6 D) J3 p7 [) y# y4 M生成一个CATIDftViewMakeUp。
% R  w9 V& M5 X4 s5 ]) V3 f/ b  N; D% L
4。从CATIDftViewMakeUp::GetView()得到一个CATIView,3 Y5 v$ B$ E; N* R5 y
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设5 @1 A6 x  b$ Q5 l9 z0 d1 R
上去,还要用CATIView::SetViewType(FrontView)来指定前视图。 ' Y- a1 A# k4 ~8 s9 a
' m. m' f; E6 Y7 a4 C5 k
5。还没完,从3D生成2D视图需要指定一个投影平面,
0 V7 O1 \1 n% D# z" [由CATIView QI 一个CATIGenerSpec,
+ X( K2 [. Z( J9 J" u( D4 o用CATIGenerSpec::SetProjPlane()设定。 6 N/ [; e1 z  t' ~. u- \

* y- {9 m) k6 L8 t6。最后,对Drawing的Sheet设定Format(前面得到的),   |, z8 r3 i, L! o# [
指定CATIDftViewMakeUp在Sheet中的位置7 R9 D2 W$ B' b8 s& N2 d1 X( K
(CATIDftViewMakeUp::SetPosition), 再最后,
/ n% @3 o( k" a: F1 I把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView)   j  A7 g0 A, `- v* x+ i! a

4 R2 N5 c7 U9 G7 c- t7。嗯,别忘了还要Save文件。: ^! j9 }& c! m/ w& M% d  P
- L- Y8 E9 y  X# [
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了