PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2018-5-5 08:16:03 | 显示全部楼层 |阅读模式

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

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

x
0 w4 t  @& b( T# i

- p. I/ C, T5 I; `+ {) b% }5 s  [: B" @
提示:要关联的Doc必须是当前Doc. w9 ?/ {6 E. k2 g5 [& D7 ~. s
CATFrmEditor *pCurrFrmEditor = GetEditor();
4 a8 V2 H2 G- S; S1 OCATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
; U- G5 ^9 v6 k# e9 u8 rCATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
, r* U/ F% N. N1 M6 t- v6 {2 KCATILinkableObject_var spLink(pCurrElemBase);   A5 g5 s) H9 K, `: o# q+ M1 m8 X
3 `+ t/ U/ v" h! e+ ]" K: e; F; q

8 a% I8 H$ Z; L& l! W1。首先要生成一个新的Drawing, 在interactive mode的话,# s- ?* Z; y0 r
从session QI 得到一个CATIIniInteractiveSession, ( _( ?% t6 J8 c! A; f
用CATIIniInteractiveSession::New("Drawing", opMyEditor)
( P: @) q' `% y: D3 k- {0 b来生成一个新Drawing。(baTCh的话用CATDocumentServices) # A( {0 Q2 m' Y0 `2 t( V- G4 ~' s
3 h2 [2 ?' Z! G  Q
2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,
* Y/ c9 n/ a( K- k# r- g用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing, ! C9 X' Q+ y2 F( X1 e
CATIDrawing QI CATIDftDrawingFormats,5 \7 l" _: b  I$ X( h+ }3 T6 ^
CATIDftDrawingFormats::GetAvailableFormats()9 P% b6 |1 Q4 x$ h$ P
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
4 y, N0 V4 @: ~! D1 a
( x8 N5 i% Q) Z1 H$ d6 a3。从3D生成Drawing要用到CATIDftViewMakeUp。
! N1 l3 J" |) l$ B% I先从Container QI CATIDrwFactory,
2 P% _: r* z: g: ~& n1 [用CATIDrwFactory::CreateViewWithMakeUp()! W6 s+ B, U( @1 V
生成一个CATIDftViewMakeUp。 # y' ?& m- E' i+ o3 G* W

: z9 `/ a% v' @' o/ e& Z4。从CATIDftViewMakeUp::GetView()得到一个CATIView,
; T  b( W- t7 f; H2 f, ^& m这是才能用CATIView::SetDoc()把3D的Part的linkableObject设
7 i( n' G2 |! {- t上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
& o: h5 e. L! {1 v. D. x1 S
  `& d2 H. C7 E( [5 N" F5 s5。还没完,从3D生成2D视图需要指定一个投影平面,2 M* [; y: T0 L+ S6 I% g
由CATIView QI 一个CATIGenerSpec,
5 R; U- }# _$ ]5 s6 @8 ?2 p3 W用CATIGenerSpec::SetProjPlane()设定。
5 x4 v7 K% r3 r6 K; k6 ~6 ?4 D9 N3 P6 i6 Z
6。最后,对Drawing的Sheet设定Format(前面得到的), . w$ Z: `4 ]4 Z4 N6 q3 Z, [7 }8 r+ a
指定CATIDftViewMakeUp在Sheet中的位置5 |5 N" x9 y) U# e; W* E9 A# F
(CATIDftViewMakeUp::SetPosition), 再最后,# _2 h% f/ C6 T6 z! ^# ~
把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView)
/ x$ g( I7 O! Q: d0 w/ Q, D7 T8 E) H+ n4 m2 B" `6 [! c- {: t$ _
7。嗯,别忘了还要Save文件。
# e) j0 [/ k& Z3 f- ^3 H& b$ F' {3 H! k, E" Q1 C7 C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了