Добавление новой точки на кривой в CATIA V5 VBA - PullRequest
0 голосов
/ 06 февраля 2020

Я пишу VBA код для Catia V5 для определения конечной точки на опорной линии

1002 * Секция кода выглядит следующим образом:.
Dim oReference1 As Reference
Dim oHybridShapeFactory As HybridShapeTypeLib.HybridShapeFactory
Dim intPoint As HybridShapePointOnCurve
Dim oCount As Double
oCount = 10

LenVal = GetLengthValue(oPart, MessRef) 'LenVal stems from a function and is equal to 654.5 (for instance) of Type Double

Dim NoOfSections As Integer
NoOfSections = LenVal / oCount

Dim i As Double

For i = 0 To NoOfSections
     Set intPoint = oHybridShapeFactory.AddNewPointOnCurveFromDistance(oReference1, (i * (LenVal / NoOfSections)), False)
     ...

Существует сообщение об ошибке на Set intPoint... строка с указанием:

ошибка времени выполнения 91: переменная объекта или переменная без блока не определена

Я копался в справочной документации. Кажется, все определено как требуется - функция AddNewPointOnCurveFromDistance принимает ссылку, двойное число и логическое значение как HybridShapePointOnCurve .

1 Ответ

1 голос
/ 06 февраля 2020

Вы определяете объекты, но не устанавливаете значения объектов.

Итак, перед вами go в l oop ...

'Set the HSF
Set oHybridShapeFactory = oPart.HybridShapeFactory
'Get the curve
Dim oCurve as HybridShape
Set oCurve = oPart.FindObjectByName("MyInputCurve") ' this is not the only way to get a curve object
Set oReference1 = oPart.CreateReferenceFromObject(oCurve)
...