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

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x

/ c$ `6 V# u8 `1 }7 M  O( R9 y( }1 h

$ a2 Y3 N" ?# S. T1 ]5 j9 R提示:要关联的Doc必须是当前Doc# \& j0 a% n7 w- W" D- S
CATFrmEditor *pCurrFrmEditor = GetEditor();
# @# _$ J, r% N$ BCATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
2 v0 e( o  |& G1 k6 ?  U9 UCATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
& e/ r; \! g& a9 q: M$ }CATILinkableObject_var spLink(pCurrElemBase);
9 j) X4 w& O; u3 ?
$ V1 B, c8 P. k! H: E
% o5 f- V0 z  i* s! P* k; H1。首先要生成一个新的Drawing, 在interactive mode的话,
0 Q' ~/ r1 ^' K3 H% W: C从session QI 得到一个CATIIniInteractiveSession, 7 p4 l. g: J( c* V
用CATIIniInteractiveSession::New("Drawing", opMyEditor), P" z3 `* \- h
来生成一个新Drawing。(baTCh的话用CATDocumentServices) , o: Q! f$ n' c( e" w+ Y
# V. @9 a) t4 R  N; z) m+ Y, ^
2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,
7 z/ K: Z% ^% |6 T用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing,
1 X) ]; b9 P1 G8 @# HCATIDrawing QI CATIDftDrawingFormats,
: M! g( e; I/ @4 @4 [/ y CATIDftDrawingFormats::GetAvailableFormats(); W& ?$ p' ^/ z
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去 3 f7 d5 |" B  M. ~

% r/ z" E6 I! Y; |% ^; Y5 T3。从3D生成Drawing要用到CATIDftViewMakeUp。% C! m& `1 F! a
先从Container QI CATIDrwFactory,
1 Z# N" ]2 D. N' o用CATIDrwFactory::CreateViewWithMakeUp()" n! F' R1 e' }  I7 T
生成一个CATIDftViewMakeUp。
3 e. j+ P8 v8 X. u1 G4 F' ?* i, m# d$ P9 \, c2 e8 W' s$ z! }, H- ?5 y+ t
4。从CATIDftViewMakeUp::GetView()得到一个CATIView,) o( v2 e+ V( z1 V. m
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设
2 v' X# A+ V* B, _" {上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
+ Z% ]6 k7 a/ G3 a' D4 F& Y9 M# T1 B) X$ e4 g+ X( Z3 ^3 z- k. m
5。还没完,从3D生成2D视图需要指定一个投影平面,
/ S8 ^! Z# f; ^6 u  v由CATIView QI 一个CATIGenerSpec,
4 ~. }: T5 o0 X4 `用CATIGenerSpec::SetProjPlane()设定。
# p* o( l/ o) N* v% N$ z9 T
& x5 G4 @7 u2 R7 `: G8 T6。最后,对Drawing的Sheet设定Format(前面得到的), * Z0 c( k- Y) t9 q$ z
指定CATIDftViewMakeUp在Sheet中的位置" i4 H5 k1 k' _1 g. L! I- m- ^& b
(CATIDftViewMakeUp::SetPosition), 再最后,
* ?# P1 D6 {9 h把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView) 2 y  U  o" {( L+ p' k5 W3 \% }; w5 _
, ], J  N, y2 _$ D  f/ y
7。嗯,别忘了还要Save文件。
7 x! S" c+ N- z3 b8 S7 {, z
! d+ U( G' C# Q9 ]+ W9 ]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了