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

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

  [复制链接]

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

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

mstn 楼主

2015-10-22 20:26:29

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,# f0 E$ X& D& _4 g
扫略的目标是一个圆 , 一条样条曲线做引导线  
1 y8 C# @4 O. Z" L" B6 M' s6 j: [在之前都获得了 圆和曲线的 NXObject! I5 ^6 ~' M1 F$ J. M
然而在创建扫略录制的代码里都需要用sections添加对象
% ~- \$ I  D! r9 }( ^  P/ ~9 a  J比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);
. L. F4 v# V0 k2 G) t! c然而在创建对应的sections之前需要创建这个
! B4 a! p. B% rcurveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);6 r, g+ Y  r, g  h' T

' x- \* Z$ N: W9 e* o想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。
' O7 i, F. b' D0 V然后再想问,有什么简单方便的方法创建扫略特征么?) {  T) h7 l3 z) r3 @+ t- X& i9 [
1 S% r" @6 i& \7 J
自己的函数声明是这样的。
# a- L3 i6 G2 X7 H0 Z& A+ MNXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve)
: A/ o, h* k" M9 `7 A+ @: ~
6 R' _% _8 t) k" d7 a( e) Y* B' ^
上海点团信息科技有限公司,承接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

还有一个问题就是2 \' x7 g% T9 j" ^; l2 H
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));+ K9 S. R( e' \- S  C' _( }
        features2[0] = fitCurve1;  N4 B# ]$ T2 D! ~
        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));
! v; j  e4 H/ l: J; w今天发现这样是可以用的,. B' ]$ j( U; h% h1 q4 D6 Q2 z6 D
但是 不知道 fitcurve1 和 spline1 这两个指针的关系,
4 H( m$ @5 b6 @1 m% q* P以及怎么通过fitcurve1 找到 spline10 ^" B/ }! l7 y. g# m! s- B
上海点团信息科技有限公司,承接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();
- i4 V" Y9 x& e2 Z8 P发现两个的tag是不一样的。
8 H: v$ s0 S, A& z. Y3 Z7 y7 R但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。
/ e% f2 A) p  z" g3 U可以将这个NXObject 动态转换层fitCurve指针,
0 a, v7 F- \0 _/ ?9 f0 F8 v但是第二个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 有什么关系?
  C1 F+ [4 P$ [/ ~/ p7 F: q/ A3 B3 y  h  K
圆弧和 曲线直接用UI 选择不久完了
, h! Z% R  k2 j! H" V
3 u5 R  d2 T) ?' Y
上海点团信息科技有限公司,承接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' n& x& c2 X2 a5 S3 {8 t) `
你录制个JA 哪来这么多 , fitcurve spline 有什么关系?
, ]( M& H2 X8 x7 s/ o- h, F
& a! |( ?3 a( P, P2 i9 Q) `- h( \圆弧和 曲线直接用UI 选择不久完了

" {9 T$ o  H+ ^5 h老师,; R# U2 `4 F7 n8 k
Fitcurve 和 Spline 是这样的
8 r$ S0 D: O4 B我选择圆做截面,拟合样条做引导线,
4 A! g! T+ S3 A$ B$ l0 }4 ]
3 U: w2 h$ B: n! I# I( g3 i5 o在录制JA里生成了这一的代码,这一部分是引导线的。: y' u1 N' R7 k3 s
NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));* B0 V9 h; y3 T7 u1 z4 R* O' }
NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));, B* p7 t8 Z/ L% s

! t5 t. M& g  s4 d: j. t在截面部分也有类似的代码; b: u, M5 g; V* i, W. N/ ]
Features::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......  C& W7 [5 S% Y: w1 H# P
Arc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));& X0 g, j2 t( T- n) C, l# F

; S) c4 G+ X: d在这之前# g% o' c. [8 u/ g
我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,
4 _! g9 U$ U9 t  \$ {2 k. X但是每个Builder只返回了一个NXObject。; L7 s" Q9 g' L9 l6 a7 m  r
我想把代码里的四个 FindObject 部分通过代码自动生成- w$ W2 Z% z- h9 f& G

! v( `$ [) Y" u1 j8 S" y/ m! J1 ]4 |所以想请老师指导一下
! d0 P! R/ G; D5 ^# z8 E& C
& w2 n4 y9 @+ |+ L! q5 j$ R+ E 怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针. C2 L- w" @' Y4 s5 G. y
! Q) k4 K; W6 V9 e
比如
4 H6 e" y/ \* F7 Q. q$ f# {# g/ s我有一个圆柱的NXObject * ,
# ~% n" g4 `. b  R* Y怎么通过这个指针去找到它的 Body * 之类的指针。, W% u5 }/ T4 k) B/ o0 J
或者
8 e6 C" E% Z9 U2 H我有一个AssociateArc的 NXObject *
8 \6 Q9 d& T8 ^: s8 }怎么通过这个去找到它对应的Arc *。。) r* l! b) G, n+ R9 G6 y

4 M7 L1 e2 Y1 @; D% v! x6 [
8 p) z( y& Y% ^/ k* P* f
! K- z1 k  a7 Z+ o8 d5 X, ~& w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了