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

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

  [复制链接]

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

1

主题

11

回帖

78

积分

培训VIP会员

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

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,+ \8 {9 E/ O. e: ^4 y1 a
扫略的目标是一个圆 , 一条样条曲线做引导线  
5 f5 k; M" _, B在之前都获得了 圆和曲线的 NXObject/ A4 J5 R4 P8 \4 W3 E' @+ a/ l
然而在创建扫略录制的代码里都需要用sections添加对象4 ?/ W) T2 f& f4 l- [  F  W( J
比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);$ k- y: N$ I# w  D
然而在创建对应的sections之前需要创建这个
6 `% j6 a' M' KcurveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);
. X; M, ^: Q% l8 L* z0 o% p; r- O( N4 Y" _* `4 P+ N! }
想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。. A) |  l1 x7 m0 V  H! T  a
然后再想问,有什么简单方便的方法创建扫略特征么?6 b. Y7 E0 r: E
* z: I0 [  c! n- b
自己的函数声明是这样的。. \* e: t- A2 V1 J0 v: [
NXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve) 7 L- }" h. u, `8 I
. W1 u: I0 y( G" o- T

: y8 ?+ [1 z; `" v
上海点团信息科技有限公司,承接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 | 显示全部楼层
还有一个问题就是
2 W0 {4 `5 C' r" W) Q+ Y1 nAssociativeArc 和 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));
0 U1 Q7 f) W" C0 _+ f        features2[0] = fitCurve1;9 L  I8 _, j3 p# ~3 x7 k+ A7 J; y
        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));& x& V' S/ u& X( Y0 `; O4 M$ z
今天发现这样是可以用的,
6 b8 x# `. F/ d- `# c但是 不知道 fitcurve1 和 spline1 这两个指针的关系,- L" ]/ y2 F$ e) ?
以及怎么通过fitcurve1 找到 spline1
* t  @, w1 G/ _# E/ W, I
上海点团信息科技有限公司,承接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(); ; Z0 P# X" ?7 U2 @4 N- v# b" B
发现两个的tag是不一样的。
" c% O. [9 w0 l7 Z* k: Q5 a# ?但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。
; l: T; ]! v! Y3 b9 E  d可以将这个NXObject 动态转换层fitCurve指针,5 W$ v+ m8 [; {+ W5 B3 E) Q: l
但是第二个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 有什么关系?
0 z: a9 t* K7 k2 N' S! ~: m8 d. }" |- o3 K; L9 y
圆弧和 曲线直接用UI 选择不久完了
/ Z4 `" d% b5 p/ V% c/ V/ X% q  O" d3 d# Y) @8 }$ P8 p
上海点团信息科技有限公司,承接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
0 ^! V, r- R# v1 j* s你录制个JA 哪来这么多 , fitcurve spline 有什么关系?" p. I& t! R3 H

# X: P* a; N: T, q0 S5 T) u圆弧和 曲线直接用UI 选择不久完了

* x3 B$ k/ F) Q: Y' u- [  F老师,
+ E4 p, s$ J0 i7 XFitcurve 和 Spline 是这样的
: B- `! @4 F8 `/ t9 K: W我选择圆做截面,拟合样条做引导线,4 z& p% w0 F1 z
7 e' |4 u: p% ?) Q4 ~. i& @6 O' v
在录制JA里生成了这一的代码,这一部分是引导线的。) ~+ O: b, Z' |
NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));
- C" e0 M" z  ]- z$ b- }- o/ [NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));
  G# O$ i9 z+ c! a; j: X! t# a  h/ K, [* y1 R9 o
在截面部分也有类似的代码
* |6 w+ l, L* j  O: K* M  v7 \; JFeatures::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......
' V7 I, f  L8 v- ?Arc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));
2 A; d- l! L, s3 Q
: ?( u  R6 l6 M! F" z2 R8 k在这之前
: y5 U# B: t4 @7 z7 C5 A6 S: T: M我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,7 c. L6 c) R1 v+ [7 x' z
但是每个Builder只返回了一个NXObject。; N6 `/ t1 n7 }* T2 G$ _
我想把代码里的四个 FindObject 部分通过代码自动生成* ^$ e) c9 s' c( Y* I5 s

, N, W8 ^+ j" l& \4 D' G: K6 Q所以想请老师指导一下. _! S" }* r( c6 I+ G) R$ J

& t  n% z) j% J8 v" o 怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针! R' _! @. P- E' E  t- y0 ]

2 `' K8 ^# B) y- [; S比如 ( c  S) {9 F' X3 i$ a5 L& l
我有一个圆柱的NXObject * ,
$ p9 l/ X& E2 N" n6 p0 k1 k* {. f2 Y怎么通过这个指针去找到它的 Body * 之类的指针。
1 U% M% Y1 R1 |) @" ^; z9 N1 F! H6 k或者
' N% D+ T1 z" d7 t2 O9 L我有一个AssociateArc的 NXObject *
/ ~0 R3 O) P8 p2 w/ \5 C% t怎么通过这个去找到它对应的Arc *。。% P+ }; @) a& ~2 }1 D4 Q
/ D! ?1 x) H; g* B* W

. X8 ^, ], L: E8 S5 C) E; h, Q* q8 B8 i$ t2 q7 G( e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了