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

ADN Club => Inventor API => Тема начата: rokataev от 15-03-2017, 13:39:56

Название: Справочный номер на чертеже
Отправлено: rokataev от 15-03-2017, 13:39:56
Добры день,
На чертеже пользуемся основной надписью и рамкой модуля ESKD

Через API формируем справочный номер
ThisApplication.ActiveDocument.PropertySets.Item("Свойства ГОСТ").Item("Справочный номер").Value = "НОМЕР"
Справочный номер записывается, но на чертеже не отображается.
При обращении к меню Основной надписи измененный справочный номер виден. При сохранении появляется и на чертеже

Как средствами API обновить справочный номер на чертеже?
Название: Re: Справочный номер на чертеже
Отправлено: mikazakov от 15-03-2017, 20:42:39
На чертеже пользуемся основной надписью и рамкой модуля ESKD
Да фиг его знает, что там внутри модуля ESKD и как он обновляет.
Нужно посмотреть, что там за текстовое поле в скетч-символе. Если там промтовое поле, то просто заменить его на редактируемое свойство.
Название: Re: Справочный номер на чертеже
Отправлено: rokataev от 16-03-2017, 08:02:29
Прошу прощения, что такое "промтовое поле"?

Свойство как раз нужное (Свойства ГОСТ.Справочный номер ), посмотрели изначально.
Нужная нам часть рамки выводиться через эскизные обозначения "ГОСТ - Доп.графы 2"
Менять его на другое не хотелось бы, потому как процедуру хотелось бы делать в любых уже сделанных чертежах.

Само свойство обновляется. При входе в диалог редактирования Основной надписи оно отображается корректно. При нажатии "Ок" появляется и на чертеже
Такое ощущение, что нужно как то подтолкнуть обновление нужного эскизного обозначения. Только не знаю как это сделать.
Название: Re: Справочный номер на чертеже
Отправлено: mikazakov от 16-03-2017, 09:24:21
что такое "промтовое поле"?
У меня это Prompted Entry:
(https://s29.postimg.org/8mwm7grur/image.png) (https://postimg.org/image/8mwm7grur/)
как это будет по русски я не знаю.
По поводу ЕСКДэшных шаблонов, у меня их даже нет, слишком уж там вычурный подход был реализован.
Если в ЕСКДэшных шаблонах Справочный номер это обычное свойство в текстовом поле, то попробуйте использовать функцию:
DrawingDocument.ActiveSheet.Update()

P.S. есть еще DrawingDocument.Update()
Название: Re: Справочный номер на чертеже
Отправлено: rokataev от 16-03-2017, 09:52:40
Точно не промтовое поле

(https://s16.postimg.org/c6f5jdvlt/001.jpg) (https://postimg.org/image/c6f5jdvlt/)

Ни один из вариантов
DrawingDocument.ActiveSheet.Update()
DrawingDocument.Update()
не помогает
Название: Re: Справочный номер на чертеже
Отправлено: mikazakov от 16-03-2017, 09:59:40
Выкладывайте чертеж и причесаный пример кода и последовательность действий.
Тогда посмотрю что там не так
Название: Re: Справочный номер на чертеже
Отправлено: rokataev от 16-03-2017, 10:09:49
В файле примера есть лишь установленное свойство "Обозначение"
и единственная процедура в VBA
которая проверяет наличие свойства и условие и записывает справочный номер
Название: Re: Справочный номер на чертеже
Отправлено: mikazakov от 17-03-2017, 07:52:06
В файле примера
файл в формате 2017, такой у меня тока дома стоит, вечером седня взгляну если успею