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

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

[复制链接]

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

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

admin 楼主

2018-5-5 08:16:03

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

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

x

; ]* C6 w( X6 a  _9 x8 l; L8 k
; ~; O6 P$ W. Y1 a) S7 D0 u7 C2 K6 B/ x& Q: ~$ N3 c& q
提示:要关联的Doc必须是当前Doc( s% m  K$ m. R+ @6 J
CATFrmEditor *pCurrFrmEditor = GetEditor();
& J8 E1 \  _' @4 g) zCATPathElement oUIActPathElem = pCurrFrmEditor->GetUIActiveObject();
  b0 L2 y3 ^/ rCATBaseUnknown* pCurrElemBase = oUIActPathElem.CurrentElement(); ( P  o4 j. p% {8 N7 J
CATILinkableObject_var spLink(pCurrElemBase); 5 T1 E( m0 J7 t% y1 R3 j1 \& q
" Y+ K5 P" k6 D' q& i

& q: i6 z( v5 V& g7 x; L8 ]1。首先要生成一个新的Drawing, 在interactive mode的话,/ u: ~2 H$ q6 z! ?" A
从session QI 得到一个CATIIniInteractiveSession,
6 R+ B2 K! {0 Q8 i$ ]用CATIIniInteractiveSession::New("Drawing", opMyEditor)
8 U- Z0 O6 ?( K, a, o% \9 S! J来生成一个新Drawing。(baTCh的话用CATDocumentServices)
4 X: e* n2 m# s/ o6 x! ^# T  C! N3 }- k+ `' O, y1 U- n3 Z. q3 C/ g0 i
2.从这个新Drawing的Doc QI 一个CATIDftDocumentServices,' z  |3 `1 N  y2 n$ K
用CATIDftDocumentServices::GetDrawing()莱得到CATIDrawing, 0 H  m0 L8 n5 t' p
CATIDrawing QI CATIDftDrawingFormats,
0 C' U3 {1 [- _ CATIDftDrawingFormats::GetAvailableFormats()
7 S+ k( `9 r- W% E; s: h7 D得到可用的Format先放着,以后从这里面取一个自己想用的设置上去 ! t/ M6 K+ a2 a9 j% {9 K

9 y0 V" J! {3 k7 A3。从3D生成Drawing要用到CATIDftViewMakeUp。
) y) c6 ]. i9 s先从Container QI CATIDrwFactory, + K, j: R5 L; P) ]& ^+ C
用CATIDrwFactory::CreateViewWithMakeUp()
! W, ~$ U, R" _生成一个CATIDftViewMakeUp。 3 }& u8 g' X' B& l5 B: P4 `
( H$ e3 d0 }6 _. v# W" W
4。从CATIDftViewMakeUp::GetView()得到一个CATIView,# x! _, h) \; G4 Z% }
这是才能用CATIView::SetDoc()把3D的Part的linkableObject设" X0 x: j* z) Z5 _, D
上去,还要用CATIView::SetViewType(FrontView)来指定前视图。
+ P, o1 o- ?( E0 @9 y2 o: [$ {2 c5 X, T+ \% S6 O% ?% Z
5。还没完,从3D生成2D视图需要指定一个投影平面,
' y. X( m6 z  K  W由CATIView QI 一个CATIGenerSpec,
4 h' I) ?2 R( H& R3 b4 i用CATIGenerSpec::SetProjPlane()设定。 ; E1 y/ i3 c7 ~4 N
( b) r- a* V! J# q) ?! F
6。最后,对Drawing的Sheet设定Format(前面得到的),
5 @0 n2 S1 o* i- J; R4 m指定CATIDftViewMakeUp在Sheet中的位置1 l4 |; l* o0 Z. B$ H
(CATIDftViewMakeUp::SetPosition), 再最后,
9 r9 x% K* x+ t. \把CATIDftViewMakeUp加到Sheet上(CATISheet::AddView)
! Y0 r+ j/ V0 [8 r" r( L
. B9 g2 V6 h) q6 _7。嗯,别忘了还要Save文件。  y5 _" F3 `$ ]4 I2 x

; z; }# C. o0 C# L7 M
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了