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 1731 0

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

admin 楼主

2019-1-17 10:56:35

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

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

x
NX二次开发源码分享: 创建精确外轮廓
. E7 b0 |+ w9 c$ P: t, e8 {( H- R) F' G
UF_CURVE_create_shadow_outline (view source)
6 F  m0 v* D1 u6 Y6 {9 ]5 c
1 N8 K5 V" `. y: L, p4 }0 E" {9 [Defined in: uf_curve.h
) Q8 f2 [+ a+ c2 u% ~" t% F5 W
' I7 M' Q) F& k7 l" h' I5 }* x. K, L9 J3 ~% j
Overview/ F& \  X1 M( C, o; B) o+ ]
- R8 Z* v  |# a9 R3 b3 B+ }8 H, \+ j
Create shadow outline for a given array of solids. Solids passed to this
' O8 ^" o$ X; X( {' p5 J5 x0 wroutine must be on a selectable layer and visible. If created shadow curves
- V, v! E$ z6 a4 n& ?; L: H! Qcan not form loops, please use UF_CURVE_create_shadow_curves instead to get
- E6 @, h0 e& t& ~8 wshadow curves.
. ~  z. R7 n8 |
3 ~7 z( }- @( v9 q. P  }0 j# D! X. J- K! ~/ X
[hide]
" g, w3 }7 m+ q; s6 m4 i
; }( n$ f+ ^( q4 W' b  ]/ P' a[mw_shl_code=csharp,true] void DoIt()
% o: b. @% H( o  F7 X    {
4 H: w% q# D( R2 E& D0 i, f        if (theSession.Parts.Display != theSession.Parts.Work), ]7 Z# X' d9 c5 p. S  Y$ W
            theSession.Parts.SetWork(theSession.Parts.Display);
! `1 U) i( z. t& R3 ^1 i$ {) [
* K, Z1 t5 w( F! T. w
7 C. t- ?. Y, T: t; }        TaggedObject[] theBodies = null;& @4 \; ?, n. F! p
        if (SelectBodies("Select Bodies", ref theBodies) == Selection.Response.Ok)$ k0 b, U  `! G. t! i- d
        {
3 [; A  I8 F. s            Echo("Selected Bodies: " + theBodies.Length.ToString());
5 r8 g3 k4 P. K" Z            Tag[] theBodyTags = new Tag[theBodies.Length];
3 v- A  \2 |  e8 `, R            for (int ii = 0; ii < theBodies.Length; ii++)3 K; Q& L6 K) i, V3 @0 j# q/ a8 `
                theBodyTags[ii] = theBodies[ii].Tag;
) ^+ c! |& L) u& W4 c1 C1 T! [2 C# G! ]( {$ k
            List<Curve> theOutlineCurves = new List<Curve>();& L$ G6 M8 H: b$ s* A1 {
            ModelingView workView = theSession.Parts.Work.ModelingViews.WorkView;
+ Z2 X. W& A" i; d            int loop_count;; \0 C) X& y6 L, k
            int[] count_array;$ u( ~- Y, K1 b. m4 J  @
            Tag[][] curve_array = null;
4 `) V  S2 l/ D) m8 Y            double[] tol = new double[2];9 U/ I  J& S1 F6 k
/ Y9 P! g5 ?( x( g% Q% v
            theUFSession.Modl.AskDistanceTolerance(out tol[0]);* z6 q- G0 x& o0 B- i2 Q( U7 s; H
            theUFSession.Modl.AskAngleTolerance(out tol[1]);
5 \( v, X1 C* F
& ~( `2 ]9 O" S0 `            theUFSession.Curve.CreatePreciseOutline(theBodyTags.Length, theBodyTags,) W3 g- _* Q. ~. D
                workView.Tag, out loop_count, out count_array, out curve_array, tol);& J. D0 k, U" z6 O
! x1 O% U4 Y( k8 F' O: l. d4 @
            Echo("Precise Outline Loops: " + loop_count.ToString());
$ q" f: |" Q9 m- k& a; ?            for (int ii = 0; ii < loop_count; ii++)
9 l! L5 S+ g" L+ H( J9 H3 d                for (int jj = 0; jj < count_array[ii]; jj++)
. |" o* x( Z0 H+ p                    theOutlineCurves.Add((Curve)NXOpen.Utilities.NXObjectManager.Get(curve_array[ii][jj]));* r4 ?0 r9 D2 D2 U) q5 b# T
            Echo("Precise Outline Curves: " + theOutlineCurves.Count.ToString());
6 e- i6 i* I% j, |0 a/ [  d1 \& E, o& d7 u( W; F& _
            /* If created outline curves can not form loops, use UF_CURVE_create_precise_outline_curves instead
% ?1 X' a& v* F: S            int curve_count;3 V9 X1 b+ _0 v7 D. n
            Tag[] outline_curves = null;
/ Q& y  w4 V2 J/ D) D            theUFSession.Curve.CreatePreciseOutlineCurves(theBodyTags.Length, theBodyTags,
9 b' w$ r3 K" |) u                workView.Tag, out curve_count, out outline_curves);- U7 {2 b7 k0 C$ C  l3 _/ f9 q
            Echo("Precise Outline Curves: " + curve_count.ToString());$ w2 S# U3 U, w3 T3 n+ a
            */
: p/ {$ t9 B4 X% N9 |6 i5 }! i        }
- k0 [9 o; D3 X: R3 t. Q9 a" F" ]! }* D3 w
    }[/mw_shl_code]
: ~( [7 K" C+ O: I) F6 n7 o[/hide]0 f  `% Y% ]1 V1 I  y3 [( s) C# 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二次开发专题模块培训报名开始啦

    我知道了