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

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

admin 楼主

2019-1-17 10:56:35

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

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

x
NX二次开发源码分享: 创建精确外轮廓" f) x* W9 i6 i' L

0 e8 K- h( A% _  W! B* d8 MUF_CURVE_create_shadow_outline (view source)5 s- [& v9 }4 B: k

- M/ R' K5 a$ \  \7 G' `* cDefined in: uf_curve.h. m0 Z; S" s  H. H) q+ P$ I/ y
# G6 B# R, V1 n5 M' d# e4 G
) o* S" e# b$ e3 E7 S0 D& A& W5 ~5 ?
Overview# r8 Y# S5 w& [0 M' G7 p5 G
+ q5 e6 ?- h+ T+ ?
Create shadow outline for a given array of solids. Solids passed to this
  a* N3 N# D8 {) Yroutine must be on a selectable layer and visible. If created shadow curves ) Y5 U$ M- C: j( U  |$ C
can not form loops, please use UF_CURVE_create_shadow_curves instead to get + N3 s6 j0 ^* |
shadow curves.
1 e* B: B* w  m+ f/ X* ], V5 t- z* \
8 B# [  i" x( y# {
[hide]- H) F6 d6 R- W5 u" W9 w
% m1 U& K# ~0 x* b# v
[mw_shl_code=csharp,true] void DoIt()$ k. X5 E: @" ~" l* l6 s
    {
/ o( D" U1 r) F        if (theSession.Parts.Display != theSession.Parts.Work)* G% b2 Y2 a6 }( r
            theSession.Parts.SetWork(theSession.Parts.Display);% a( ~2 K( e& O! V) i/ t
1 ^- |9 e/ W9 n+ Q2 d) P

8 ]" C" W; _( R) P        TaggedObject[] theBodies = null;
: ^. J& g8 L/ P) Z        if (SelectBodies("Select Bodies", ref theBodies) == Selection.Response.Ok)
. J) M. p) y$ P; M        {
6 z0 ?" F$ G1 a( q/ j8 C            Echo("Selected Bodies: " + theBodies.Length.ToString());
0 ^2 z9 E: E. C+ J3 |) m            Tag[] theBodyTags = new Tag[theBodies.Length];- `5 F# I. G/ W9 }( R' N
            for (int ii = 0; ii < theBodies.Length; ii++)/ V3 w! }9 O, i  p3 m2 T: h
                theBodyTags[ii] = theBodies[ii].Tag;* L6 y' y* l7 q, a

2 V3 S# V0 Z# z/ F) E/ I            List<Curve> theOutlineCurves = new List<Curve>();
3 U1 V! f  [1 W4 C            ModelingView workView = theSession.Parts.Work.ModelingViews.WorkView;
! ^1 z4 ^9 b9 R% s8 g/ X) n1 s5 B. s9 b            int loop_count;6 ^  x: N1 [5 l4 b" w4 e
            int[] count_array;
3 D6 \: X) ^; J' G, Y            Tag[][] curve_array = null;) K3 ?7 p0 c' V+ ?9 s! n
            double[] tol = new double[2];9 n( J% x& H% l0 y, ]

8 }, X) F3 K+ W* {            theUFSession.Modl.AskDistanceTolerance(out tol[0]);$ h9 s+ d, t9 `7 {+ P% Y
            theUFSession.Modl.AskAngleTolerance(out tol[1]);
$ X/ j& U- K# |
. f# w5 J( k! M& Z+ \8 \8 y1 `            theUFSession.Curve.CreatePreciseOutline(theBodyTags.Length, theBodyTags,
/ U" D- O5 m! n1 R                workView.Tag, out loop_count, out count_array, out curve_array, tol);5 R+ u9 i1 W( G/ ?: ]$ `
# T  t- P5 U5 _7 b, l+ x
            Echo("Precise Outline Loops: " + loop_count.ToString());
% p; R% d3 g1 A4 k# j+ x; b# {/ L            for (int ii = 0; ii < loop_count; ii++)
# S  g: _- F2 O7 ^: ?6 R                for (int jj = 0; jj < count_array[ii]; jj++)
3 E. a6 n# d8 W6 v8 R                    theOutlineCurves.Add((Curve)NXOpen.Utilities.NXObjectManager.Get(curve_array[ii][jj]));5 z# L) y  x  @4 n, `
            Echo("Precise Outline Curves: " + theOutlineCurves.Count.ToString());" r) i+ \" M8 G5 @2 m5 q
) s' n6 A+ {% P( o4 c+ _$ ]! p
            /* If created outline curves can not form loops, use UF_CURVE_create_precise_outline_curves instead ) p" x8 G' l  V
            int curve_count;
' n: Z% p' r$ D7 Q; k, H            Tag[] outline_curves = null;5 W: S: c" _- q( V" S
            theUFSession.Curve.CreatePreciseOutlineCurves(theBodyTags.Length, theBodyTags, ) y/ J6 J+ X0 J  p" X7 x
                workView.Tag, out curve_count, out outline_curves);
- o7 B* R+ C* L0 ]9 L' k" q            Echo("Precise Outline Curves: " + curve_count.ToString());
7 D, z+ P( F. S! n) ]            */6 H& w: Z. k5 w2 x# A" {4 V
        }  A6 b: w# Q4 [3 W

2 \9 g" L: I& H) ]2 z    }[/mw_shl_code]
$ d: u& l" V* z2 _2 Q8 y[/hide]
: e+ m8 [4 i2 u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了