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

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x
  A/ c" M6 J2 @8 Z& d1 o
8 a* Z' M4 V6 n% ]; d

0 j( \+ q/ Q! x# \3 `6 B' y# g提示:要关联的Doc必须是当前Doc/ V" P) z- `5 ?2 N
CATFrmEditor *pCurrFrmEditor = GetEditor();
% r& u2 C+ P+ E7 Y7 z" LCATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
: k8 D& Z9 l0 T/ h2 E1 s* F2 L" NCATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement();
9 `& G& Q6 |  K& DCATILinkableObject_var spLink(pCurrElemBase); * Y4 O& C. h  v  C
% \% O3 U7 V. h$ E; p9 T* Y

( {' }4 S! Y3 L3 L  M1。首先要生成一个新的Drawing, 在interactive mode的话,
. V/ }: [7 B- G4 q0 Y从session QI 得到一个CATIIniInteractiveSession,
$ D7 X$ V- N+ {1 U用CATIIniInteractiveSession::New("Drawing", opMyEditor)  c1 m/ r2 Q& n9 z
来生成一个新Drawing。(baTCh的话用CATDocumentServices)
! _: X: D7 n' L, _$ i7 |  {5 d0 V) N
2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,0 w( V+ P. s' e3 Z& M% I4 f
用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing,
6 [( h) Z) O9 E. V7 E" _5 a; a3 W0 x7 dCATIDrawing QI CATIDftDrawingFormats,- z0 l2 S6 u! @  Y; H5 I# ^
CATIDftDrawingFormats::GetAvailableFormats(); p1 |; L9 }2 ^  [
得到可用的Format先放着,以后从这里面取一个自己想用的设置上去
$ B) a2 \" k" W! J; E
! b/ l( Q3 I/ f5 O3。从3D生成Drawing要用到CATIDftViewMakeUp。# x# Z, `1 J2 t5 v
先从Container QI CATIDrwFactory,
* z9 _" E  I# P用CATIDrwFactory::CreateViewWithMakeUp()
$ J8 t5 A; R' x7 ?$ \生成一个CATIDftViewMakeUp。 % }3 h6 u5 W4 s' q( q
4 g( q6 ~% M( b  Y2 `6 S
4。从CATIDftViewMakeUp::GetView()得到一个CATIView,% l1 D3 b4 x5 W: S3 `
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设
) L! \$ `6 p" h上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
5 u" G$ g9 j6 h) [* h- K, ^% f0 s% \- D' D- `6 d' z, y. Y
5。还没完,从3D生成2D视图需要指定一个投影平面,
4 k: N; z' \, J! _; }由CATIView QI 一个CATIGenerSpec,9 h, s! t8 D; Q$ S& ]/ ]* k* }2 A
用CATIGenerSpec::SetProjPlane()设定。
, t8 E* Z  P, S1 h1 @" f& G$ X. b" X* i. @* \+ R( _$ Y
6。最后,对Drawing的Sheet设定Format(前面得到的),
, O0 Y4 U4 m9 D9 n9 r, T# ~" s# N指定CATIDftViewMakeUp在Sheet中的位置
* ~8 ~( S) w! \- r8 o3 m1 c(CATIDftViewMakeUp::SetPosition), 再最后,
/ O" s. @' ^, `  t: C; r1 `" O把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView)
2 Z/ O) Y& Q' j1 y; u) `( k+ ~4 V/ K# t+ b9 n0 T6 b5 f
7。嗯,别忘了还要Save文件。
/ }0 u! W, i2 L5 v8 |" O" ~) c3 J% H8 z; E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了