FG123 发表于 2018-5-19 20:32:24

【求助】如何用程序实现分段扫描?【求助】

请问如何才能通过程序实现分段扫描?以下是我录制的宏程序,该如何进行修改才能达到预期目标?

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("草图4", "SKETCH", 0, 0, 0, True, 0, Nothing, 0)    '这行是截面
boolstatus = Part.Extension.SelectByID2("未知", "SELOBJGROUP", 0, 0, 0, True, 0, Nothing, 0)'这行是路径,我在录制的时候 手动用“选择组”选上线段,录制起来的程序 名字却显示“未知”,即使修改了名字,程序运行的时候也抓取不到
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("草图4", "SKETCH", 0, 0, 0, False, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("未知", "SELOBJGROUP", 0, 0, 0, True, 4, Nothing, 0)
Dim myFeature As Object
Set myFeature = Part.FeatureManager.InsertProtrusionSwept3(False, False, 0, False, False, 0, 0, False, 0, 0, 0, 0, True, True, True, 0, True, True, True, False)
End Sub





FG123 发表于 2018-5-20 18:18:17

主要问题是抓取不到需要分段扫的那段线段

FG123 发表于 2018-5-21 14:50:29

有大神能指点一二的吗

super 发表于 2018-5-24 22:13:56

最好将你的实际问题或需求说一下。

FG123 发表于 2018-5-26 17:53:06

super 发表于 2018-5-24 22:13
最好将你的实际问题或需求说一下。

你好!实际情况是这样的:给了一条3D曲线,且该曲线根据要求已经分割成若干段(分割完后还是连接在一起的),偶数段需要扫描出外壳,而奇数段则不扫描(奇数段后期用来扫其它特征),我试过两种方法,方法一是分段扫,即每次扫描的时候只扫描出需要的那一段曲线,而不需要扫描的那部分(奇数段)不扫描;方法二是每次扫描的时候轨迹直接选取整条曲线,然后再在奇数段创建新基准,画草图后切除多余的,这样就获得了一个“扫描段”,依次类推下去,最终得到想要的特征。
但是这两者都遇到了问题,方法一的问题在于抓取不到 分段扫描的轨迹;方法二的问题在于,沿曲线创建的基准面的坐标轴方向发生了变化,而扫描的截面坐标是提前给定不变的,这就导致了最终不同段出来的特征位置发生了变化。
一下是用方法二扫出的直线跟曲线(直线是能正常扫,曲线则不能),还有一张是新基准的坐标轴如果能如图所示也能解决问题


页: [1]
查看完整版本: 【求助】如何用程序实现分段扫描?【求助】