PLM之家PLMHome

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

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

[复制链接]
admin 发表于 2018-5-5 08:16:03 |阅读模式

admin 楼主

2018-5-5 08:16:03

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

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

x
5 G3 w$ u! S0 _% ?
* [$ G: j( H$ ^, s8 `$ N# \' S

; p" O! x! G+ l7 s3 N提示:要关联的Doc必须是当前Doc. ?+ I, {, }; j5 M' m6 h
CATFrmEditor *pCurrFrmEditor = GetEditor(); 5 g1 K' g6 j  y2 z# e8 \
CATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
" l9 a: B! x3 b  ^CATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
8 `, }2 c) A' N& ^2 \CATILinkableObject_var spLink(pCurrElemBase);
3 H0 i  S7 ?& s1 e6 v
- c4 k/ U& A1 X3 ]" d
" T. {9 A2 a9 F8 j1。首先要生成一个新的Drawing, 在interactive mode的话,
8 H! g/ u; O- v8 [从session QI 得到一个CATIIniInteractiveSession,
3 g2 e$ `! @) T4 T; ~) k用CATIIniInteractiveSession::New("Drawing", opMyEditor)$ i0 N4 B2 C5 x$ a' \6 J7 E
来生成一个新Drawing。(baTCh的话用CATDocumentServices) & c+ A3 L1 N& b" e; O, N! A: Q

  ?7 y% \  I; t9 Z5 w2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,, L2 y5 P& |$ d4 o( x7 _3 e
用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing, . h; r9 @( o- j( n/ W( V
CATIDrawing QI CATIDftDrawingFormats,
9 n) o; P/ C$ ]- u  D( L) ~: U CATIDftDrawingFormats::GetAvailableFormats()) r) Z8 F. g- R% p: B0 b7 C
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去 " T- Q2 i4 s' F% z; n
( u# h5 J% I/ @/ C4 x# A
3。从3D生成Drawing要用到CATIDftViewMakeUp。
7 {( A6 m, y& b$ {' |$ C先从Container QI CATIDrwFactory, ' J0 `2 O9 a3 j0 e' E# Y% n
用CATIDrwFactory::CreateViewWithMakeUp()
- _2 z( ^1 v- d- N. V& o+ O生成一个CATIDftViewMakeUp。 7 x8 t) A  A# X! M& Y1 k. M/ G
9 t" H$ _! \! H1 {
4。从CATIDftViewMakeUp::GetView()得到一个CATIView,; c3 p, w# r: e6 ^
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设
6 H, ~# c, o) a8 V# G上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
! x5 p2 s- v& E8 |* k; k# G! [% b, u  s: }: ?, Z5 u
5。还没完,从3D生成2D视图需要指定一个投影平面,0 P, \# `: g$ A& S! j4 Z
由CATIView QI 一个CATIGenerSpec,
: H, T6 R! r6 p1 V用CATIGenerSpec::SetProjPlane()设定。
. \1 W: V. ~2 Z2 i8 B3 C  y8 [' t3 A+ e" M! S$ D1 u$ U  N. w
6。最后,对Drawing的Sheet设定Format(前面得到的), ) L# A6 c' J  y) p' a: D5 s# s$ z$ m
指定CATIDftViewMakeUp在Sheet中的位置; @) N% U: E( R7 P
(CATIDftViewMakeUp::SetPosition), 再最后,
- D( }9 \9 [0 d) P把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView)
8 M  m+ }" F6 L5 a# d/ ^. t1 _4 V: o% n# \1 ]
7。嗯,别忘了还要Save文件。/ [2 ^1 J6 M% m  z& c$ D
# x1 E7 ~! c: C5 B' M. J( ~
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

:
管理员
:
xduniverse@qq.com
:
点击这里给我发消息
:
http://www.plmhome.com
:
原西门子NX高级教务员,10多年NX培训,开发咨询,Teamcenter培训实施等

主题2397

帖子3648

积分68814

图文推荐

  • 官方文档,NX12 使用 Python进行二次开发相

    官方文档,NX12 使用 Python进行二次开发相关配

  • Tecnomatix 二次开发入门教程 5 创建Tecnom

    Tecnomatix 二次开发入门教程 5 创建Tecnomatix

  • Tecnomatix 二次开发入门教程 6 实现打开PL

    Tecnomatix 二次开发入门教程 6 实现打开PLM之家

  • Tecnomatix 二次开发入门教程 3 第一个hell

    Tecnomatix 二次开发入门教程 3 第一个hello plm

  • PLM之家NX插件V8.0.0.0发布,支持NX1847版

    PLM之家NX插件 ============================

  • 关闭

    站长推荐上一条 /1 下一条

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    PLM之家经典培训教程--强烈推荐

    PLM之家(plmhome.com)提供专业的实施开发培训

    NX二次开发基础培训 | 已 80 学员 参加

    CAA二次开发 | 值的一试

    Teamcenter用户基础入门 | 虚拟机赠送

    限时优惠,原价3000,现价888

    UG 二次开发CAM加工开发培训火热报名

    哥已知晓