PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

[资料] 装配和单个零件混合模式下Composite Curve曲线抽取实现方式

[复制链接]

2019-7-5 21:20:37 1633 0

admin 发表于 2019-7-5 21:20:37 |阅读模式

admin 楼主

2019-7-5 21:20:37

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

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

x
代码分享下,其实场景是这样的,我们要需要抽取一个边的线条,通过composite curve去处理,但是在非装配下,基本上是通过composite curve进行抽取,在装配下,需要通过 wave link composite curve,两个方法场景不同,这就需要进行分别判断。
! M2 x. R1 e" w. d& O& b) h1 c4 Q6 p. K3 y- j3 ^: Z
紧紧判断是不是一个occurence还不够,因为在选择边如果零件是工作部件的话,这种情况wave link是无法使用。$ z6 j2 V2 }" d0 V" p1 o4 ?
# W. w) w6 q# ^# \5 G5 b6 i
                        if (!selectFaceGroup1.empty()&& !selectFaceGroup2.empty()&& !selecTCurveGroup.empty()); l2 a$ Z1 i( L* A) `0 u
                        {
6 r/ r" _4 A- H7 L# h                                // we need add more check for the edge selection! K6 z8 J4 ]) ]
                                for (int i = 0; i < selectCurveGroup.size();i++)
# ]# N( ^( @5 U' E$ m                                {
; |8 L1 s! _' Q! I1 g                                        //////////////////////////////////////////////////////////////0 _8 f. ], j2 [) F0 o2 ~$ k$ h4 h
                                        Edge * selectEdge = dynamic_cast<Edge*>(selectCurveGroup.at(i));
5 \, G& ^: t4 k: r. l2 w                                        if (selectEdge->IsOccurrence() == false)
( @1 R2 y. ~$ J3 P9 g! l% \# X                                        {9 g# M9 t& p: K8 {$ y5 Q
                                                selectedEdges.push_back(selectEdge);$ S( W+ ?; v( m6 ]3 r. l
                                        }
4 V6 R, m/ P6 M  H7 K( `( h- b                                        else, P6 i. _+ `7 d; J8 U6 n
                                        {) S. A( g' |4 D9 T6 |' V4 X
                                                if (selectEdge->Prototype()->OwningPart() == workPart)
' s9 B3 M1 e0 y- |( A6 e" h% G                                                {
7 |, G* d) l+ b0 C                                                        selectedEdges.push_back(selectEdge);1 C* z" a3 S0 C% o7 }. j/ b
                                                }
3 }: R: q! O1 D                                                else
: h: r: S0 F0 i$ V                                                {
: R& x, Y5 M8 Q  ]/ m: }4 @                                                        selectedEdgesOcc.push_back(selectEdge);
5 t; ^+ ^4 U( L& Z                                                }- d2 G7 k1 r+ K
                                        }! ~9 G/ U# w& L
                                }
/ Q# N4 B; R/ E( E$ K( L* M0 f( w' E( k: H8 H7 e6 B% j
                                
! C* V( U$ P# C: ~' [' s                                //2 get composite curves
( s) F" X2 \9 o                                if(!selectedEdgesOcc.empty())
, @: Q6 A$ w$ X! z! S, H# w( J                                {/ ^+ x; {: G; f$ ~
                                        errorCode =createWaveEdges(selectedEdgesOcc,compositeWaveCurves);0 |! _2 S, h+ j7 w
                                        if (errorCode || compositeWaveCurves == NULL), L8 W3 w( j7 q+ o7 s) o
                                        {
. c! B$ y% b- f                                                CheckDTS::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeWarning,"Create Wave Composite Curves  failed!");
! f, N9 ^9 t, o& V1 p7 e                                                return 1;7 n' S! M$ Z3 |* Y; J
                                        }
, J5 k8 m# x3 z( I$ ~$ a; N                                        vector<NXObject *> allCurves = compositeWaveCurves->GetEntities();
' F& R0 {7 K- \0 c% o2 A* B) Z9 _; Y6 x" g7 O" I  h8 ^* g
                                        for (int i = 0; i < allCurves.size();i++)
* S0 c* t9 ~# E3 n                                        {2 m1 Q, s4 O; L4 _7 \
                                                sectionCurves.push_back(dynamic_cast<TaggedObject*>(allCurves.at(i)));0 Y1 d% C+ b8 {  Y
                                        }" ^* ]  S  [- O- u0 x2 T; K
                                }
; C5 q$ S" |2 i* I- x0 a                                if (!selectedEdges.empty())1 s2 F  R) p5 F; z
                                {) O+ M* X' S- c# O5 s
                                        errorCode =createCurvesFromEdges(selectedEdges,compositeCurves);
- p2 \# ]1 b; z                                        if (errorCode || compositeCurves == NULL)
9 ]+ N' c5 L5 X! {0 w                                        {) D% _( Z2 g. _4 o8 P8 Y
                                                CheckDTS::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeWarning,"Create Composite Curves  failed!");0 U9 n4 i6 B  e5 Z  n
                                                return 1;8 k+ T0 ~7 ~$ x4 c
                                        }
, o! [* y) ^; e4 F' T* o( p                                        vector<NXObject *> allCurves = compositeCurves->GetEntities();
' H/ G/ O, w4 ?" c1 |                                        for (int i = 0; i < allCurves.size();i++), n5 Q! c0 B! W( `+ S: s2 ]
                                        {
% C$ _3 e# r- N6 `                                                sectionCurves.push_back(dynamic_cast<TaggedObject*>(allCurves.at(i)));
' h1 S& U5 |* ]) `5 x% g: }" Z  D                                        }                                       
  @5 J4 c# u% |                                }7 [6 h9 H6 G7 _& j( a* k
' M0 u+ i7 f& n  ]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了