PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

[复制链接]

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

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

admin 楼主

2019-1-17 10:56:35

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

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

x
NX二次开发源码分享: 创建精确外轮廓: |+ q( f# i: B& `& T& {
7 E- o3 Z4 }+ }6 e' R
UF_CURVE_create_shadow_outline (view source)4 P; t  Z; V0 x' @& k& |
1 b3 @/ a0 m: P# J
Defined in: uf_curve.h
$ U) D$ s) D* y, M
$ ?2 [5 w& H* `4 F1 k( x, i, q( Y4 r. W4 |, d) O! N
Overview
2 J9 ~( d' Q2 }- r# f0 A3 g1 ?! p0 {: P  m/ q
Create shadow outline for a given array of solids. Solids passed to this
2 G/ a  U' a# n/ Rroutine must be on a selectable layer and visible. If created shadow curves
# o4 d4 N% W5 u( k4 y" U. mcan not form loops, please use UF_CURVE_create_shadow_curves instead to get / D7 W0 l5 L; H: c) t6 H1 z/ J
shadow curves.
- D/ W5 z3 F3 s" h$ P( e: }
; Q! U. ~; {. I4 d  Z
0 g2 t2 s! X, O! A0 {$ q1 o[hide]$ W. T8 v# e3 _# o' d# f

" `4 J8 ^/ j  q[mw_shl_code=csharp,true] void DoIt()
' x0 ^4 p9 H) R( |) h$ T8 c    {5 T/ Z( a3 ]  E! |" V/ y
        if (theSession.Parts.Display != theSession.Parts.Work). T2 `! u: W  e2 w- @+ Y- S* \6 U
            theSession.Parts.SetWork(theSession.Parts.Display);
  ^& E! V8 \* e: p$ {
$ H4 X8 ^# Y+ E3 y$ p1 Q/ h0 l
  Z6 V: q) {: h' @/ Z6 ^% j# H        TaggedObject[] theBodies = null;; y4 h" t4 w9 k* c* H- g1 ^
        if (SelectBodies("Select Bodies", ref theBodies) == Selection.Response.Ok)
6 {4 ?6 }# b% |  M' O8 _        {
: y4 ?' o+ Q) B9 M3 c0 F' i            Echo("Selected Bodies: " + theBodies.Length.ToString());. x" J! T3 `6 o0 T
            Tag[] theBodyTags = new Tag[theBodies.Length];( T, l/ e+ i$ k3 U# B6 d
            for (int ii = 0; ii < theBodies.Length; ii++)7 ^: W: [3 s/ K/ n: y
                theBodyTags[ii] = theBodies[ii].Tag;0 p- T0 M9 D! Q6 M- O

7 H+ r( L: c& l- i+ L            List<Curve> theOutlineCurves = new List<Curve>();  p* b8 ^- ^& i# N8 D5 f5 x  _" w
            ModelingView workView = theSession.Parts.Work.ModelingViews.WorkView;* L0 p; w/ v0 k* V+ `( f
            int loop_count;' ]' \1 T& [% ^" i0 z
            int[] count_array;' z  A! M1 U6 F0 i& \: ?
            Tag[][] curve_array = null;
6 B5 d% O! R( `4 t4 R            double[] tol = new double[2];
7 w" R1 s3 m" ^. [" R
9 n1 a5 @9 g' [+ I, r; x0 a) y            theUFSession.Modl.AskDistanceTolerance(out tol[0]);8 a# J& t& m% `
            theUFSession.Modl.AskAngleTolerance(out tol[1]);+ M  L! q2 \# Y$ R% [- o: C+ X- z
; ?1 E/ N6 o9 ]& t. h. Y+ W* c
            theUFSession.Curve.CreatePreciseOutline(theBodyTags.Length, theBodyTags,) _. O/ o. K0 v9 N
                workView.Tag, out loop_count, out count_array, out curve_array, tol);( c5 u  z# l' S: B. T
' s$ W+ f$ N/ R! y/ b: o7 a
            Echo("Precise Outline Loops: " + loop_count.ToString());
! S* H; w7 y" l            for (int ii = 0; ii < loop_count; ii++)' a, R0 b* v  `+ O2 u  @
                for (int jj = 0; jj < count_array[ii]; jj++)
4 j: Y0 ~7 X9 z6 I: _+ ]                    theOutlineCurves.Add((Curve)NXOpen.Utilities.NXObjectManager.Get(curve_array[ii][jj]));: }7 b! }3 R6 {$ J0 o- ~1 q7 d
            Echo("Precise Outline Curves: " + theOutlineCurves.Count.ToString());
# H8 T7 B9 @+ D0 _# L- \: J
. I3 L8 f* u5 e% x: d4 }& ]. m            /* If created outline curves can not form loops, use UF_CURVE_create_precise_outline_curves instead ; S' l9 p; v4 X+ D0 U( e3 u5 `
            int curve_count;/ g7 g5 ~3 T7 a2 Q3 p, F
            Tag[] outline_curves = null;) j( O' w6 k& c
            theUFSession.Curve.CreatePreciseOutlineCurves(theBodyTags.Length, theBodyTags,
8 `# A$ s( H, s; e9 _3 V: y( M9 I' t                workView.Tag, out curve_count, out outline_curves);
/ V. y3 D% N* P: _% X2 V% i- i, g            Echo("Precise Outline Curves: " + curve_count.ToString());
5 k! a4 H# y# s5 T            *// E) \: i3 e0 a4 C
        }" t' I0 I9 e2 G

0 `- t5 H4 f0 G    }[/mw_shl_code]3 \( T; T" Z4 B0 I
[/hide]
) C0 P3 @1 A# v) O& J0 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了