Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: R.I.Chernov от 30-08-2016, 16:31:39

Название: Как заменить рамку на чертеже?
Отправлено: R.I.Chernov от 30-08-2016, 16:31:39
Доброго времени суток, уважаемые форумчане! Помогите пожалуйста с вопросом, указанным в теме. Меняю формат листа чертежа, теперь требуется поменять рамку. Пересмотрел кучу примеров кода, но все не могу понять "логики" процесса. Буду рад любому совету. На текущий момент я умею удалять рамку и получать BorderDefinition требуемой рамки, но не могу найти метод вставки рамки на лист.
Мой код:
Код - Visual Basic [Выбрать]
  1. Private Sub test_dwg_3()
  2.     Dim oDoc As DrawingDocument
  3.     Set oDoc = ThisApplication.ActiveDocument
  4.     Dim oSheet As Sheet
  5.     Set oSheet = oDoc.ActiveSheet
  6.  
  7.     If Not oSheet.Border Is Nothing Then
  8.     oSheet.Border.Delete
  9.     End If
  10.  
  11.     Dim oBorderDef As BorderDefinition
  12.     Set oBorderDef = oDoc.BorderDefinitions.Item("ГОСТ - A4")
  13. End Sub
Название: Re: Как заменить рамку на чертеже?
Отправлено: mikazakov от 30-08-2016, 16:47:29
но не могу найти метод вставки рамки на лист.

Sheet.AddBorder
Название: Re: Как заменить рамку на чертеже?
Отправлено: R.I.Chernov от 30-08-2016, 16:48:40
но не могу найти метод вставки рамки на лист.

Sheet.AddBorder

Пробовал уже, не работает. Тоже думал, что это то что нужно, но увы... решил, что это метод добавления новой рамки в список.
П.С. Или вы точно уверены, что это нужный метод?
Название: Re: Как заменить рамку на чертеже?
Отправлено: R.I.Chernov от 30-08-2016, 16:52:07
Так, беру слова назад! У меня мозг кипит походу! Нужно было добавить "Call". Спасибо, Михаил!
Итоговый код:
Код - Visual Basic [Выбрать]
  1. Private Sub test_dwg_3()
  2.     Dim oDoc As DrawingDocument
  3.     Set oDoc = ThisApplication.ActiveDocument
  4.     Dim oSheet As Sheet
  5.     Set oSheet = oDoc.ActiveSheet
  6.  
  7.     If Not oSheet.Border Is Nothing Then
  8.     oSheet.Border.Delete
  9.     End If
  10.  
  11.     Dim oBorderDef As BorderDefinition
  12.     Set oBorderDef = oDoc.BorderDefinitions.Item("ГОСТ - A4")
  13.     Call oSheet.AddBorder(oBorderDef)
  14. End Sub
Название: Re: Как заменить рамку на чертеже?
Отправлено: mikazakov от 30-08-2016, 17:07:15
Нужно было добавить "Call"
на C# же Call не нужен  ;)
Название: Re: Как заменить рамку на чертеже?
Отправлено: R.I.Chernov от 30-08-2016, 17:19:28
на C# же Call не нужен  ;)
Потому, наверное, и забыл! :D
Разбираться предпочитаю в VBA, потом уже в C# переносить. :)