我正在尝试使用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))
答案 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的有效值。