3

我想在 linux 服务器上修改用solidworks 创建的stl 文件的某些方面。对于这样的任务,是否有一种久经考验的方法?我目前正在研究 3d 库或 meshlabserver。

4

1 回答 1

1

你可以像这样使用meshlabserver

meshlabserver -i sourcefilepath -o resaultfilepath -s process.mlx

您需要编写 process.mlx 文件来定义模型上的操作

例如,z 轴上的一半比例,下面的 process.mlx

<!DOCTYPE FilterScript>
<FilterScript>
 <filter name="Transform: Scale, Normalize">
  <Param value="1" type="RichFloat" description="X Axis" name="axisX" tooltip="Scaling"/>
  <Param value="1" type="RichFloat" description="Y Axis" name="axisY" tooltip="Scaling"/>
  <Param value="0.5" type="RichFloat" description="Z Axis" name="axisZ" tooltip="Scaling"/>
  <Param value="false" type="RichBool" description="Uniform Scaling" name="uniformFlag" tooltip="If selected an uniform scaling (the same for all the three axis) is applied (the X axis value is used)"/>
  <Param value="0" enum_val0="origin" enum_val1="barycenter" enum_val2="custom point" type="RichEnum" description="Center of scaling:" name="scaleCenter" enum_cardinality="3" tooltip="Choose a method"/>
  <Param type="RichPoint3f" x="0" y="0" description="Custom center" z="0" name="customCenter" tooltip="This scaling center is used only if the 'custom point' option is chosen."/>
  <Param value="false" type="RichBool" description="Scale to Unit bbox" name="unitFlag" tooltip="If selected, the object is scaled to a box whose sides are at most 1 unit lenght"/>
  <Param value="true" type="RichBool" description="Freeze Matrix" name="Freeze" tooltip="The transformation is explicitly applied, and the vertex coordinates are actually changed"/>
  <Param value="false" type="RichBool" description="Apply to all visible Layers" name="allLayers" tooltip="If selected the filter will be applied to all visible mesh layers"/>
 </filter>
</FilterScript>

如果您不熟悉 mashlab mlx 文件,您可以像这样使用 mashlab 生成它,

Filters > Normals, Curvatures and Orientation > Transform: Scale, Normalize

然后在窗口中设置比例,可以取消勾选Uniform Scaling复选框分别缩放每个轴

在此处输入图像描述

然后单击apply按钮。

最后,Filters > Show current filter script你可以在这里看到当前的脚本,选择Tansform: Scale, Normalize并点击Save Script作为process.mlx

在此处输入图像描述

于 2017-08-14T08:14:44.123 回答