NX二次开发 内部函数获得part文件信息

引言

前段时间,在群里,有人请教如何在不打开part文档的情况下,获得part文件是公制还是英制,UFun函数提供了一个函数,可以获得零件的单位:
UF_PART_ask_units(
tag_t part,
int * part_units
)
但是需要传入part标识,所以要使用这个函数,就一定要先打开文件,而打开文件就会消耗时间,而要获得更好的用户体验,就必须快速响应,而这个肯定也是有内部函数的,因为在打开文件的界面,NX就可以获取一些信息,这些信息保存在文件头,那么下面我们将找一下这个函数,并使用!

查找函数

与part相关的函数都封装在libpart.dll上面,下面看看反编译出来的头文件(使用反编译工具生成的.h和.lib文件)
搜索关键字header
在这里插入图片描述
去除重复的行 只有下面几个函数

int AP_ask_header_info_from_file(char const 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是UG/NX二次开发创建方块函数的示例代码: ``` // 创建一个指定大小和位置的方块 void createBlock(Point3d center, double length) { // 创建一个新的坐标系 Matrix4x4 mat; mat.setToIdentity(); // 重置矩阵为单位矩阵 mat.translate(center); // 将坐标系平移到中心点 // 定义方块的8个顶点坐标 Point3d vertices[8]; vertices[0] = Point3d(-length/2, -length/2, -length/2); vertices[1] = Point3d(-length/2, length/2, -length/2); vertices[2] = Point3d(length/2, length/2, -length/2); vertices[3] = Point3d(length/2, -length/2, -length/2); vertices[4] = Point3d(-length/2, -length/2, length/2); vertices[5] = Point3d(-length/2, length/2, length/2); vertices[6] = Point3d(length/2, length/2, length/2); vertices[7] = Point3d(length/2, -length/2, length/2); // 创建方块的6个面 FaceBlockBuilder builder; builder.setMatrix(mat); // 设置坐标系矩阵 builder.addFace(vertices[0], vertices[1], vertices[2], vertices[3]); // 前面 builder.addFace(vertices[4], vertices[5], vertices[6], vertices[7]); // 后面 builder.addFace(vertices[0], vertices[1], vertices[5], vertices[4]); // 左面 builder.addFace(vertices[3], vertices[2], vertices[6], vertices[7]); // 右面 builder.addFace(vertices[1], vertices[2], vertices[6], vertices[5]); // 上面 builder.addFace(vertices[0], vertices[3], vertices[7], vertices[4]); // 下面 // 创建实体对象并将面添加到实体中 Block block; builder.construct(block); Part part = Session::GetSession()->Parts()->Work(); part.Bodies().Add(block); } ``` 在以上代码中,我们首先定义了一个createBlock函数,它接受一个坐标点和一个长度作为参数。接着,我们创建一个新的坐标系,并将它平移到中心点。然后,我们定义了方块的8个顶点坐标,并使用FaceBlockBuilder类创建方块的6个面。最后,我们创建实体对象并将面添加到实体中,最终创建出一个方块。 请注意,以上代码只是示例代码,具体实现可能会因需求而异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq285503851

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值