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

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

  [复制链接]

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

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

mstn 楼主

2015-10-22 20:26:29

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

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

x
我录制了一段创建扫略的代码 ,想改给自己用,
$ g( s& v. S+ E* H! q9 @% ~$ F扫略的目标是一个圆 , 一条样条曲线做引导线  4 C7 I, `5 w2 N6 g1 ~/ X% k
在之前都获得了 圆和曲线的 NXObject
# i/ @4 e! e# {: e7 f+ W0 b然而在创建扫略录制的代码里都需要用sections添加对象
; i; ~/ I9 ^, R7 d2 E7 Z4 B比如sweptBuilder1->AlignmentMethod()->SetSections(sections1);
" b+ k: z4 u& x然而在创建对应的sections之前需要创建这个
/ b, g7 m: x9 N# j. M. c) xcurveFeatureTangentRule1 = workPart->ScRuleFactory()->CreateRuleCurveFeatureTangent(features1, arc1, nullNXOpen_Curve, true, 0.00095, toleranceAngle);/ [8 m& g& j, X. P* h# p: V

; f1 Z- d/ }6 |想问,有什么方法能把NXObject* 转成 对应的Feature * 或者 Arc * 或者FiTCurve * 或者Spline * 呢。% L, [8 V/ T$ l7 S) T8 y9 a
然后再想问,有什么简单方便的方法创建扫略特征么?
+ T$ s  \+ o: Z( S% t/ d9 O3 }& M
4 @6 b) t( \2 L0 z8 a/ ^自己的函数声明是这样的。
4 C) ~1 H* X. B, }2 ]; ANXOpen::NXObject * CreateSweptThrCurveAndGuideline(NXObject * associativeArc,NXOpen:oint3d helpPoint,NXObject * fitCurve) 4 E1 |8 o( e, P$ a0 j' H) @

0 _2 S1 g2 P6 T! B/ t; K
8 c) v- _) Q$ \0 x' a7 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

还有一个问题就是6 V; H5 G, o. `# Q3 c& `5 x, W
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));; i& ~! O2 J% |  V$ J
        features2[0] = fitCurve1;
8 O" J- y' ~  n+ O/ ^        NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));/ g0 x8 {/ c. R* s7 i" c+ \
今天发现这样是可以用的,( {6 D  K0 d1 w
但是 不知道 fitcurve1 和 spline1 这两个指针的关系,
2 Y' @3 n+ Q" C以及怎么通过fitcurve1 找到 spline1: V9 U1 R2 T3 r
上海点团信息科技有限公司,承接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();
# e/ Y: K# ~0 v) y! A' B) D发现两个的tag是不一样的。
; e7 G, r- C, Z: ~/ o但是通过FitCurveBuilder ->commit 之后 只生成了一个NXObject 。
5 x. m; O1 k* {& U可以将这个NXObject 动态转换层fitCurve指针,
% A  S- p7 q1 o: I+ C但是第二个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 有什么关系?0 c; P" x( L  M6 }

* w- d* [8 y/ y, x* z" z圆弧和 曲线直接用UI 选择不久完了6 A. \# j8 p5 _
# Q$ ?/ w  h2 [
上海点团信息科技有限公司,承接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 O5 q: v$ U6 k& w0 a
你录制个JA 哪来这么多 , fitcurve spline 有什么关系?) k( }2 [5 K$ |" i2 G6 R3 z
  y, d9 G5 v) M3 I3 A
圆弧和 曲线直接用UI 选择不久完了
8 X. _  k/ d1 i; l! Q
老师,
# h# }. A* F" w" N8 ]Fitcurve 和 Spline 是这样的. k( F4 `+ H7 x
我选择圆做截面,拟合样条做引导线,
* a. W! L' V: D& d6 D$ ~9 y; `! q: {6 ?/ N5 S
在录制JA里生成了这一的代码,这一部分是引导线的。. G0 [4 l& Q0 ^9 q; X  m+ ?
NXOpen::Features::FitCurve *fitCurve1(dynamic_cast<NXOpen::Features::FitCurve *>(workPart->Findobject("Fitcurve 6")));3 w) Z9 B% s8 t: z, G9 ^4 @
NXOpen::Spline *spline1(dynamic_cast<NXOpen::Spline *>(fitCurve1->FindObject("CURVE 1")));
0 E) u# {  a9 H8 r7 y. Q3 T
2 y! j$ ~2 R% y: Q在截面部分也有类似的代码5 A1 m5 I% V+ ^. G1 b# ~8 k. `
Features::AssociateArc * associativeArc1(dynamic_cast<Features::AssociateArc * associativeArc1>)......
) v, l3 F; m3 T0 I" ?7 y4 {Arc * arc1(dynamic_cast<NXOpen::Arc *>(associativeArc1->FindObject("ARC 1")));
! h7 m6 T6 w3 ^3 Y+ E$ c
# R3 T- B( Y  K4 H: ^' `在这之前
8 [( n6 R/ f' k) y) W- Z9 v我通过AssociateArcBuilder 和 FitcurveBuilder 生成了截面和引导线,
: i+ \+ _/ Z) I+ k% q4 E' j但是每个Builder只返回了一个NXObject。* Z: z' p- P: [4 Z9 O) n
我想把代码里的四个 FindObject 部分通过代码自动生成
  t$ f$ E, J' e: U7 Z
2 `" c5 C+ p3 T. s0 T, M所以想请老师指导一下3 F8 s4 ~: Q% v8 M  T$ Z. r

& }. a/ u* T: q/ \, A8 _0 [ 怎么通过 NXObject * 指针,去获取 它指向 对象的其他 指针; R& ^# ?; T) a7 c* F- e

- N' y3 w, E" Q0 N' z* X, w7 H! t比如 + z" e* m8 L% V6 S6 s7 h
我有一个圆柱的NXObject * ,
$ n& n' D) S" z2 r怎么通过这个指针去找到它的 Body * 之类的指针。
% F+ @' M8 ?3 {4 P( a% k或者
: |4 Z, W: y! |3 ?! u我有一个AssociateArc的 NXObject *+ R1 S$ I' Y# {6 T' O' [2 h
怎么通过这个去找到它对应的Arc *。。8 P) ~2 g/ M+ A+ i' u2 u
, K- S+ @% v: a2 F# C# u

& L0 i' {# j& X" q, n1 c) `# Q+ R& r5 |- _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了