PLM之家PLMHome-国产软件践行者

[求助] NXOPEN 的扫略特征创建 求解

  [复制链接]

2015-10-24 08:29:14 6373 5

mstn 发表于 2015-10-22 20:26:29 |阅读模式

mstn 楼主

2015-10-22 20:26:29

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,4 W) G3 w3 G% ^$ Z$ s
扫略的目标是一个圆 , 一条样条曲线做引导线  
: j% x. V0 T5 Q. X3 K/ z3 @在之前都获得了 圆和曲线的 NXObject! P; F5 Q  f9 X3 w
然而在创建扫略录制的代码里都需要用sections添加对象# s. m; w# n* X' n9 H4 ]+ O
比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);! Q( |( i: E9 G$ Q/ z8 E2 T: r$ P
然而在创建对应的sections之前需要创建这个* ~5 b& l" H& I! g" K
curveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);
/ H3 m( H5 l5 p  w6 X
; w8 T9 v1 n- p( @* Q% k+ F* D想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。! k& l/ ?* W. w
然后再想问,有什么简单方便的方法创建扫略特征么?8 F4 B, A) L# l
+ a% T3 O4 [  }6 T, }4 Z
自己的函数声明是这样的。
) B  G4 [! `2 z+ U0 W/ A3 VNXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve)
8 K. |* U; i: F2 ]) v( k/ g$ R# z* h# M6 ]# C- N: \: D+ |" L6 E

& }/ c6 [) H; i# {( Z
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复5

mstn 发表于 2015-10-23 15:17:25

mstn 沙发

2015-10-23 15:17:25

还有一个问题就是6 R  j' T! Q- U& O% B; A, X+ v8 w* N, ?
AssociativeArc 和 Arc 可以相互转化么?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

mstn 发表于 2015-10-23 16:48:58

mstn 板凳

2015-10-23 16:48:58

        NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(fitCurve));4 r5 D; G' {% u+ F7 j! t
        features2[0] = fitCurve1;* X5 N5 G0 t2 \
        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));. _0 Z) y, C0 Y; y! \
今天发现这样是可以用的,; P' q1 O8 G' r. m5 }+ q) G! t
但是 不知道 fitcurve1 和 spline1 这两个指针的关系,
" j, U; Q. a% c; ^以及怎么通过fitcurve1 找到 spline1
8 D8 |% q5 x# p; q% t1 H
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

mstn 发表于 2015-10-23 16:52:42

mstn 地板

2015-10-23 16:52:42

通过fitCurve1->Tag(); spline1->Tag();
/ r3 L* Q+ h' g' v2 P; Q6 C发现两个的tag是不一样的。2 J+ ]+ Q& G. c7 ^, d' V" J" V
但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。
3 D4 n# V9 Y7 N+ v# q8 }可以将这个NXObject 动态转换层fitCurve指针,, E9 _7 x  K4 V- l& y7 [+ P
但是第二个spline 指针是真不知道怎么弄出来了。
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2015-10-23 20:30:23

admin 5#

2015-10-23 20:30:23

你录制个JA 哪来这么多 , fitcurve spline 有什么关系?
$ u/ z2 w& z6 I8 X
  K- i' T/ z; y* j圆弧和 曲线直接用UI 选择不久完了/ C  P5 g5 L& j$ V( W% j
* ~/ d9 ?$ X2 G+ G2 W5 l
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

mstn 发表于 2015-10-24 08:29:14

mstn 6#

2015-10-24 08:29:14

admin 发表于 2015-10-23 20:30( v9 \/ b  D- \( y+ a* u. i
你录制个JA 哪来这么多 , fitcurve spline 有什么关系?
$ [% i5 w7 \* M
/ B! K) v7 V  b9 A; d7 Y1 B7 M圆弧和 曲线直接用UI 选择不久完了
; Z5 ]) w- [4 h) k; q2 b8 w/ Y; g
老师,
0 `- i. w' U# y  w* jFitcurve 和 Spline 是这样的8 j2 w+ o1 W; _) G
我选择圆做截面,拟合样条做引导线,
+ e" ]( M  Z- g4 s
1 J7 y% X) U9 E- x* z在录制JA里生成了这一的代码,这一部分是引导线的。0 u7 W& p" q7 P+ O' B
NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));: l" M( X! |- x& r; _
NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));
( I1 W" D- v) Q6 z7 W+ A
. z: x! }" b' X# R6 g. m4 u% g9 S在截面部分也有类似的代码2 |" b2 Z" c8 P
Features::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......8 b/ m7 D& B; h9 u# a3 c
Arc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));
/ c$ G3 M. I  D1 F7 G  c9 d$ C: R  l% }0 ]2 C# h
在这之前* r$ j; i0 B) T2 B" A: g  f
我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,, _8 W/ a1 W* B' h& Z' _
但是每个Builder只返回了一个NXObject。6 [: z, V9 v+ D, R/ H; s! c) E
我想把代码里的四个 FindObject 部分通过代码自动生成; k. N( ]/ Y6 K/ }1 B! t

% g. x) c/ t% {9 U3 j/ z所以想请老师指导一下
7 i2 O8 |6 M  ]2 z+ n" ~: I' o% S+ c; v! j+ `. n2 ^' f5 j
怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针9 @- G9 k2 A. @9 J: N$ E

+ @0 K. K( U2 l6 W5 P5 k. Y比如
) _  P+ r0 L% ~我有一个圆柱的NXObject * ,
* j9 _2 s* s* `5 n怎么通过这个指针去找到它的 Body * 之类的指针。
* V" n2 L" Y8 h# g( Q或者
: H: ^) {" w, S/ u( s我有一个AssociateArc的 NXObject *
+ X  J$ l- O  F怎么通过这个去找到它对应的Arc *。。
  t/ j4 g2 \: n0 u& a- y
, H) y7 {) V, h/ T) S/ t4 P+ b
  j6 ^( y5 \* m% e0 M7 E1 k4 a+ ^$ s' Z' \* Z! F% c% Q7 [7 F9 u+ d6 q8 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二次开发专题模块培训报名开始啦

    我知道了