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

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

admin 楼主

2019-2-8 12:58:52

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

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

x

6 f% p) F) y' X. s
% z6 U: m* P$ [. P. ?' j: J经常能用的到,通过选择面,显示临时法线方向和点!: f1 n2 ^  N+ E  [" r
4 [- _, m2 R. @6 p' f
. [3 l  f; W/ c+ T) A0 B
[mw_shl_code=cpp,true]  static bool DisplayNormal(Face theFace)) N" Z+ [/ ~0 F3 J
    {
( l. B! W# r. G5 ]% F0 }8 j5 r! J        double[] param = new double[2];
) ]8 i. [/ k' \( J" |6 e1 E        double[] p1 = new double[3];
  l+ u* A& ~9 }8 S3 N# w2 e1 ]( {        double[] u1 = new double[3];
: n' ~& P/ G) [7 D2 Y. b6 T        double[] v1 = new double[3];& _0 ^- l% P7 w: L- l  i6 q* A
        double[] u2 = new double[3];; N$ d- E7 {, i# F8 `& |
        double[] v2 = new double[3];
; @; \- x$ s8 P5 C        double[] unit_norm = new double[3];
7 q$ J# l' b  l0 @) `, R( z4 o        double[] radii = new double[2];
$ I; ]3 u! b1 U! u        double[] uv_min_max = new double[4];+ n: P7 S* b8 ~& z  M
7 b0 l  R2 m8 H4 w/ v5 O
        theUFSession.Modl.AskFaceUvMinmax(theFace.Tag, uv_min_max);
# R2 Y7 |- r2 h# W        param[0] = (uv_min_max[0]+uv_min_max[1]) / 2;
. n: V2 A4 S2 `        param[1] = (uv_min_max[2]+uv_min_max[3]) / 2;
; [) Z6 G9 G& K6 t$ }, F        theUFSession.Modl.AskFaceProps(theFace.Tag, param, p1, u1, v1, u2, v2, unit_norm, radii);8 |) l$ r  |8 u4 g' V

( X% @/ |0 k9 O* Q! Z6 V        DisplayTemporaryPoint(p1);
  M3 \! ]& m/ T9 A$ B8 m        DisplayConehead(p1, unit_norm);; b8 b0 L! Y( N1 M

  W  P* g1 U* d, g        return true;
( Q- N2 x. k$ P3 a( g: k    }
. ~' l5 v$ v# @8 }- c6 }- K    6 {! O* M: V7 O! [0 I* Q
    static void DisplayTemporaryPoint(Double[] loc)0 |9 q3 u3 x) o$ \+ g0 U! M
    {% L# j* m) _$ ]( g' s7 O
        UFObj.DispProps color = new UFObj.DispProps();/ [+ S/ J+ m4 Q. R, m
        color.color = 6;. i2 O7 ~' y6 e5 e, m1 v: C4 S1 z' `
        theUFSession.Disp.DisplayTemporaryPoint(Tag.Null, UFDisp.ViewType.UseWorkView, % j, s8 \) R2 k8 Q
            loc, ref color, UFDisp.PolyMarker.FilledCircle);; x( w& i3 J# ?3 w9 i
    }
  f. y2 f! n* J+ o8 r- u2 K1 z" n+ L$ H7 L: n, ~/ ^/ e! @% P
    static void DisplayConehead(Double[] loc, Double[] dir)
. w0 S% e% f/ X$ S    {/ ?: u: D8 @5 ^
        theUFSession.Disp.Conehead(UFConstants.UF_DISP_WORK_VIEW_ONLY, loc, dir, 0);
% q+ u) s1 B! v* T3 a    }/ y8 }5 Y4 k# [2 t. c+ R! [
[/mw_shl_code]; c6 c# _. w$ L& H
上海点团信息科技有限公司,承接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 D& y) F' O& a3 b& {- ^
//获取面的uv极值. ~# h7 A9 g& P1 r/ D0 B4 p
int UF_MODL_ask_face_uv_minmax
; t. a6 ?2 r- O, R(
. N- J* C+ M! |' U9 H
& ?* ~  _7 f( ^) P# [tag_t face_tag, 8 x# g! N7 u; Q
double uv_min_max [ 4 ] 1 `) v0 E8 ]- x6 V2 C4 a3 l4 o

8 \, l# `5 v, \8 n4 S6 B: s)2 s  Q" b* X# E% ~$ Z
% q: c# }* z2 ], X6 o
//获取位置点信息--double param [ 2 ] 的输入就是上一步的输出
4 A+ M6 y" h+ n! w) }+ s3 d% l
6 Y7 c  f7 S: h$ kint UF_MODL_ask_face_props
* I4 z: b% a+ R! I2 b/ L( u" k6 M  K# n( a( `9 \) _
() A$ h. X# P" }9 R
tag_t face_id,
. A9 _" y+ M; {  g: [" g. Mdouble param [ 2 ] ,
$ j4 e, _# F* f7 |3 _# @double point [ 3 ] ,
/ e/ c9 m; @1 Rdouble u1 [ 3 ] ,
) r: |3 J4 y( adouble v1 [ 3 ] , / [* o( ]2 @) _! B* W2 b; b4 `  o
double u2 [ 3 ] ,
7 t( H; ~: {8 Z6 C4 X! @$ ~& Ldouble v2 [ 3 ] ,
# O/ B% |7 p# ^+ c" @double unit_norm [ 3 ] ,
2 @' X& O! x  a5 @. Ndouble radii [ 2 ]
. n6 T! b: k1 I9 z* Y
: h! i: X2 T* {! h)
+ g9 j8 l! n3 Y& p
- i/ X; @1 y- M# C* R//将点输入到显示临时的函数中2 [- \3 \( Y1 t4 e6 k1 j
- m  L9 Y  Y' H. ^7 r
int UF_DISP_display_temporary_point
0 `- p- u. \7 q+ ]
; z1 d9 R; }! V- [( W. j- T1 s(
9 m+ L( T; y1 J) Mtag_t view_tag, 8 w7 w$ o: g5 A$ z6 r% i
UF_DISP_view_type_t which_views, 8 G5 m% S8 ]* i) F' m1 C9 j) q
double markerpos [ 3 ] ,
( T, _- d; E8 \# Z* b" `/ ^/ CUF_OBJ_disp_props_t * color, ! `7 _- z3 i0 C  {% j$ o) b
UF_DISP_poly_marker_t marker_type 6 Q2 h  e# b# v
9 G9 C$ f+ X1 h: p3 V& ]
)+ I7 s: E! u7 q6 X% d/ I

0 o. _) j! X, v0 g3 E$ l! j//显示3 b$ c& I6 A8 {1 J1 s" l
  F3 a7 S# p4 a/ h" O; e+ x
void UF_DISP_conehead/ N$ z& ~% j" j6 p: U, A
(: H4 m5 t# T8 N/ W6 y' k6 m6 P

" d* A" n) s. v) ^& y5 f: dint display_flag, # i! Y7 n7 X# p5 U
double coord [ 3 ] , % ]' X1 H2 c( V9 ~% v& E5 j
double vector [ 3 ] , & a( a4 b* J& \$ \; ~! g" g  k
int anchor_flag
! I- T2 A: g6 ~9 N$ h8 Y
' D. ]( d9 Y8 P, M7 F% O)
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了