Threejs线框STL显示带有虚线隐藏线

时间:2016-04-07 22:56:11

标签: 3d three.js solidworks

我有一些最初在SolidWorks中绘制的基本模型,然后保存为STL文件。我正在尝试为学生们提供一些测试问题,这些测试涉及从不同角度显示的非常基本的形状,看看他们是否可以像这样猜测物体的形状。 enter image description here 然后在他们猜测之后,我会在3D中显示对象的真实形状。以下是我目前正在处理的模型示例: STL Triangulation Problems 工作JSFiddle https://jsfiddle.net/ajhalls/5gLeb5vk/

正如你所看到的,还有很多"额外的"线框中的线条来自不应该存在的曲面的三角剖分,这在实体视图中确实不是问题,但是我需要生成上面看到的各个线框类型视图,隐藏的线条像虚线一样最底层的例子。

我尝试使用Dissolve Lines在Blender中清理模型,在Sketchup中我尝试使用Clean3插件,但是只要我拿走它以消除多余的线条,就会扭曲形状。

在另一个我玩过Three.js的项目中,我想也许我可以做到这一点,我看到了一些有趣的帖子,例如: three.js wireframe only shape with hidden edges as dashed lines

他似乎试图做同样的事情,但是我没有看到他使用STL,实际上我不确定他的回答"意思是,因为我不确定他想要添加什么对象,也不知道它来自同一个源,但是应用了不同的过滤器,或者他是否正在移除面并将点留在一个中,然后在另一个文件中相反然后将它们分别包括在同一位置。

在这个例子中:http://jsfiddle.net/car3v/4/他已经完成了一些很酷的工作,但是使用了一系列点而不是使用STL,我不确定它是否真的适用,除非我可以将STL转换为点,除了他有正确的最终结果类型。

我不确定下一步该尝试什么。关于我唯一能想到的是将Sketchup中的视图导出到JPG,将其导入Adobe Illustrator,手动跟踪并删除原始视图,但似乎应该有更好的方法导出隐藏的ortho视图线条虚线,或清理STL以删除所有额外的数据点。

code to satisfy the requirement since I have a jsfiddle link

1 个答案:

答案 0 :(得分:0)

你检查过THREE.EdgesHelper。var wire = new THREE.EdgesHelper(mesh,0xff00ff);scene.add(wire); // mesh定义你的STL网格物体在将STL网格物体添加到场景后检查这段代码