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

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

admin 楼主

2019-1-17 10:56:35

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

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

x
NX二次开发源码分享: 创建精确外轮廓
1 [! X% p* e$ ]2 D' {$ B! \" h- e# {) \! H* G1 s
UF_CURVE_create_shadow_outline (view source)) Q: ?  j+ n2 g: M  [
  x/ d* A6 Z% V; H
Defined in: uf_curve.h
4 ?$ T% A. e( C2 i2 f $ g4 }5 N$ r, g; d1 Y0 {: \- k
: _4 S9 W5 L; S0 }* S! s
Overview' J3 |/ J: d, K5 `

- V. V6 |: Q# D  n% `Create shadow outline for a given array of solids. Solids passed to this
( `5 y/ ^8 X7 croutine must be on a selectable layer and visible. If created shadow curves
2 n" H/ C6 T" x- k" I& e3 lcan not form loops, please use UF_CURVE_create_shadow_curves instead to get
' L6 }1 \" X# E& X, C3 y. x$ b) bshadow curves.
& @! F: g+ P; p& Q1 i, N/ Z; O4 S7 C' {1 X7 A1 M+ L

1 X5 z8 M$ \+ g* Y  X4 r[hide]- Y$ T  k+ \2 ]8 A8 d5 {8 H' v
: n- |9 c, e! l# m% A
[mw_shl_code=csharp,true] void DoIt()& }4 C  _( E" I. C" `
    {9 t3 e# J: w* i$ K) u; F  B
        if (theSession.Parts.Display != theSession.Parts.Work)) T5 ]( B4 N. Z2 c( j
            theSession.Parts.SetWork(theSession.Parts.Display);1 S6 [9 l6 N  W* K) @. N8 T- `8 R
+ ?) ?$ A( ~) G- f+ v- Z# J

* V+ D9 E' R6 t        TaggedObject[] theBodies = null;
4 q8 i, v8 T0 a2 p) v: [2 @        if (SelectBodies("Select Bodies", ref theBodies) == Selection.Response.Ok)( e7 e* V- O+ g: v
        {
$ N, l: K9 Q3 k" _* {% @            Echo("Selected Bodies: " + theBodies.Length.ToString());5 q1 N( c" `0 H9 f& {$ }" ?- E
            Tag[] theBodyTags = new Tag[theBodies.Length];" w3 \( K( D6 N3 _
            for (int ii = 0; ii < theBodies.Length; ii++)
3 H/ `6 Q' w! O) Q1 J8 U                theBodyTags[ii] = theBodies[ii].Tag;8 A; J9 v1 e0 z3 |

( L: F5 Z: q* E  M% v* B1 ~            List<Curve> theOutlineCurves = new List<Curve>();% q! g" m4 m' }- n, }
            ModelingView workView = theSession.Parts.Work.ModelingViews.WorkView;
8 Q* d8 f2 `' h            int loop_count;
' {& A6 @, O8 \9 t8 j            int[] count_array;
' B+ x$ r$ T4 D4 N0 O! H# M* Y            Tag[][] curve_array = null;5 k  [( b( f) w, k
            double[] tol = new double[2];
3 \( E' t8 d) Y9 L- m
$ i& t+ u% H4 _" h# E( S' }: ]. I            theUFSession.Modl.AskDistanceTolerance(out tol[0]);
" C) E- H6 D6 W9 A& c- L            theUFSession.Modl.AskAngleTolerance(out tol[1]);
! o2 `( j/ O  D
8 q, [& }# m0 Q: R  U* G            theUFSession.Curve.CreatePreciseOutline(theBodyTags.Length, theBodyTags,/ r3 K" L2 o9 d( B; l# \
                workView.Tag, out loop_count, out count_array, out curve_array, tol);. F) R  i% ]3 c4 I: r

! a( z# p) Q0 V* e6 y( L' K            Echo("Precise Outline Loops: " + loop_count.ToString());
  Z/ g* K4 ?- O            for (int ii = 0; ii < loop_count; ii++)
1 Q: T$ D8 a8 ^. N                for (int jj = 0; jj < count_array[ii]; jj++)
% T  x* L" i8 j6 e2 l+ ]& p/ y                    theOutlineCurves.Add((Curve)NXOpen.Utilities.NXObjectManager.Get(curve_array[ii][jj]));
8 G/ u( r. M. q# D            Echo("Precise Outline Curves: " + theOutlineCurves.Count.ToString());6 F0 L! J+ S4 C7 {5 ~

; u& q4 @& v0 Z" F/ s6 t            /* If created outline curves can not form loops, use UF_CURVE_create_precise_outline_curves instead / A7 @% l) X7 C0 Z
            int curve_count;4 ?* [3 R7 [" Q+ t9 C8 q$ p0 O
            Tag[] outline_curves = null;  u, j3 ^. [) N- D- f
            theUFSession.Curve.CreatePreciseOutlineCurves(theBodyTags.Length, theBodyTags,
( W1 t5 J( w2 s                workView.Tag, out curve_count, out outline_curves);: x5 W0 \. v* u% ?
            Echo("Precise Outline Curves: " + curve_count.ToString());2 l4 ]; j2 b0 W
            */8 `0 y4 Q5 c* U& J1 c+ z
        }
4 [. i; d7 F5 J" \/ g3 U7 g- P! S* i+ h% @: F
    }[/mw_shl_code]
: d6 Q# |5 a" Y7 w[/hide]
- F' G" W9 E% U* q* j# 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二次开发专题模块培训报名开始啦

    我知道了