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

[二次开发源码] NX二次开发源码分享:从当前视图创建CSYS

[复制链接]

2019-3-2 14:25:23 1911 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2019-3-2 14:25:23 | 显示全部楼层 |阅读模式

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

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

x
5 A$ X% w6 X4 o4 L+ U3 v
NX二次开发源码分享:从当前视图创建CSYS
; e+ Q: z* G1 L8 Y6 [$ L7 N
4 M* ]3 h/ B" f2 t9 U' H  F比较有用哦,尤其在 PMI 视图选取的时候,自己想想!/ I4 v$ d2 ]5 W( J( R
& T$ d3 j9 C8 H2 }2 r; P
9 a$ N9 t8 M9 ~
[mw_shl_code=csharp,true] double[] center = new double[3] { 0.0, 0.0, 0.0 };
! l4 D6 o- D; h6 n+ z5 z% V            Tag viewTag = Tag.Null;- X2 `# T  R6 X
/ c. d2 s* Z: Q3 S" v
            theUfSession.View.AskWorkView(out viewTag);" g0 l$ o0 N0 T. ?# S. ^, q

5 f, f3 N6 e2 Z) U9 x! D6 u            if (viewTag == Tag.Null) return;
( M5 f: l. P# U; q1 h: x' ^+ V; K" a% S
            theUfSession.View.AskCenter(viewTag, center);
) W- e7 z1 C- r" Y7 v- z$ r3 n0 H) Z. V5 z9 S: U- y* v
            View view = (View)(NXObjectManager.Get(viewTag));
+ P3 S& \0 p/ Q" ~$ j5 Q* E$ b9 L( W) l; E
            Point3d point3d = new Point3d (center[0], center[1], center[2]);
4 D+ {6 e0 l# e8 o, N% m/ U+ O( b2 X            Vector3d xDirection = new Vector3d(view.Matrix.Xx, view.Matrix.Xy, view.Matrix.Xz);
# [% l. r* q, C# x! c* O            Vector3d yDirection = new Vector3d(view.Matrix.Yx, view.Matrix.Yy, view.Matrix.Yz);
* S2 ^% Z  d+ e
, A) t: M1 `' G0 G, [8 u            Xform xform = workPart.Xforms.CreateXform(point3d, xDirection, yDirection, NXOpen.SmartObject.UpdateOption.WithinModeling, 1.0);1 T! A  n) r' s8 ^- O' ~$ }
+ t6 s3 y8 z$ ?) k3 o% }
            NXOpen.Features.DatumCsysBuilder datumCsysBuilder = workPart.Features.CreateDatumCsysBuilder(null);
3 h; d9 C$ I/ C            datumCsysBuilder.Csys = workPart.CoordinateSystems.CreateCoordinateSystem(xform, NXOpen.SmartObject.UpdateOption.WithinModeling);
/ q# p* u0 s5 p. l3 F) p5 z            datumCsysBuilder.DisplayScaleFactor = 1.25;5 g( X7 O) J: M# u7 t* v
            datumCsysBuilder.Commit();
6 l2 ?8 c) u2 f: G) K            datumCsysBuilder.Destroy();[/mw_shl_code]
5 d4 ^& r; C7 ]; I, q# R, @
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了