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

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

admin 楼主

2019-2-8 12:58:52

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

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

x
+ J, k* l+ k4 X" u- ?
' `$ M4 k8 a0 B# l, s7 `- ]2 m
经常能用的到,通过选择面,显示临时法线方向和点!
0 Q  d* T" G3 j$ X. {1 M' m, x
$ V- l" r- s5 F8 ~' t1 _5 K* A+ _# `& M- L
[mw_shl_code=cpp,true]  static bool DisplayNormal(Face theFace)
* B6 w5 A( y2 ?; x- R    {
) M" ]6 b% Z" i7 p" ]7 t        double[] param = new double[2];! z' {5 V, n) {0 a- X; y4 y6 O
        double[] p1 = new double[3];
* c( ~9 @& J. Y! V/ e# S( K' d        double[] u1 = new double[3];# g9 ~; Z  M0 j) {! K/ L! G  \
        double[] v1 = new double[3];
( y  K6 s" _: _- i# M        double[] u2 = new double[3];8 }# C+ ?, Z4 C7 K2 J3 H6 B) Z2 _4 Z
        double[] v2 = new double[3];
, y# r2 U+ b5 E: l; X" Q        double[] unit_norm = new double[3];( X1 n4 P0 @, |' l) z9 w: X. }: _: H
        double[] radii = new double[2];8 E) A/ b# D3 z% M, e
        double[] uv_min_max = new double[4];' _8 |4 x  ]% E& d6 [

, u1 e- b% }9 Z2 d" U+ t7 i        theUFSession.Modl.AskFaceUvMinmax(theFace.Tag, uv_min_max);
; @1 ~( D6 D, y4 q4 _        param[0] = (uv_min_max[0]+uv_min_max[1]) / 2;
8 p0 \- x2 E" y" @- N0 U. I: d        param[1] = (uv_min_max[2]+uv_min_max[3]) / 2;
9 ?+ ]% |$ T. Y& y3 j9 i6 y        theUFSession.Modl.AskFaceProps(theFace.Tag, param, p1, u1, v1, u2, v2, unit_norm, radii);  T& W$ y: E& r* ?& [

( x% i/ o) }9 L/ {$ c+ t7 }        DisplayTemporaryPoint(p1);7 B; s5 s8 V7 V( s0 u: g, ~! {
        DisplayConehead(p1, unit_norm);0 y8 i5 J! c  W& a3 P
+ C/ i, O+ [: H
        return true;
9 h+ {& V$ V9 l  G    }% g" d: D, {7 V2 F* [4 ]
    5 T9 e' S, a7 S  T9 w' n2 n8 f
    static void DisplayTemporaryPoint(Double[] loc)
- g; w3 j( t4 y) p8 c2 S3 e    {" d$ \0 n; H. e+ U: M5 L$ C% B: j
        UFObj.DispProps color = new UFObj.DispProps();
* [6 }) l/ Q" u1 K6 ?6 i0 a2 Z        color.color = 6;
# G9 k1 ^# x/ U* {. V, V        theUFSession.Disp.DisplayTemporaryPoint(Tag.Null, UFDisp.ViewType.UseWorkView, 6 M. O3 ]: g% w; }5 ]3 p
            loc, ref color, UFDisp.PolyMarker.FilledCircle);
( G$ @+ d) ^! U0 V) U    }, f6 _# U) M1 j4 n: L
2 d( O- m4 z. E+ i' d
    static void DisplayConehead(Double[] loc, Double[] dir)
8 R* \: _* }. X# k. G5 t    {
8 o6 |/ V1 E2 B7 l5 @$ t        theUFSession.Disp.Conehead(UFConstants.UF_DISP_WORK_VIEW_ONLY, loc, dir, 0);
) ^) `7 m7 n  ]' m* O& `2 i3 @    }
3 Q8 w5 u5 e& O1 s. z- S$ {[/mw_shl_code]( S4 b" T8 S- _, }
上海点团信息科技有限公司,承接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的函数基本如下:0 U: v+ s9 y. W  o! p  F' _( d9 D0 s
//获取面的uv极值$ _3 o; m8 b- q* C5 L: b
int UF_MODL_ask_face_uv_minmax
4 n  o9 ]; I7 |(
+ e7 c$ a) I$ o9 j* [6 e" J8 Z3 X7 z4 G
tag_t face_tag, ( I6 E$ j' O4 n6 D
double uv_min_max [ 4 ] & X' F) @; {: N! v- [" j5 j
; T/ O0 h8 C( r
)
% \/ C% H) [: ?! a
: Y. B9 x5 w( v//获取位置点信息--double param [ 2 ] 的输入就是上一步的输出
% y7 W# X0 E6 M1 U& `# Y
7 x8 n6 j: f: ]3 v$ P8 iint UF_MODL_ask_face_props
) r1 B+ N* v* }* }- |/ C9 H- o# x7 F5 W
(0 C- N; c/ w- a
tag_t face_id, ( h+ c9 A5 v1 ?! ~6 a- f" R3 U+ J4 i0 |
double param [ 2 ] , 0 y$ l, ~( U5 {% D) d. Q/ L$ }
double point [ 3 ] ,
5 H% S% X$ X  V8 G2 f/ fdouble u1 [ 3 ] , # q2 b& x+ v; ]+ T  w' s
double v1 [ 3 ] , % d6 {8 V/ }% s1 `( ~
double u2 [ 3 ] ,
" V; Z; x# J0 p. Ddouble v2 [ 3 ] ,
! Q5 Z+ f8 {7 M  mdouble unit_norm [ 3 ] ,
$ I) Y9 n2 R! p% q  A+ {double radii [ 2 ]
2 O( r' V5 b8 q
1 B7 X; P+ D3 w- q5 C, B3 j8 z)% z) |1 C+ R9 Q, n
5 P9 `# M* P1 r2 j9 i
//将点输入到显示临时的函数中' S" n- ~% Y0 [( |8 G
  E8 H# r6 }4 n. L- w
int UF_DISP_display_temporary_point
1 ]  |- T/ d. L6 }
. e1 s, ]8 K& i/ C" k3 i(
# c- i1 [% D1 u5 d3 itag_t view_tag, ) S. I5 c8 n8 }- n' Z
UF_DISP_view_type_t which_views, * Q3 p! D$ O& d, u  d
double markerpos [ 3 ] , ; ]; ]  G& S* T- j/ k
UF_OBJ_disp_props_t * color, * n9 {( K. C9 `+ Y
UF_DISP_poly_marker_t marker_type * J5 c) X# D2 ~1 t

  u+ O3 ?4 a/ z6 _+ P)' x, U/ m& R  h4 O* W) a8 ?" @
( g; c1 N% y6 p$ f2 N* A
//显示
; @* b3 D- h8 c7 X$ T4 T% G$ P/ h  U& B! d# ]; C
void UF_DISP_conehead7 [4 O) Y- b* B1 U$ x( j$ a
(
4 o: x1 ~' Y$ p/ K& L# W- `6 [" T
7 N* g5 H' s: ]6 J" w2 Eint display_flag,
" v1 i0 ]) t5 D1 a0 ?1 K+ f/ Tdouble coord [ 3 ] , $ C. ^  E. \) b4 b; j; P3 f
double vector [ 3 ] ,
) V+ H4 Y7 ?& H3 gint anchor_flag $ U* x# p+ M; S( R) z2 m

7 G2 f) y9 H9 l: O% z- A& R; o6 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二次开发专题模块培训报名开始啦

    我知道了