使STEP文件所有实体的坐标系up-z
Make the coordination system of all entities of the STEP file up-z
继续STEP File's entities UpdateOrientedBoundingBox
在 solidworks 中,他们从许多零件构建装配体。
每个部分都有自己的协调系统。
当他们将所有零件组装成一个组件时,每个零件都可以旋转。
那么,并非所有实体都是 Up-z,也许有些实体是 Up-y,有些实体是 Up-x。
当我导出到一个步骤(AP214)时,这些属性被保留。
我将步骤加载到我的视口,我想让所有实体都是 Up-z。
然后,我称 translate(0,0,1000)
实体将向上移动,而不是在我看来向左移动。
Solidworks
中没有 UpZ 或 UpX 这样的东西。一切都很好。
当您制作装配体时,所有零件要么手动定位,要么使用配合定位(99% 的时间)。这个过程几乎总是会旋转和平移部分。
当您导出到 Step
或 Iges
(Eyeshot 可以使用的 2 种主要导出格式)时,在这些文件中生成的所有几何图形都不包含原始矩阵。如果您查看零件的顶点,您会看到 Mesh
的顶点是相对于世界而不是内部矩阵定位的。
话虽这么说,如果您遍历视口中的所有实体并在 Z 中平移它们中的每一个,它们都将朝相同的方向移动。
为了保持最终矩阵,原理很简单,因为我已经做到了,但是你需要了解 Solidworks API
的方法。您需要创建一个 Solidworks Addin
并向 Solidworks
添加一个按钮或菜单。然后,一旦您编写了一些代码以将每个零件单独导出到步骤中,这将在修改到装配体之前保持它们的原始旋转。如果您有 10 个零件,您最终应该有 10 个 Step
文件,除非同一零件在装配中多次使用,否则您的文件会更少。
最后,您需要使用程序集来获取程序集中每个零件的矩阵,并制作某种具有 PartName
到 Matrix
关联的文件,因此您应该拥有每个零件.
当你到达 Eyeshot
时,你所要做的就是加载正确的步骤并应用你保存在文件中的矩阵。然后,如果你想相对于它们自己的 Z 轴移动所有东西,你只需创建一个具有所需位移的 Z 向量,即:(0, 0, 1000) 并通过部分矩阵之一转换该向量,然后通过转换后的向量。最后你对每个部分重复相同的过程。
添加这部分,让获取真实矩阵的过程更容易阅读:
- 打开
Solidworks
- 打开您感兴趣的程序集(whatever.sldasm)
- 单击您使用 API
创建的按钮或菜单
- 取出组件的一部分并将其打开(即part1.sldprt)
- 作为 part1.step
导出到 Step
- 关闭零件文档并return到仍打开的装配体文档
- 获取 part1.sldprt 的矩阵并将其保存到文本文件中以便稍后阅读
- 重复步骤 4 到 7,直到完成所有部分
- 在视野中打开每个部分
Step
文件并通过文本文件中的矩阵转换块。
- 全部完成
继续STEP File's entities UpdateOrientedBoundingBox
在 solidworks 中,他们从许多零件构建装配体。
每个部分都有自己的协调系统。
当他们将所有零件组装成一个组件时,每个零件都可以旋转。
那么,并非所有实体都是 Up-z,也许有些实体是 Up-y,有些实体是 Up-x。
当我导出到一个步骤(AP214)时,这些属性被保留。
我将步骤加载到我的视口,我想让所有实体都是 Up-z。
然后,我称 translate(0,0,1000)
实体将向上移动,而不是在我看来向左移动。
Solidworks
中没有 UpZ 或 UpX 这样的东西。一切都很好。
当您制作装配体时,所有零件要么手动定位,要么使用配合定位(99% 的时间)。这个过程几乎总是会旋转和平移部分。
当您导出到 Step
或 Iges
(Eyeshot 可以使用的 2 种主要导出格式)时,在这些文件中生成的所有几何图形都不包含原始矩阵。如果您查看零件的顶点,您会看到 Mesh
的顶点是相对于世界而不是内部矩阵定位的。
话虽这么说,如果您遍历视口中的所有实体并在 Z 中平移它们中的每一个,它们都将朝相同的方向移动。
为了保持最终矩阵,原理很简单,因为我已经做到了,但是你需要了解 Solidworks API
的方法。您需要创建一个 Solidworks Addin
并向 Solidworks
添加一个按钮或菜单。然后,一旦您编写了一些代码以将每个零件单独导出到步骤中,这将在修改到装配体之前保持它们的原始旋转。如果您有 10 个零件,您最终应该有 10 个 Step
文件,除非同一零件在装配中多次使用,否则您的文件会更少。
最后,您需要使用程序集来获取程序集中每个零件的矩阵,并制作某种具有 PartName
到 Matrix
关联的文件,因此您应该拥有每个零件.
当你到达 Eyeshot
时,你所要做的就是加载正确的步骤并应用你保存在文件中的矩阵。然后,如果你想相对于它们自己的 Z 轴移动所有东西,你只需创建一个具有所需位移的 Z 向量,即:(0, 0, 1000) 并通过部分矩阵之一转换该向量,然后通过转换后的向量。最后你对每个部分重复相同的过程。
添加这部分,让获取真实矩阵的过程更容易阅读:
- 打开
Solidworks
- 打开您感兴趣的程序集(whatever.sldasm)
- 单击您使用 API 创建的按钮或菜单
- 取出组件的一部分并将其打开(即part1.sldprt)
- 作为 part1.step 导出到
- 关闭零件文档并return到仍打开的装配体文档
- 获取 part1.sldprt 的矩阵并将其保存到文本文件中以便稍后阅读
- 重复步骤 4 到 7,直到完成所有部分
- 在视野中打开每个部分
Step
文件并通过文本文件中的矩阵转换块。 - 全部完成
Step