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

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x
8 D/ M+ V  A5 ~3 v$ ^8 @
& A1 Y9 n( x9 }1 G

3 I% C) P; j0 D3 P) i7 S( O* b提示:要关联的Doc必须是当前Doc
8 P: b6 e: }6 J* ~' k( D$ e3 |CATFrmEditor *pCurrFrmEditor = GetEditor(); + h' U4 W7 ]# r7 X) m+ G6 ]$ `
CATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
6 L" [+ f3 r* F, [  lCATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
( L' W6 ?( }: A' o( y" I1 x4 }CATILinkableObject_var spLink(pCurrElemBase);
! j" O7 @5 R# g: H3 I: ^, A4 S8 q& l
! `! N. ?: x+ }% p! Z2 g& j
1。首先要生成一个新的Drawing, 在interactive mode的话,$ v$ n8 a- G; H% t, X1 }
从session QI 得到一个CATIIniInteractiveSession,   n. Q6 ^* u6 d
用CATIIniInteractiveSession::New("Drawing", opMyEditor), b) ?( }" ]2 G' I. G7 I' _
来生成一个新Drawing。(baTCh的话用CATDocumentServices)
, z; r9 K6 u' A6 c6 t0 T
7 Y4 ^9 V/ o8 m7 Q2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,
! o% J" F5 _  b$ T. o" X用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing,
5 B5 @! ]4 C* Y8 Z! B2 Z) d1 t* n) C; cCATIDrawing QI CATIDftDrawingFormats,
- S2 `( C) `( q. `% S. A3 z3 K) C2 ~ CATIDftDrawingFormats::GetAvailableFormats()
7 n! L; r' U% T得到可用的Format先放着,以后从这里面取一个自己想用的设置上去 - _4 G- o6 a& m! ^' _8 ~, O2 p
. P9 Q1 G6 F# B5 F
3。从3D生成Drawing要用到CATIDftViewMakeUp。& m& ?& d/ L" `; n& a. F
先从Container QI CATIDrwFactory,
$ j5 C4 ^8 o+ z6 N+ W3 y7 M. v用CATIDrwFactory::CreateViewWithMakeUp()1 m1 ?! u3 v  }* Q# Y
生成一个CATIDftViewMakeUp。 # E$ ?, p( d/ Z7 e6 ?( N

  m: D$ }5 Z: t9 i4。从CATIDftViewMakeUp::GetView()得到一个CATIView,- ?/ d& l+ F9 n* R
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设: S. l( [3 Q7 B! X; J: m
上去,还要用CATIView::SetViewType(FrontView)来指定前视图。 % d$ c$ X, j! v! S: f" g

1 ~9 U9 E5 w( ], ^' f5。还没完,从3D生成2D视图需要指定一个投影平面,
, h* ^3 ~  w7 W. M由CATIView QI 一个CATIGenerSpec,
# d. M! G  n; }4 Y用CATIGenerSpec::SetProjPlane()设定。
/ a# F# _5 ]6 M. Z( H8 D  Q' |; }  W4 P, j
6。最后,对Drawing的Sheet设定Format(前面得到的), 8 j+ G5 X0 }( {' ]- q+ f
指定CATIDftViewMakeUp在Sheet中的位置( a9 n( ]- G! X( W- D( U
(CATIDftViewMakeUp::SetPosition), 再最后,4 v7 j, a6 u5 h) \3 M3 P7 F
把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView) ' f# Q8 `! R& D0 g/ G# S0 Q% Y- L  R$ Y

4 b1 x7 Q% l, e  K. }8 Z4 m8 G7。嗯,别忘了还要Save文件。/ S7 v* z- |, y
: i+ L  A+ _2 U( s$ ]$ D
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了