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-国产软件践行者

[二次开发源码] NX二次开发源码分享: 创建精确外轮廓

[复制链接]

2019-1-17 10:56:35 1900 0

admin 发表于 2019-1-17 10:56:35 |阅读模式

admin 楼主

2019-1-17 10:56:35

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

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

x
NX二次开发源码分享: 创建精确外轮廓0 \- S/ s/ L% L1 N/ U+ b' L
, s6 A+ Z0 r/ v
UF_CURVE_create_shadow_outline (view source)
; |1 m9 t+ e& U8 U3 A+ c0 ~+ P6 H
/ F( x" c. a/ ~" O" N7 S2 ^Defined in: uf_curve.h3 S+ ~1 V! T& `( I0 [

# D$ Q8 [: `) Y+ K! D% D) G. J$ J! G: t/ c
Overview8 ?! i. i* X  Q+ J  C# e

) a( F  c, C5 [: a7 lCreate shadow outline for a given array of solids. Solids passed to this : f( {6 o0 t# Q6 g! V
routine must be on a selectable layer and visible. If created shadow curves
/ L! Z0 y* c& P0 }6 W0 scan not form loops, please use UF_CURVE_create_shadow_curves instead to get # u8 C  v9 J1 g) v: ~
shadow curves.
& e& u. u! B4 \$ H* f+ A/ N0 c6 V& H# ^! Q5 ]1 T& _$ k+ V* Y( L) C

& }  G5 D4 |& c& y8 D[hide]
  u, ?7 O- }' ?3 D; z% s1 Z; E3 W) V, C" B
[mw_shl_code=csharp,true] void DoIt()
" L5 d8 ^7 `* L0 A6 F. X. U+ I    {' e  S. k, M5 l3 ]  \4 w$ ~
        if (theSession.Parts.Display != theSession.Parts.Work)
, i7 @6 O: \! Z            theSession.Parts.SetWork(theSession.Parts.Display);" h4 \+ b* ]) N$ \$ D1 i
! U# @5 D2 i$ `* K. \! }

7 Y! a# d# R# l        TaggedObject[] theBodies = null;" a  {5 S. k  P
        if (SelectBodies("Select Bodies", ref theBodies) == Selection.Response.Ok)
1 Y5 j' M# H/ F+ X3 L. Q' ]        {
( l" o: |5 }: `& _4 g" B# n9 b            Echo("Selected Bodies: " + theBodies.Length.ToString());
/ l; Z+ n$ \% q- u) `, c; O            Tag[] theBodyTags = new Tag[theBodies.Length];
1 M* r9 W% y1 T9 K0 l            for (int ii = 0; ii < theBodies.Length; ii++)1 l% S8 t% G8 h7 b4 j/ q% O
                theBodyTags[ii] = theBodies[ii].Tag;
& z' J' ?. I" z! E
& k$ D& j  U* ~7 M. s- Y* j* F            List<Curve> theOutlineCurves = new List<Curve>();' ]6 `* ~4 f. p& g1 F, V' _. u
            ModelingView workView = theSession.Parts.Work.ModelingViews.WorkView;! N) S9 Q& D) ]/ b7 o
            int loop_count;, u' v* y% T( B3 ]0 j
            int[] count_array;: m) _9 a- _( @; F9 t9 h0 H
            Tag[][] curve_array = null;: o/ Q( l) F& r) t2 L/ d; Y
            double[] tol = new double[2];
, J& D6 L7 o3 m) I
1 \* `5 ~  @0 j            theUFSession.Modl.AskDistanceTolerance(out tol[0]);+ G! C6 D! {5 T- [, h
            theUFSession.Modl.AskAngleTolerance(out tol[1]);
; F9 ~. C2 }0 z0 O& R" s. m2 W
% P. }0 E( L. _8 E            theUFSession.Curve.CreatePreciseOutline(theBodyTags.Length, theBodyTags,
2 w* u2 `7 o3 L% T- o! I                workView.Tag, out loop_count, out count_array, out curve_array, tol);
; D2 H$ P  `& j( X1 E0 O
" |9 H) A* T4 a5 |1 n" g            Echo("Precise Outline Loops: " + loop_count.ToString());
( i2 M5 E- i# U/ @  e/ t+ ]2 h            for (int ii = 0; ii < loop_count; ii++)
; U  ?+ m& O  X/ v' J; q                for (int jj = 0; jj < count_array[ii]; jj++)
* ^2 f$ a. Q& z- x3 P) ?                    theOutlineCurves.Add((Curve)NXOpen.Utilities.NXObjectManager.Get(curve_array[ii][jj]));
* D& u- d: b  f# m8 N: m            Echo("Precise Outline Curves: " + theOutlineCurves.Count.ToString());
3 r# T8 d/ r3 L  m0 e) r( O0 }5 |
+ n) q7 k/ y0 y7 X8 [. g( A            /* If created outline curves can not form loops, use UF_CURVE_create_precise_outline_curves instead & [# ^1 n$ L' m+ w- N* q6 F
            int curve_count;" N" @& Q$ V; Z8 Q( l% Q$ m. z4 y
            Tag[] outline_curves = null;" A9 W$ a5 c+ H2 h
            theUFSession.Curve.CreatePreciseOutlineCurves(theBodyTags.Length, theBodyTags,
6 Q, b$ N5 _5 ]4 Y: t! b                workView.Tag, out curve_count, out outline_curves);& W0 y4 t( G; W$ N  L2 W
            Echo("Precise Outline Curves: " + curve_count.ToString());0 z& S  l0 Q+ u0 y3 A
            */+ Z  T; b( Y; G- T# U5 f
        }# |. v: v& b9 v6 c
/ o. N0 j) @- v& l. ?/ ~4 Q6 L2 d
    }[/mw_shl_code]) `& S6 M5 Z) R- S: ~
[/hide]) Z, U# Z- E6 V: R7 O- @  j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了