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

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

  [复制链接]

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

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,# m- F5 K6 a5 G& i, t2 V" A
扫略的目标是一个圆 , 一条样条曲线做引导线  
6 s& f+ M: f! \1 E6 K+ e在之前都获得了 圆和曲线的 NXObject! L& Q4 L  @$ e" H  V0 w3 U
然而在创建扫略录制的代码里都需要用sections添加对象
. n4 T3 X# X" ?, X! Q. B比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);
2 h$ E) `. I' A然而在创建对应的sections之前需要创建这个
! ^; ?% b3 b! e) [% G% YcurveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);
, B' @* R7 c1 o" ~1 E  x0 ^9 l
6 p1 h2 A5 Z1 \4 b7 O7 {想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。
' P( X! q! C9 z) W1 w% q) X; R然后再想问,有什么简单方便的方法创建扫略特征么?, n/ {2 h) [  a+ d" E
) s1 o7 }0 V" W$ {
自己的函数声明是这样的。
, B' y7 m# E# L: PNXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve)
8 a7 ?1 e' F$ V  ?) E9 {
7 H$ c* x# c( o# |
# f" R# t# F# B8 a. G7 n; ]
上海点团信息科技有限公司,承接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

还有一个问题就是4 @) f1 G! a/ |2 Q0 D4 [
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));  m: n; t: a: _% v) B8 E
        features2[0] = fitCurve1;' |7 X7 E7 ?3 n& V! p
        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));3 f: g: D" N2 A! X. M4 y1 f) f. i
今天发现这样是可以用的,
  P+ p2 {2 n4 a. v, m, K2 `但是 不知道 fitcurve1 和 spline1 这两个指针的关系,# C8 {$ `4 E" D+ }
以及怎么通过fitcurve1 找到 spline1/ p0 Q1 o' v8 N% F. k1 r0 \0 ]
上海点团信息科技有限公司,承接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(); 5 c4 c0 q7 ~# e
发现两个的tag是不一样的。
3 e# l: _9 D# D6 n4 N/ s' R5 Y/ j0 u但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。
) w& |5 e# Z( \: _4 w8 B! @可以将这个NXObject 动态转换层fitCurve指针,
( }5 |9 I2 t( c+ r3 l" ]# O但是第二个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 有什么关系?9 w. Y  C) U* d2 \* U4 \6 L; o1 K
) v; ~5 o" e1 @
圆弧和 曲线直接用UI 选择不久完了
8 M" W# m! M8 ^4 Y, e
3 H+ K& C8 J5 A: \/ C) c3 n
上海点团信息科技有限公司,承接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:300 H$ u) _: n' D: g/ j+ }
你录制个JA 哪来这么多 , fitcurve spline 有什么关系?: _/ b# x5 ~9 p, ^2 B

# |/ Z7 i9 V% C9 g4 `' `" Q圆弧和 曲线直接用UI 选择不久完了

6 K- Y1 T8 M' Q! j% q老师,
/ q+ t/ V0 y! B; M+ X* j" ^Fitcurve 和 Spline 是这样的
+ Y/ g! ~# x7 e3 @) |  m我选择圆做截面,拟合样条做引导线,
+ w- \1 a& K- \, y# L' K# `  U; y; A8 M% U, h  |4 n- Q+ z
在录制JA里生成了这一的代码,这一部分是引导线的。% A0 w, C, F& T8 i& D4 o
NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));: d' |" d  [% c# S" T9 C3 o' w
NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));
& W3 `% k( ?, c. W
1 e3 [- z2 _/ @0 {3 P: _$ k: q在截面部分也有类似的代码
4 T+ {4 z' k* q( G0 q/ f' uFeatures::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......
2 \! R. }* l9 ]+ K5 `Arc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));# ^# z, Q' c& ?/ L

7 v( Y5 M3 U$ ~' K0 I# o; a) D% i在这之前. W  h9 K6 E, @: a$ X1 o: G
我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,
2 V% H$ \9 \- @- P但是每个Builder只返回了一个NXObject。+ P7 o3 E+ s8 @/ M2 q7 `
我想把代码里的四个 FindObject 部分通过代码自动生成
) g* o0 I9 D, d/ D% i1 R
; o9 ^! s( A/ p( T所以想请老师指导一下% O3 F! }1 D& T8 @) _% f
% _& g8 w. p: V: t% F
怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针
% G/ ~; _% X$ Q4 p" l
* x) s" b: }, u7 h比如
3 p1 `. ^" f9 }- x" g. P$ m我有一个圆柱的NXObject * ,
6 E+ M. u' V! E怎么通过这个指针去找到它的 Body * 之类的指针。+ @$ F" R; a1 Q: n7 O% ~0 M
或者% ^* H- u7 A/ F
我有一个AssociateArc的 NXObject *$ ~& E) c  M" Y% i4 F$ a( q( J
怎么通过这个去找到它对应的Arc *。。; W* h3 }# F$ L1 b# Q) v3 S
0 [5 _: i* D6 B3 J6 B- H

' J) K$ R1 w! n1 x# Z6 H1 X
6 S1 z# ^# j" Q+ N- Y6 B, a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了