1
Option Explicit

Sub pipe()

'INVENTOR PERIPHERALS

'Create a new part file
Dim partDoc As PartDocument
Set partDoc = ThisApplication.Documents.Add(kPartDocumentObject, _
                  ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject))

'Create a physical component within new part file
Dim partDef As PartComponentDefinition
Set partDef = partDoc.ComponentDefinition

'Define units of measurement



'PIPE 3D SPLINE PATHWAY

'input coordinate values BEFORE 3D sketch
Dim oCoor(1 To 8) As WorkPoint
Set oCoor(1) = partDef.WorkPoints.AddFixed(tg.CreatePoint(0, 0, 0))
Set oCoor(2) = partDef.WorkPoints.AddFixed(tg.CreatePoint(100, 0, 0))
Set oCoor(3) = partDef.WorkPoints.AddFixed(tg.CreatePoint(200, 50, 30))
Set oCoor(4) = partDef.WorkPoints.AddFixed(tg.CreatePoint(200, 700, 30))
Set oCoor(5) = partDef.WorkPoints.AddFixed(tg.CreatePoint(600, 700, 70))
Set oCoor(6) = partDef.WorkPoints.AddFixed(tg.CreatePoint(600, 700, 500))
Set oCoor(7) = partDef.WorkPoints.AddFixed(tg.CreatePoint(600, 900, 500))
Set oCoor(8) = partDef.WorkPoints.AddFixed(tg.CreatePoint(600, 1000, 600))

'Set up 3D sketch
Dim Sketch2 As Sketch3D
Set Sketch2 = partDef.Sketches3D.Add

'??????
'Set up Autobend as a variable
Dim UseAutoBend As Boolean

UseAutoBend = True
Dim oBend(1 To 8) As Double
oBend(1) = 500
oBend(2) = 500
oBend(3) = 60
oBend(4) = 50
oBend(5) = 50
oBend(7) = 30
oBend(8) = 50


'create line between coordinates
Dim PipePathSketch As SketchLine3D
Set PipePathSketch = Sketch2.SketchLines3D.AddByTwoPoints(oCoor(1), oCoor(2), UseAutoBend, oBend(1))
Set PipePathSketch = Sketch2.SketchLines3D.AddByTwoPoints(oCoor(2), oCoor(3), UseAutoBend, oBend(2))
Set PipePathSketch = Sketch2.SketchLines3D.AddByTwoPoints(oCoor(3), oCoor(4))
Set PipePathSketch = Sketch2.SketchLines3D.AddByTwoPoints(oCoor(4), oCoor(5))
Set PipePathSketch = Sketch2.SketchLines3D.AddByTwoPoints(oCoor(5), oCoor(6))
Set PipePathSketch = Sketch2.SketchLines3D.AddByTwoPoints(oCoor(6), oCoor(7))
Set PipePathSketch = Sketch2.SketchLines3D.AddByTwoPoints(oCoor(7), oCoor(8))

Trial bend
'Dim bend As String
'Set bend = partDoc.Sketch3DSettings.AutoBendRadius(50)

Autodesk Inventor 中的 VBA。我正在尝试通过扫描功能生成一个 3 维管道,路径为 3D 草图,其代码如上所示。此代码正确生成 3D 草图,但我想在“AddByTwoPoints”映射的每条直线之间添加弯曲/圆角。如您所见,我通过不同的技术(变量UseAutoBendbend)对此进行了多次尝试,所有这些都没有效果,所以我不知道从这里开始。

4

0 回答 0