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

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

  [复制链接]

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

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

mstn 楼主

2015-10-22 20:26:29

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,
+ _3 p* [2 o( f: o: s扫略的目标是一个圆 , 一条样条曲线做引导线  , d+ `3 n- h- [5 Z3 G! {5 e
在之前都获得了 圆和曲线的 NXObject
6 N0 s4 H- H* {* A+ G+ [然而在创建扫略录制的代码里都需要用sections添加对象
- O9 n* J: T5 L4 O比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);
3 ?# W' R, D: ^% ?然而在创建对应的sections之前需要创建这个
3 i5 h2 ?% t+ d. \4 zcurveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);
& k  ^* U. _% ?6 x# R9 i
( G# n! j) M) Z# n* V想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。
# S4 n* x5 [4 o# A然后再想问,有什么简单方便的方法创建扫略特征么?. M$ k# f# t1 A3 `' G$ z% H
. s0 n2 C: o$ Q; l: S- @
自己的函数声明是这样的。" n( b  f) K( V' B& x
NXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve)
$ ^6 Q- a% o4 L
2 h3 U2 C: j" l- Y% e
; a' _# ~9 w0 o0 w9 F
上海点团信息科技有限公司,承接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

还有一个问题就是
& `/ f3 {" o3 c% hAssociativeArc 和 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));
5 b* ^: b; J8 O% M- }        features2[0] = fitCurve1;
/ r4 e  \: e4 ]  p        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));% \. H5 B7 z( W
今天发现这样是可以用的,& t6 l4 T3 C7 @9 O
但是 不知道 fitcurve1 和 spline1 这两个指针的关系,
. i3 Z+ v0 _/ G  _1 l+ ]1 W以及怎么通过fitcurve1 找到 spline17 q' @( c* n* W; ?; I, `  F; q3 `
上海点团信息科技有限公司,承接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();
, ?; Q/ J$ z9 X, p7 Q* K发现两个的tag是不一样的。# z) S/ h1 s5 V* k
但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。
8 ]& w/ Z: J" A可以将这个NXObject 动态转换层fitCurve指针,
! R" e; b( j' @8 n! I但是第二个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 有什么关系?5 C0 M( N0 I8 ?
% g" M$ m( [: }4 v1 v3 Q5 G
圆弧和 曲线直接用UI 选择不久完了
+ Z. I: s2 \- ^5 k, k0 h8 q4 f% l! ^# @9 j
上海点团信息科技有限公司,承接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
6 i% m1 ^' ?7 h1 F; B你录制个JA 哪来这么多 , fitcurve spline 有什么关系?  _' j: c6 @1 T: Z
9 Y3 R3 I  B/ }, U
圆弧和 曲线直接用UI 选择不久完了
5 H+ C! B6 d/ G' m& h
老师,7 G/ j! W% G1 D% }+ @
Fitcurve 和 Spline 是这样的
: [- P) c5 U' ]4 ^7 R" t我选择圆做截面,拟合样条做引导线,
. O- ^; W% M' ^* N: B  ?/ b
5 e% L0 H, ~8 ]/ ^在录制JA里生成了这一的代码,这一部分是引导线的。! N& g7 r3 P* U' @1 h* l
NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));
7 a" _$ T* v, pNXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));1 r  J0 f5 c* f
( X" k+ y$ {# ]( [
在截面部分也有类似的代码9 B% G3 T- B) T1 L0 c
Features::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......
" N" q. I5 `9 e2 Y# hArc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));' W5 Q9 k5 s0 z4 Z0 n% k/ \" {

* l! `/ a; ~  B+ @在这之前' P9 u2 r) \6 e2 T
我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,
  {6 l4 c+ z, P1 r但是每个Builder只返回了一个NXObject。
, p- X5 B8 U/ @我想把代码里的四个 FindObject 部分通过代码自动生成2 [6 R3 j+ V; T' Z% [( g) q
, j  M* c& {! z+ L
所以想请老师指导一下6 ?' s& J: e: H* ^0 F& B' u; E

3 S& J/ C, t/ B0 {6 k+ O) g5 j) a; d 怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针& v- B7 M( K# ^4 e, t7 X7 m

2 O3 N! p* K( i' ]6 A6 l+ n4 f比如
; Y( w/ w/ D$ p% U' L  x6 B我有一个圆柱的NXObject * ,( W- g' I( @4 R; v+ A
怎么通过这个指针去找到它的 Body * 之类的指针。
9 X1 L- z/ B4 B5 r或者
0 Q' e9 {+ M# A5 }6 I) v/ c我有一个AssociateArc的 NXObject ** P2 t" }& s7 D& ~0 g
怎么通过这个去找到它对应的Arc *。。6 w+ H$ \! ]+ Y% @" f. d6 c4 Z

# A$ i1 _7 \( y; }1 }( J
+ E) t% ~1 r% m" g( d* N+ P
& L. E4 L- i6 M7 x* h+ Y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了