在solidworks VBA循环中的一些挤压不起作用

时间:2016-09-19 07:04:59

标签: vba bitmap macros solidworks

我正在尝试使用VBA在solidworks API中运行一个挤出循环。每个挤出的高度由位图中像素的亮度决定 在大多数情况下,代码按预期工作,但大约四分之一的挤压件根本无法工作。草图是制作的,但挤压不是。 我对这背后的原因感到茫然,因为我看不到那些不能工作的模式。我在FeatureExtrusion2上运行了一个快速监视器,在没有工作的情况下,它返回了#34;没有什么"那些做过的,没有返回值。

任何帮助都将非常感激

这是完整的代码:

6=((2+3)-(4-5))
6=((2+3)-(4-5))
6=((2+3)+(5-4))
6=(((2+3)-4)+5)
6=(((2+3)+5)-4)
6=((2+3)+(5-4))
6=(((2+3)-4)+5)
6=(((2+3)+5)-4)
6=((2*3)*(5-4))
6=((2*3)/(5-4))
6=((5-4)*(2*3))
6=((2/3)*(4+5))

3 个答案:

答案 0 :(得分:0)

检查亮度值。

也许如果您尝试使用3DSketch而不是Sketch,则上面的代码将起作用。 选择标记为0。

答案 1 :(得分:0)

如果问题来自FeatureExtrusion2,则可以在SolidWorks 2014及更高版本上尝试FeatureExtrusion3

也不需要Part.Extension.SelectByID2(Sketch,“ SKETCH”,...,因为您将FeatureExtrude应用于最后创建的草图。如果失败,FeatureExtrude将无法工作。

或者至少通过读取'boolstatus'值来确保在发送FeatureExtrude之前已选择草图。

答案 2 :(得分:0)

在您的示例中,亮度的值对于有效挤出来说是大还是小。 对于FeatureExtrusion2(),深度值以米为单位。

在我的测试中,最小的挤压可能是0.0000001米(0.1微米)。因此,您必须调整亮度计算以获取可用于SolidWorks的有效值。