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-2-8 13:26:19 2479 1

admin 发表于 2019-2-8 12:58:52 |阅读模式

admin 楼主

2019-2-8 12:58:52

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

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

x
  N4 n; {+ Z+ K! G+ ?/ [

8 n# i" i/ @( M+ F+ s经常能用的到,通过选择面,显示临时法线方向和点!: `( o) T; U* [3 d

5 ]# P! C3 b' X" g/ X# c
0 u: B- ]" s6 i* y5 n[mw_shl_code=cpp,true]  static bool DisplayNormal(Face theFace)
- S$ h! ^/ \, z' _1 g9 u    {/ h0 x( _# h: Y# V# K2 }
        double[] param = new double[2];
6 j& M& v) {* H  T        double[] p1 = new double[3];
" l, k' R! }& r4 F! y        double[] u1 = new double[3];' k4 u8 R# ~1 [3 W, _
        double[] v1 = new double[3];1 [. h% `5 p+ ~7 a
        double[] u2 = new double[3];
# W' H0 C+ ?9 l& a        double[] v2 = new double[3];$ a% B0 f5 Q# C7 z& ~
        double[] unit_norm = new double[3];* ]. i- L7 e) _
        double[] radii = new double[2];8 y# n; D- t0 R
        double[] uv_min_max = new double[4];
/ V& Q) J, O& v/ m8 {; H6 j9 w6 S" F6 f1 V, R% q: S: t# T+ T
        theUFSession.Modl.AskFaceUvMinmax(theFace.Tag, uv_min_max);
) i/ Y/ M" J0 T1 q* n) y        param[0] = (uv_min_max[0]+uv_min_max[1]) / 2; 9 Q4 L- \* Q6 S! Y' [5 O+ ?3 y6 e0 o
        param[1] = (uv_min_max[2]+uv_min_max[3]) / 2;
1 I1 k: s  L. T7 s1 W        theUFSession.Modl.AskFaceProps(theFace.Tag, param, p1, u1, v1, u2, v2, unit_norm, radii);
3 F' E2 a: I1 L) A9 o& U: B+ q
  w6 E5 x" p) u4 \        DisplayTemporaryPoint(p1);
( j: {  [/ q* a% ]% p7 ~        DisplayConehead(p1, unit_norm);0 Y1 u- n$ u7 s0 K" `- ^7 w
! [: W: m; D) ^( Q
        return true;
6 G# ^1 n1 g/ ?2 L    }
" j2 q( o; e: @    5 b: u" D  U9 I: U; w. s$ r. L6 `
    static void DisplayTemporaryPoint(Double[] loc)
/ [, V( U! W# S" Q+ z4 i    {
, L) s( N  b+ H" y& q& N; V) k        UFObj.DispProps color = new UFObj.DispProps();' G, B% s# R+ _4 q$ d, I# h2 ~, ]+ S
        color.color = 6;
& h% r- p& ]/ w! M        theUFSession.Disp.DisplayTemporaryPoint(Tag.Null, UFDisp.ViewType.UseWorkView, * q3 |! X' L# A
            loc, ref color, UFDisp.PolyMarker.FilledCircle);' j$ N( f* ]9 Q+ x/ y
    }
* M0 e4 W5 l6 j1 x! X$ q* J+ Q+ _; n+ w3 j9 e
    static void DisplayConehead(Double[] loc, Double[] dir)8 F, K- R! h# @$ A1 Q, w/ \
    {( M7 G+ Z( E. L9 Z: Y4 n0 P. A
        theUFSession.Disp.Conehead(UFConstants.UF_DISP_WORK_VIEW_ONLY, loc, dir, 0);5 x. G8 V. X* Q' ?+ L- I0 `" M
    }
* \; R3 S; `) h  t[/mw_shl_code]
/ M$ w  I" \/ `# O7 c% k
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

admin 发表于 2019-2-8 13:26:19

admin 沙发

2019-2-8 13:26:19

如果使用ufun的函数基本如下:; I, n' N; Q! ?, H) \) t
//获取面的uv极值/ Q& s$ I) `$ H4 b
int UF_MODL_ask_face_uv_minmax
" H+ y8 ~+ l" o( b; G  {3 c$ A(# O6 Y3 T! m7 [

' X% ?. J) j- U" ]/ R" y3 qtag_t face_tag,
- b+ X7 l0 c9 w7 x. t- Z7 I; J$ B" k# bdouble uv_min_max [ 4 ]
; r# ]* F0 G1 ^7 h  Q9 G1 P
" ?9 I! G7 t9 `2 H# x0 A4 p)+ O% J5 A% t1 J( v. x! }* |
7 D8 g7 W: y7 Z4 h5 P- H
//获取位置点信息--double param [ 2 ] 的输入就是上一步的输出/ r) j( F8 [" H4 n

& z' i) t! w$ o& f5 t" }# O4 gint UF_MODL_ask_face_props
6 }: s) b! [: Q% @- I9 x" y, g
(
* t; E' A! g% b. ztag_t face_id, 1 r4 Y$ e. s6 G$ N: M
double param [ 2 ] ,
: `( P; _( e! C; s, ?3 n2 V; ~) Hdouble point [ 3 ] , 9 F8 z2 n5 h6 K" y
double u1 [ 3 ] ,
) R/ N$ [9 m% I$ v) ddouble v1 [ 3 ] ,
; C; V  P7 U* \% X" n; R7 ~# ydouble u2 [ 3 ] , . M, @+ f# R0 l5 Q5 a- u4 r
double v2 [ 3 ] ,
$ M# z( X( ~- [& I4 d" H7 V& bdouble unit_norm [ 3 ] ,
0 w+ ]+ v, \) ~* }: ?7 z1 Hdouble radii [ 2 ] : v0 t8 S& Y8 O7 W7 a7 d

" K+ U3 G- X- }2 s0 T( N0 e! q9 @): N* e/ y, X+ v) M, m+ d
9 j5 g4 V5 r+ L; e1 A, H
//将点输入到显示临时的函数中
: p# b' p9 G# c, Y( D  B( b- y9 U" L, o" E' u" A: [
int UF_DISP_display_temporary_point8 e+ g! ]" F( W! s3 I" Q

7 ]) S% y8 K: A+ B# `$ ^(
" x( H4 z4 y, z( a/ ^1 }tag_t view_tag,
' A& P+ u0 H, ^0 iUF_DISP_view_type_t which_views, # p9 ?% z" o2 j# i
double markerpos [ 3 ] ,
4 `1 N! a% ~, N  P+ XUF_OBJ_disp_props_t * color,
8 Z7 c# x9 M$ ^. ~) U5 t2 d5 |UF_DISP_poly_marker_t marker_type ) z, U4 }" q. F+ F5 t6 w& S" ~

/ P  @( D" }" J- P/ J)
0 b; ~" W8 J. Y$ O
4 @! ]8 M8 @' n' a1 S) S9 j//显示' L2 }2 A0 e; I0 ~
/ d6 J/ r* X! }4 w# u. f
void UF_DISP_conehead
! o; m5 g, u4 C9 Y* h: _3 w(3 B% H/ T5 l! [" k+ v) U: F
  _2 J8 V; J, f  K- @; ^) {
int display_flag,
% q" A) }7 X5 A9 ndouble coord [ 3 ] , 2 O5 Z2 }# ^' q
double vector [ 3 ] ,
- \5 R3 Y; [! M$ ^7 C  c) D4 N$ lint anchor_flag # h9 m! v$ L% x4 t8 \  U+ d4 e
  N9 T0 A5 V8 `
)
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了