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

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

admin 楼主

2019-2-8 12:58:52

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

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

x
1 H  Z1 |  _0 Z0 A# Z
" {9 Z$ l8 w$ N' p7 y) c
经常能用的到,通过选择面,显示临时法线方向和点!
" S- R- S& R5 h- _2 j. _" U& Q+ U* C" m* }; w! Z

. N8 K$ e- [+ ~2 p' K" ~: e[mw_shl_code=cpp,true]  static bool DisplayNormal(Face theFace)1 b- i. |* A4 M2 W
    {
  {( o1 w/ f  S( I2 V- U5 b9 w        double[] param = new double[2];
; y* K4 F5 E7 A        double[] p1 = new double[3];
* |; @+ u4 x5 @( Q( Q        double[] u1 = new double[3];: A* M( v' T( A9 w
        double[] v1 = new double[3];
9 ?) N7 I. h& @        double[] u2 = new double[3];
. H) ^, w8 D9 o% `- R        double[] v2 = new double[3];
  [2 Y5 q( ~. k! Z8 P        double[] unit_norm = new double[3];5 V* ^/ u( E9 K. P
        double[] radii = new double[2];
/ g: ]7 J# S+ C        double[] uv_min_max = new double[4];
& F( H; g) [/ M) H& \
9 _& \, ?" G. X9 H$ o. I3 W0 c        theUFSession.Modl.AskFaceUvMinmax(theFace.Tag, uv_min_max);
5 c: b$ S+ A7 V# l; Y3 ]8 z        param[0] = (uv_min_max[0]+uv_min_max[1]) / 2;
6 n- W- X. {/ i  N' f        param[1] = (uv_min_max[2]+uv_min_max[3]) / 2;
/ e& a# s/ F2 B        theUFSession.Modl.AskFaceProps(theFace.Tag, param, p1, u1, v1, u2, v2, unit_norm, radii);
. w* v) l( }( E
  U; e$ }+ n, \        DisplayTemporaryPoint(p1);
/ e# E3 i% f* i+ t( f5 s6 U        DisplayConehead(p1, unit_norm);
+ w2 ?) P1 W" s- s7 e) G) A
3 V& ~) \$ [5 X3 U1 W% O        return true;/ u7 P) Q/ n. |
    }
/ J- A) T2 Z9 F' r   
! v, A7 _. Y6 D    static void DisplayTemporaryPoint(Double[] loc)
0 H* \& p; k0 r  f, h/ `! ]    {
" L! g9 E) x) D% ]3 w        UFObj.DispProps color = new UFObj.DispProps();4 w' N4 U7 T$ S3 n' w# z5 U
        color.color = 6;
, M6 O& k$ [" X* |) F- K        theUFSession.Disp.DisplayTemporaryPoint(Tag.Null, UFDisp.ViewType.UseWorkView,
& Q% M! I, m0 h; v! h/ l2 o' I/ j            loc, ref color, UFDisp.PolyMarker.FilledCircle);) P: F- c5 l1 n$ m  m& z! [/ p; S. P
    }
7 x( d3 l$ ]2 W3 t/ u+ x! E) y4 F- ^% h7 s
    static void DisplayConehead(Double[] loc, Double[] dir)
% C% h! t% L1 M9 k7 r; k4 K    {8 Z8 a. k4 }* a' ]
        theUFSession.Disp.Conehead(UFConstants.UF_DISP_WORK_VIEW_ONLY, loc, dir, 0);
! s* Q) `  v/ c$ }/ O  p: v4 ?    }
) Y: Y4 U( B+ @. H, B[/mw_shl_code]* G, |& z# L7 C( {, S( B& E
上海点团信息科技有限公司,承接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的函数基本如下:
( r$ {5 l2 A9 q3 c' q  e9 y3 s# l//获取面的uv极值
" u7 o5 d" ~" {- `# Yint UF_MODL_ask_face_uv_minmax
0 k( o% |6 z/ R5 a! `) h( ~* T(
* z6 {) r7 T+ {9 j- F" p' g# }( e
0 Z, g  N) k4 W' Qtag_t face_tag,
/ }- s# Q( @+ H1 H% |3 O% Wdouble uv_min_max [ 4 ] 1 b& A- L8 F0 n, |
$ r. O; p/ x2 P$ D; c# T$ W/ h- z& [
)" N8 O" w9 d  z% f8 R' d, x
2 A9 W0 [: _( f, T. R0 O0 q' W$ k4 k5 h
//获取位置点信息--double param [ 2 ] 的输入就是上一步的输出" P( c- {' a( w; \0 E

+ ^4 G. l5 s$ @9 e( I% t9 Xint UF_MODL_ask_face_props
0 `* o& V7 \" v! Q3 y6 ^8 T- m, y- M) I
(
# l# Z1 |, ^) I0 n% {& i3 J9 Wtag_t face_id, 7 ]0 G! L: `) _9 y
double param [ 2 ] , . Q; K4 y7 V7 m% n. a& m
double point [ 3 ] ,
$ p& _: T3 U$ m2 {double u1 [ 3 ] ,
8 r3 O0 ~- ?$ `double v1 [ 3 ] , / J4 {' s4 d+ m/ @" M! M+ [5 Y: g& g& a
double u2 [ 3 ] , ' Z( y4 v8 ^# [. Y4 Y; i8 g/ D# B4 m
double v2 [ 3 ] ,
8 J3 ]! I; _$ R1 ~double unit_norm [ 3 ] ,
1 r0 a: h2 w0 K% i; ]! Tdouble radii [ 2 ]
' X+ ]) Q( F& o* z
& J3 M) z. i5 M% s)
& @7 Z. h* u7 n- v3 w) b# q
) B2 ]  I! B3 G6 S//将点输入到显示临时的函数中. e" {; t4 J4 g% e
0 G9 n" P0 f; v4 q4 f* W
int UF_DISP_display_temporary_point* x+ g2 P' D3 t$ G( O' l7 a/ ?
$ f; I* h6 [- @6 Q$ w" C
(
; A$ [6 Y6 @6 U' F& r  k; I  Jtag_t view_tag, ; M/ [9 [1 ~. X
UF_DISP_view_type_t which_views, 1 z+ U: N9 f/ }3 m  u$ G
double markerpos [ 3 ] , # m2 P! m$ [9 H# X7 x
UF_OBJ_disp_props_t * color,
/ @: x/ T8 q) M& [# mUF_DISP_poly_marker_t marker_type
% O2 @" _( n* |4 S- [: Y$ {0 ?8 V3 V% `8 E$ \& a
)
4 U; a" D4 g0 M; h: v' t" L8 |! a' p# d) [0 U
//显示8 @. d! L9 ]/ l4 ~: u7 S3 B" g
0 P7 e; F. M/ O" Y. L+ C8 M0 J( M
void UF_DISP_conehead
& j" L, r+ L, Q1 S3 j(
9 Q- x. M( H. `5 @. @
! b2 _5 v% E2 G# S2 G9 Mint display_flag,
. Q7 @7 i/ @5 E  _; \7 Sdouble coord [ 3 ] ,
+ I7 s/ F. Q2 s, Vdouble vector [ 3 ] ,
9 U# {. ^- J' r9 L0 \. U! _5 nint anchor_flag
5 n% }" M, q$ G' w0 J
1 j% R1 q9 S  |( s)
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了