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

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

  [复制链接]

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

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

mstn 楼主

2015-10-22 20:26:29

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,
7 G& S9 i; O+ _/ Z* n* Q扫略的目标是一个圆 , 一条样条曲线做引导线  
) ]) d: `3 I3 `* A2 y( J/ [3 ?1 Y在之前都获得了 圆和曲线的 NXObject
2 P: s/ B  ]* u8 n: X然而在创建扫略录制的代码里都需要用sections添加对象: E+ w' U; w+ f, y' x6 a
比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);
5 b$ h0 T: O# q7 x& E然而在创建对应的sections之前需要创建这个1 `1 a" K; t' k. r( }
curveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);' ^$ S& l+ a+ r( T

, n- i6 r- y8 g2 e" W想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。
; l9 l5 x1 ]% f9 M4 W) d" E然后再想问,有什么简单方便的方法创建扫略特征么?. O9 C. Q* Q0 H0 V' [3 J+ N+ _. Y
: s. q$ p$ D# g
自己的函数声明是这样的。
2 M! x8 B3 }; \, a+ ZNXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve) / e8 g/ }; O, n; E! q
; d1 R0 ^/ o/ A
, D( c+ c, G) I0 M4 ^5 Q/ l
上海点团信息科技有限公司,承接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 c( o7 }+ s! h" J- I4 u0 g7 h8 K
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));
/ P; F% _0 l2 ?9 u2 b        features2[0] = fitCurve1;
2 S; K8 Q7 Z! |4 V* S- z        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));: w' b$ w( u0 o; `. Y) n/ N' K
今天发现这样是可以用的,
, o/ d" }3 E6 X  u但是 不知道 fitcurve1 和 spline1 这两个指针的关系,
* O$ E# C  L- {* f- L* r以及怎么通过fitcurve1 找到 spline1
8 w% o# |$ ?3 l# d1 B& t0 }
上海点团信息科技有限公司,承接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();
# o/ G2 }# |+ e3 P发现两个的tag是不一样的。0 N4 I0 m8 K3 E  `- |+ ^9 r4 }. l
但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。
8 S% `7 F% t7 A! y; e5 P可以将这个NXObject 动态转换层fitCurve指针,
5 }5 K1 V' D) m( l但是第二个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 有什么关系?
  d7 s6 k/ W% Y4 P( H/ _4 }
2 Z7 L* N- Q0 C5 g2 y, V2 d5 D2 N圆弧和 曲线直接用UI 选择不久完了
5 d( S9 K/ O+ K# @5 I$ x* [
- u6 v) @8 Q. }, \! L" p2 P2 D
上海点团信息科技有限公司,承接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
  g- p$ m2 m& X- M- u7 R3 l' y4 E+ J你录制个JA 哪来这么多 , fitcurve spline 有什么关系?
: g  n2 m3 c7 D+ S7 D# a' r5 o: T  X3 w* l- p
圆弧和 曲线直接用UI 选择不久完了
) V) ^# k- Y8 p& j/ Z; H
老师,
' _- v0 i, s; T8 P4 @. E8 AFitcurve 和 Spline 是这样的: \( f" U' D3 W5 M* N
我选择圆做截面,拟合样条做引导线," ~* x" m$ ~, p& a
9 ]8 j" G: E9 O* p; N8 L
在录制JA里生成了这一的代码,这一部分是引导线的。$ O/ v1 \1 T! K; s
NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));
& m2 w4 z: b3 o# vNXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));* d; D. ]2 \- v3 S

6 t0 K: J" L7 ^6 T) z4 Z! `在截面部分也有类似的代码8 w$ ^* I0 T) z
Features::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......7 ~) V7 _0 c4 c
Arc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));
" g  r, b& J3 m, `# m: D, Y
. V3 V( H# `; P) R在这之前! s! Q! h/ @+ C) r
我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,
& u1 F' s" K$ `, z但是每个Builder只返回了一个NXObject。% v: b! [* {, Q9 {8 K1 y' E* I, k
我想把代码里的四个 FindObject 部分通过代码自动生成! N, e2 d  k( e" a
8 q" _% j7 u" ~+ ?' n' t2 ]
所以想请老师指导一下
6 o: m* G- U4 I+ d; a8 O- I5 K: R- K7 \& {8 ^# i4 `$ f
怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针3 y% o3 X) m) \6 \

3 O) O* h& B" e+ g4 K% m比如 & e) S$ L$ \  h8 E9 N
我有一个圆柱的NXObject * ,
! ~) a7 U5 N* E3 [怎么通过这个指针去找到它的 Body * 之类的指针。
; s/ F- `1 o0 K  M- m% n: |或者
9 i  `5 a8 Q4 N/ _: `7 X我有一个AssociateArc的 NXObject *
* L& h# {4 x% i2 _$ K怎么通过这个去找到它对应的Arc *。。
: z6 ], o1 J, O0 j/ c
7 [+ ?( U% A2 M* I& Q2 {: B; L8 @: V# s6 g. R0 J) Q( [
1 f+ G; o" ^2 E2 N2 N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了