继续STEP File's entities UpdateOrientedBoundingBox
在SolidWorks中,它们由许多零件组成装配体。
每个部分都有自己的协调系统。
当他们将所有零件组装到装配中时,每个零件都可能旋转。
那么,并非所有实体都是Up-z,也许有些实体是Up-y,有些实体是Up-x。
当我导出到步骤(AP214)时,这些属性将保留。
我将步骤加载到视口中,我希望所有实体都为Up-z。
然后,我叫translate(0,0,1000)
,这些实体将向上移动,而不是在我看来左移。
答案 0 :(得分:0)
Solidworks
中没有UpZ或UpX之类的东西。一切都很好。
进行装配时,所有零件要么手动定位,要么使用配合定位(99%的时间)。这个过程几乎会一直旋转并平移零件。
当导出为Step
或Iges
(Eyeshot可以使用2种主要导出格式)时,在这些文件中生成的所有几何都不包含原始矩阵。如果您查看零件的顶点,您将看到Mesh
的顶点相对于世界而不是相对于内部矩阵定位。
这就是说,如果您遍历视口中的所有实体并将它们平移为Z,则它们都将沿相同方向移动。
为了保留最终矩阵,该原理非常简单,就像我已经做过的一样,但是您需要了解绕Solidworks API
的方式。您需要创建一个Solidworks Addin
并向Solidworks
添加一个按钮或菜单。然后,一旦编写了代码,就可以将每个零件分别导出到步骤中,这将保持它们原来的旋转,然后再修改为装配体。如果您有10个零件,除非装配中多次使用相同的零件,否则最终应有10个Step
文件,那么您的零件将更少。
最后,您需要使用装配体来获取装配体中每个零件的矩阵,并创建一个PartName
与Matrix
关联的某种文件,因此您应该拥有每个零件。 / p>
进入Eyeshot
时,所需要做的就是加载正确的步骤并应用保存在文件中的矩阵。然后,如果要相对于它们自己的Z轴移动所有内容,则只需创建一个具有所需位移的Z向量,即:(0,0,1000)并通过零件矩阵之一转换该向量,然后通过转换的向量。最后,对每个零件重复相同的过程。
为获得真实矩阵的过程而逐步添加易于理解的部分:
Solidworks
Step
Step
部分文件,并通过文本文件中的矩阵转换该块。