Как добавить интеллектуальное измерение между двумя точками в виде чертежа Solidworks? - PullRequest
0 голосов
/ 09 января 2020

Мне нужно добавить размер между двумя точками в конкретном виде чертежа Solidworks. Обратите внимание, что это измерение не определено в эскизе и, следовательно, не может быть помечено для автоматического создания c.

Я начал с выбора объектов:

boolstatus = Part.Extension.SelectByID2("Base-Revolve@CL_035_S_0800-8@Vista del disegno23/CL_035_XA_19807-1@CL_035_S_0800/CL_035_PER_19809-2@CL_035_XA_19807", "BODYFEATURE", 0, 0, 0, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Base-Revolve@CL_035_S_0800-8@Vista del disegno23/CL_035_KA_19802-1@CL_035_S_0800/CL_035_PER_19809-2@CL_035_KA_19802", "BODYFEATURE", 0, 0, 0, True, 0, Nothing, 0)

И затем вызвал метод AddHor horizontalDimension2 :

Set myDisplayDim = Part.AddHorizontalDimension2(0.19524099627486, 0.520392690748863, 0)

Но при таком подходе не удается создать измерение.

После записи макроса для выполнения вышеуказанного я получаю следующий код:

boolstatus = Part.Extension.SelectByRay(-0.31482609401488, 0.476383097675458, -499.984, 0, 0, -1, 3.43071314383522E-03, 1, False, 0, 0)
boolstatus = Part.Extension.SelectByRay(0.679071684419736, 0.475374064397859, -499.984, 0, 0, -1, 3.43071314383522E-03, 1, True, 0, 0)
Set myDisplayDim = Part.AddHorizontalDimension2(0.19524099627486, 0.520392690748863, 0)

This , конечно, работает. Но я не могу использовать SelectByRay, потому что точки измерения будут отличаться для каждого чертежа.

Так что, насколько я понимаю, мне нужно получить центральные точки выбранных объектов, а затем использовать точки в SelectByRay для достижения sh что делает записанный макрос.

Есть ли лучший способ сделать это? Если нет, как я могу получить центральную точку выбранной функции?

...