PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

1

主题

11

回帖

78

积分

培训VIP会员

积分
78
发表于 2015-10-22 20:26:29 | 显示全部楼层 |阅读模式

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,3 Z6 y* [- w+ R# F6 ]5 C
扫略的目标是一个圆 , 一条样条曲线做引导线  0 e, X5 j2 Y  H% _0 A8 S  b
在之前都获得了 圆和曲线的 NXObject  D- f! |( C5 x  s9 c& X
然而在创建扫略录制的代码里都需要用sections添加对象
6 L/ Q2 N: @$ Z# n; T3 _7 V比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);+ k4 K5 d9 Z2 Y, I9 W" d
然而在创建对应的sections之前需要创建这个
4 B; u  S6 b  k+ w; x+ hcurveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);
4 r( I0 c1 o, w+ G' `9 v3 j* ?) ~& c4 ]  _7 B% m+ p
想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。; l% @. t4 r/ u
然后再想问,有什么简单方便的方法创建扫略特征么?
& h7 l$ z5 [9 o7 u# d
0 a6 W& n) _5 j0 F1 y8 n7 n自己的函数声明是这样的。8 U" r5 I) ^3 D  j; a
NXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve)
8 {4 N9 n7 A' i& S& W
! _+ {  V$ M" Y; W- b
1 X8 U. E4 I' G, T  ~# ^4 M/ j% t3 c
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复5

1

主题

11

回帖

78

积分

培训VIP会员

积分
78
 楼主| 发表于 2015-10-23 15:17:25 | 显示全部楼层
还有一个问题就是
& R. r0 G% \, Y6 l% Y0 g  K2 g* W, q- oAssociativeArc 和 Arc 可以相互转化么?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

1

主题

11

回帖

78

积分

培训VIP会员

积分
78
 楼主| 发表于 2015-10-23 16:48:58 | 显示全部楼层
        NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(fitCurve));
8 Z9 v" Q7 u7 u6 B5 T        features2[0] = fitCurve1;
) D) Q3 i0 h2 S3 h( E  P        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));
; A, f- }; ?3 q3 n, H& ]今天发现这样是可以用的,
' R! T* n1 u) X: ~. ?但是 不知道 fitcurve1 和 spline1 这两个指针的关系,3 B3 ~1 l: O. s* \+ P
以及怎么通过fitcurve1 找到 spline1
, y* |' n7 a2 S
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

1

主题

11

回帖

78

积分

培训VIP会员

积分
78
 楼主| 发表于 2015-10-23 16:52:42 | 显示全部楼层
通过fitCurve1->Tag(); spline1->Tag(); 5 L3 K: ]6 Z9 f$ G+ p
发现两个的tag是不一样的。
  T+ o0 f2 d/ |) {& K0 M( c' R但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。2 ^: ?) F/ z: Q) a: e
可以将这个NXObject 动态转换层fitCurve指针,* F0 ?! q5 W+ |  `; B
但是第二个spline 指针是真不知道怎么弄出来了。
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2015-10-23 20:30:23 | 显示全部楼层
你录制个JA 哪来这么多 , fitcurve spline 有什么关系?
8 r; J. x" R9 R' o4 g: Y% ?5 Q' o& A' K5 H' W, a
圆弧和 曲线直接用UI 选择不久完了
8 t* S5 E+ s0 f; g& K; M1 f7 i
- p% z8 L8 n8 ]2 g; e
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

1

主题

11

回帖

78

积分

培训VIP会员

积分
78
 楼主| 发表于 2015-10-24 08:29:14 | 显示全部楼层
admin 发表于 2015-10-23 20:30
% U) }, o, [' ?/ A% Z! q4 O你录制个JA 哪来这么多 , fitcurve spline 有什么关系?
2 G1 H  p! {0 Q# Q4 L
$ K1 L0 v+ X: T! H' B8 T; m圆弧和 曲线直接用UI 选择不久完了
/ b3 \8 d3 D0 C' [& R) a+ m
老师,
: j- t. Y# R9 w( ~1 O% [3 R( dFitcurve 和 Spline 是这样的2 ~% n9 C' P* ?" u" n, @
我选择圆做截面,拟合样条做引导线,. q+ {! o5 r9 V% c. {% O* r8 m3 W

! D- i$ e( {: V* F6 `在录制JA里生成了这一的代码,这一部分是引导线的。
. d$ R! V0 L0 [NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));4 J! o" s0 j" l/ u( o, i
NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));
( D5 v2 n. a9 p& D0 I5 i: x8 L0 p( \; J* Y) i7 j0 q( H" ]
在截面部分也有类似的代码
) j8 }$ W: l5 Z+ N# t3 P" Y8 UFeatures::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......
" Y, `* J/ _! z% |! x# mArc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));7 |# ^' h: B6 l& J- z/ A
& K3 k4 |" @+ _
在这之前# Z  j5 m9 I6 r+ }  ?/ i8 p, W! s
我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,
* |9 D/ q, F' W# ~; ~但是每个Builder只返回了一个NXObject。
# C- f2 a( t0 l1 v: m5 d1 g9 H我想把代码里的四个 FindObject 部分通过代码自动生成
% J; F* N$ t: f- C) H' E6 Z: K& L) o- d. E6 R! r
所以想请老师指导一下
* L- o, ^: x. X6 m2 _" Y
  i# F/ v: g3 K4 B 怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针
$ ^8 E# Q+ R1 M8 e; K- k3 f  a# B: n' f% m: U' Y3 O5 T/ C
比如
" @( w# K; N1 }2 b9 u& S我有一个圆柱的NXObject * ,/ o+ a; n& N9 n2 O8 B9 c( T4 X- M
怎么通过这个指针去找到它的 Body * 之类的指针。
. T% G# g) X# j+ V" S. z或者
+ u! a# g/ b4 U我有一个AssociateArc的 NXObject *
# r7 B2 k/ g7 z5 i( k9 X怎么通过这个去找到它对应的Arc *。。$ {; Z$ N  p1 B7 j$ K: B$ p( t

: |' ]. A* D! R& j" ~2 m' b. U3 N; Z, E' [

4 n1 c9 d+ B! |2 C
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了