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

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

admin 楼主

2019-1-17 10:56:35

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

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

x
NX二次开发源码分享: 创建精确外轮廓8 l6 i% i2 I$ Q8 R2 ~' e3 `

& v0 L+ h8 V8 AUF_CURVE_create_shadow_outline (view source)
" W( d9 `6 J* C2 H  w5 A& H 7 L% Z0 @5 d' s% B  ?
Defined in: uf_curve.h& m, B  h( P' @9 k& ~; K
* o  e1 ?% D$ ?
  Q  F2 @1 i& e3 L
Overview
4 G  ^, L2 W/ {6 J" A+ u$ h2 i$ s, s9 N
Create shadow outline for a given array of solids. Solids passed to this % G, Q) P; R; Q9 B
routine must be on a selectable layer and visible. If created shadow curves
8 Y2 f; i7 q; l: a  z3 h. ~- `can not form loops, please use UF_CURVE_create_shadow_curves instead to get 0 Q: s! G. b0 ]- F
shadow curves.
0 V; L* q8 }, C$ \5 A1 O% M) V+ H( l6 ~1 M) @
/ Z" m/ N; t6 x2 m
[hide]
4 v% q$ G$ R6 `9 x# u- M2 c4 N* `$ d2 c! d
[mw_shl_code=csharp,true] void DoIt()% T/ W; {) M+ m! O& c3 t
    {9 c% m) q. f2 R- N9 z& D* m* j; n
        if (theSession.Parts.Display != theSession.Parts.Work)
3 P) e$ m  W  N3 Z/ }            theSession.Parts.SetWork(theSession.Parts.Display);" l* N# c+ h7 N: c4 E

2 Q7 T- {# d6 N5 q4 \* n, U9 W$ M
, I0 e" S; u1 @* C        TaggedObject[] theBodies = null;/ m1 Y3 N* {$ a0 o
        if (SelectBodies("Select Bodies", ref theBodies) == Selection.Response.Ok)
4 Y& X9 {3 f  O% [" y( ~        {% E8 F  I+ w# J: c& u
            Echo("Selected Bodies: " + theBodies.Length.ToString());( K9 _" T! z6 L- U
            Tag[] theBodyTags = new Tag[theBodies.Length];" e3 T1 C- r1 h0 r  z- P& L0 C7 P$ M. c1 R
            for (int ii = 0; ii < theBodies.Length; ii++)) r) b  l! H' ?, H) W
                theBodyTags[ii] = theBodies[ii].Tag;
5 A' `1 d/ z& Y8 q( s1 {  H  ^' |, k7 ^
            List<Curve> theOutlineCurves = new List<Curve>();2 f7 Z3 R  t  J
            ModelingView workView = theSession.Parts.Work.ModelingViews.WorkView;$ M6 ]8 E4 d% E& }
            int loop_count;0 w/ _  n" q% r) R3 P! X( ?2 @+ d( s
            int[] count_array;
. x& }5 S+ _; C& G+ X. q7 J3 M! V            Tag[][] curve_array = null;
" H% Z, D6 z6 D$ r* C! i            double[] tol = new double[2];4 ~5 B$ b0 v$ @

% C' L  i! \0 a0 _4 j- x            theUFSession.Modl.AskDistanceTolerance(out tol[0]);
% _* W7 V& S! P: c& ?0 V% r+ P' a            theUFSession.Modl.AskAngleTolerance(out tol[1]);
; p5 K9 I* A  j6 `+ Y" I- L- m6 B* F% _, Q# J1 s4 E8 ^
            theUFSession.Curve.CreatePreciseOutline(theBodyTags.Length, theBodyTags,
# l2 j( f" S5 f; F6 Y* ]3 }                workView.Tag, out loop_count, out count_array, out curve_array, tol);
! A% V- `4 k% S6 `4 V. p; Y; x
$ z9 q0 n! s% r6 j0 y            Echo("Precise Outline Loops: " + loop_count.ToString());
" P# Q2 B0 s5 U5 m  q            for (int ii = 0; ii < loop_count; ii++)& S1 y" d8 `6 a: s* W
                for (int jj = 0; jj < count_array[ii]; jj++)0 n0 C3 i5 R& K% g4 I. f
                    theOutlineCurves.Add((Curve)NXOpen.Utilities.NXObjectManager.Get(curve_array[ii][jj]));+ O. V: F- L+ C! e- C% t! }
            Echo("Precise Outline Curves: " + theOutlineCurves.Count.ToString());, W/ m. s  d6 W, Y! _, C# o

# N* \3 A3 d8 R1 Z            /* If created outline curves can not form loops, use UF_CURVE_create_precise_outline_curves instead 5 d, L/ ]2 I* a
            int curve_count;- o  B0 K1 E5 L8 \( V4 W+ p
            Tag[] outline_curves = null;, O# a0 j6 z! i7 \
            theUFSession.Curve.CreatePreciseOutlineCurves(theBodyTags.Length, theBodyTags, - s9 u# a; e5 H# f6 J
                workView.Tag, out curve_count, out outline_curves);, S7 p0 z3 L3 S
            Echo("Precise Outline Curves: " + curve_count.ToString());
' R3 C7 q6 F9 t% A" J            */4 I( H9 E: s& S, {$ q* O
        }
% h1 }  u- w# T  y2 N8 X: V( y" z& o  }
    }[/mw_shl_code]# I, A) v" X9 T% l- v4 p) P: k
[/hide]" Q! F. X" k0 W5 ~5 {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了