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

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

  [复制链接]

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

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

mstn 楼主

2015-10-22 20:26:29

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,
- G: i  I  y  m4 Q. V扫略的目标是一个圆 , 一条样条曲线做引导线  
8 j1 q% D# e* g% ?在之前都获得了 圆和曲线的 NXObject- {6 q! ~7 A6 I& I2 I# p
然而在创建扫略录制的代码里都需要用sections添加对象
* Z0 n5 \3 A6 S* j7 x/ t# d比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);
6 M3 m; }  O, u: w然而在创建对应的sections之前需要创建这个7 D7 V3 b2 m% K2 t3 O$ Y
curveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);0 B, s; b6 R5 n. e: }0 S8 \0 s5 N

8 D, k' k1 W& i0 H想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。2 ]2 M8 I4 H+ S
然后再想问,有什么简单方便的方法创建扫略特征么?
# D3 v, ?, J/ _0 n, ?; J5 e8 C; m
自己的函数声明是这样的。
* h0 {3 b2 c# W1 e1 k' K, g9 l6 lNXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve) 0 S) I9 A) v2 t+ g
( F: c1 C% J! k% j  o
+ P7 X7 N" l1 ^2 V* R
上海点团信息科技有限公司,承接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

还有一个问题就是
! ^0 a8 @" A1 t% E% W, _9 GAssociativeArc 和 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));9 }0 i5 U3 h7 C1 _
        features2[0] = fitCurve1;# b' S1 v9 c2 o0 }: r" s5 Q
        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));( T* m) f7 z, x
今天发现这样是可以用的,
4 Z$ l# }, x" ?) ]9 b; R/ n但是 不知道 fitcurve1 和 spline1 这两个指针的关系,- }& o' R+ j" I
以及怎么通过fitcurve1 找到 spline1! R; i- H) b/ z
上海点团信息科技有限公司,承接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(); 9 l- Y) ]# c7 w
发现两个的tag是不一样的。
+ s9 M5 }2 r3 T9 O4 T3 M但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。
% Q$ g$ b- x2 z9 _可以将这个NXObject 动态转换层fitCurve指针,
- ~7 L& w. v; X( v* d但是第二个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 有什么关系?$ {, k  o8 D2 R' I2 r

: u* S( s" w/ e' @' O, Q+ @0 v圆弧和 曲线直接用UI 选择不久完了4 `5 }  _: ?8 i, P

) o% o  k. D5 z
上海点团信息科技有限公司,承接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
0 k  d! @0 Q+ x; W你录制个JA 哪来这么多 , fitcurve spline 有什么关系?7 T/ \# k3 j/ D: a
; f9 x4 {4 }* y: F2 E* t) G0 _
圆弧和 曲线直接用UI 选择不久完了

2 a9 d$ z% k0 }8 B( D& ^老师,% B9 X- V6 J  o6 s: W/ B" z
Fitcurve 和 Spline 是这样的
. E( @4 I" ?) g6 [& R, i7 V我选择圆做截面,拟合样条做引导线,
4 ]; \  p0 A. {0 r; Q" d4 V8 q4 R0 C( S/ u: V( a
在录制JA里生成了这一的代码,这一部分是引导线的。
. w2 T( {/ ~, f3 e. jNXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));
1 {0 Z2 _; b" A1 h% E8 ?- ~1 ~NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));* B( O& x: y4 L. M; ]) b

; \7 X# T: U) i1 H6 k在截面部分也有类似的代码* H0 F- D* T! @+ {: B  x: c! h/ g
Features::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......
2 C# U6 U0 _# B% PArc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));
! c+ k% A6 `4 d+ K0 W1 p( G. J1 u2 g/ J
在这之前' D, O! F( I+ s' A
我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,. a+ i. N" n7 ]' e& ^* n
但是每个Builder只返回了一个NXObject。
) G: f: k. w' G1 L" n% K1 P0 r: V我想把代码里的四个 FindObject 部分通过代码自动生成
2 ~9 |" u( I/ L1 P9 ~" f
1 v* a& |* u* C  T9 N所以想请老师指导一下
! F9 N( R7 @2 e5 x6 M+ p2 q2 v
/ m5 ]4 W7 @' G% N: C3 c 怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针; B; L# a6 _1 i; Y! Y6 g+ u8 b
# _& ~  K6 q  n" d: _
比如
; R0 z6 P; @7 K' o; `- x6 K我有一个圆柱的NXObject * ,
5 T( p' p0 w7 X怎么通过这个指针去找到它的 Body * 之类的指针。8 }$ O  q" ]* Y8 M
或者
; `- |$ n+ E9 f! n1 K3 f8 R我有一个AssociateArc的 NXObject ** a- R. l$ I" E$ P. a. W6 _& w* v+ ?! z
怎么通过这个去找到它对应的Arc *。。: V- E7 k: {7 i/ j0 V, o; Y
) \4 Z2 c, }/ n
: B' S2 J+ n4 z; R# t7 V9 s% l) G

1 ~" j* m3 ?4 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了