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 2773 1

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

admin 楼主

2019-2-8 12:58:52

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

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

x

5 y* C  t, q( P$ _) _8 e! W$ J, G2 P9 q5 l, c" f2 i) k
经常能用的到,通过选择面,显示临时法线方向和点!( I+ L; W; F) h* L% a0 ^

/ g& _: }* X& b8 g! e+ b, h! C. N) X4 F8 a& I5 W! t3 ?# B0 ]
[mw_shl_code=cpp,true]  static bool DisplayNormal(Face theFace)
7 F$ c5 \; ^/ \3 J* t( r    {
( u. u' f2 T* X. F4 z# H        double[] param = new double[2];
5 E9 C! G& M, `  ^        double[] p1 = new double[3];3 k8 a2 P0 W1 E  q- ?; {: h9 c
        double[] u1 = new double[3];( z+ C8 D- S7 U+ J+ S6 ~' |
        double[] v1 = new double[3];8 ]9 S; y, O3 O1 C* m7 v: ]
        double[] u2 = new double[3];5 r$ E+ `2 G+ i
        double[] v2 = new double[3];6 x. O  |; I. A- ?
        double[] unit_norm = new double[3];3 L5 b* Z) H3 r' {& Z6 h
        double[] radii = new double[2];
) @' L! ]& t# ]. j/ q        double[] uv_min_max = new double[4];, _. D. s+ n7 t/ H  H, F

# R8 f4 u6 T0 E+ N$ L. T2 j        theUFSession.Modl.AskFaceUvMinmax(theFace.Tag, uv_min_max);
9 B* C1 d* l; N6 q$ U        param[0] = (uv_min_max[0]+uv_min_max[1]) / 2;
) I2 p3 B7 u- f, O* y. F+ e        param[1] = (uv_min_max[2]+uv_min_max[3]) / 2;
+ w! \& B6 ?6 q        theUFSession.Modl.AskFaceProps(theFace.Tag, param, p1, u1, v1, u2, v2, unit_norm, radii);
  m$ S1 [: M8 F/ Q) {6 |7 ?$ z, a2 `2 S1 @: R0 [( M* A/ V  }
        DisplayTemporaryPoint(p1);
) r/ ]% |% ]1 F' [, `, T# y        DisplayConehead(p1, unit_norm);
: J! c3 @- G  m) }+ z# p# H( s( ^" ]5 G8 d6 X$ i
        return true;
8 ]; b4 C) |, E/ F    }0 X* Z2 J$ \5 t: x! G) U$ M9 E
    . e, k2 B5 h$ h% `# A* |: T8 n, w
    static void DisplayTemporaryPoint(Double[] loc)5 g' @" J% y8 {6 T, d# P, c
    {0 C( d9 |1 U! g4 `
        UFObj.DispProps color = new UFObj.DispProps();
  d8 j- t- k( N1 |        color.color = 6;9 i" x$ ^) [: H& X
        theUFSession.Disp.DisplayTemporaryPoint(Tag.Null, UFDisp.ViewType.UseWorkView,
2 t. X. H9 f- C  m: p            loc, ref color, UFDisp.PolyMarker.FilledCircle);
8 p5 C4 o' X3 w; g! R' l    }3 S' U0 `9 h7 ?
: N4 N/ S: g3 G( I  C' }# ?
    static void DisplayConehead(Double[] loc, Double[] dir); c# e% m' ~6 r0 F  ]
    {
9 @5 c( p  F, w+ M6 m        theUFSession.Disp.Conehead(UFConstants.UF_DISP_WORK_VIEW_ONLY, loc, dir, 0);: N7 I. U. o) O" `) |; A
    }
. @! y- g( M- w7 v[/mw_shl_code]
- s0 G8 E/ ]8 u+ N' W: H9 g
上海点团信息科技有限公司,承接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的函数基本如下:* O+ e9 O; ~# T" H
//获取面的uv极值# n' _! L5 P8 R" ~/ p6 X! H
int UF_MODL_ask_face_uv_minmax
4 w3 {2 c0 [8 |" W5 f7 L(8 i" d0 s' ]& Z2 d: z, o

6 h. ~) Z0 I! ?: i9 ~2 W  ktag_t face_tag, " m3 k- T# w6 ]' g) u
double uv_min_max [ 4 ]
# `" D0 G" G, a7 a# V0 ~3 _3 r8 E& Y$ O
)
3 r. R- I$ M7 `. c3 H% u/ x" t- P4 T( l1 w" i! h5 v, C; c
//获取位置点信息--double param [ 2 ] 的输入就是上一步的输出7 S/ ^# S+ `& ]* j  I9 r

( V1 Y' K2 \/ L5 d+ w0 H- o! U( wint UF_MODL_ask_face_props
3 u: M# w: @/ }. g2 n4 {4 b" |. x
(
% s* b% \6 G. K! \! _tag_t face_id,
2 ^3 [) `+ |8 ]4 q$ h# ?8 _double param [ 2 ] ,
  s2 D9 y1 R( O5 i4 \/ @2 [" f; Ldouble point [ 3 ] , ( @) E& m$ I, ?1 c, B" j
double u1 [ 3 ] , ( `0 I2 s. r8 d7 g8 L0 M
double v1 [ 3 ] , - R9 T% S9 R- f7 v2 w2 B
double u2 [ 3 ] , 7 V; t& Q+ l& m/ A7 m1 _1 ^& ]
double v2 [ 3 ] , $ U( B' S' S' P. `% ~7 h
double unit_norm [ 3 ] , 6 y1 `( C3 W# a, y+ E: P5 |' u
double radii [ 2 ] ) B7 M. c: u$ z

9 n% B+ A/ X: N+ [8 M( o* K- _)! A5 b- @( b4 C

' l0 b+ L" S/ B, ^' k& l& ~- F//将点输入到显示临时的函数中  p- i. U) }: o: F

- G7 V. ^3 L+ e. B3 n1 {/ Oint UF_DISP_display_temporary_point
3 D. J3 f' J- C2 F8 d9 L2 q& i; v# A$ \- u( ?
(5 R( p3 {# X- x* _; n- L
tag_t view_tag,
5 c( N$ d- ]; g+ {UF_DISP_view_type_t which_views, # k  E; m( J' ?' @3 K3 r& q
double markerpos [ 3 ] , 7 }. f& e( q7 m* T3 ^& J
UF_OBJ_disp_props_t * color, 4 V; c  f3 ~: _. t, Y
UF_DISP_poly_marker_t marker_type
3 }$ g( A2 q2 [6 t
+ i& [  q+ K0 }: S: D4 W" M8 e)
, |; O  i$ n! a# B# u# ?
( _; u' g, s; K# Z/ J. e% {//显示
. T4 F% X  C+ U. ?' u. v4 a( }7 V7 B% `0 t6 j8 Q
void UF_DISP_conehead" _( x# c2 ~% f# y8 Q
(
( z& c, c  P/ S# F6 H+ B1 p4 c5 s+ Q4 w0 _$ ~4 @  @4 o9 Z
int display_flag,
2 L  F/ ?0 S# O& r( ~4 u0 T+ idouble coord [ 3 ] ,
# j- ?) i: R: D4 W8 B" s/ x7 Udouble vector [ 3 ] , ( h0 E+ z( o) e6 m6 {5 \4 L
int anchor_flag 4 X5 ]' l! w% f, w# K) U

7 k/ Y5 E2 J. h+ Q6 b8 L( \)
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了