Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Вопрос по API
 
Подскажите, пжалста, можно ли с помощью макроса программно вставить в сборку 3D-фрагмент из DOCs (важно!)? Почитал хэлп по API, нашел только методы, которые вставляют фрагменты по пути к файлу, т.е. фрагменты с диска.
Страницы: Пред. 1 2 3 4 5 6 7 След.
Ответы
 
Сделал свой, немного специфичный, поисковик фрагментов с экранной формой. На моем ПК (CoreDuo, он же пока выступает в роли хранилища файлов) работает быстро - 2 секунды и все варианты на экране. Но на других ПК (Pentium III) по сетке (100Mbit) эти 2 секунды растягиваются в 70 секунд. Причем, пока идет поиск экранная форма как бы подвисает, ничего нажать нельзя, ничего выделить. Именно это меня больше всего огорчает. Может, кто знает, как сделать так, чтобы во время поиска кнопки и текстовые строки оставались активными? Заранее благодарен.

P.S. В TotalCommander это же сумели реализовать.
Кто ищет - тот всегда найдет!
 
Цитата
Brom25 пишет:

Может, кто знает, как сделать так, чтобы во время поиска кнопки и текстовые строки оставались активными?

Думаю, разелением на потоки. Как это делать пока сам не разобрался. Опять же в книге есть примечание, что время работы основного потока, при подключении дополнительных, увеличиться, что естественно.
Здесь http://www.progs.biz/csharp/win/lessons/006.aspx есть пример, но у меня при выполнении выдает ошибку.[CODE]
 
Я предполагал то же. Пример в ссылке это подтверждает. Спасибо, Сергей, буду разбираться. Кстати, интересный сайт.
Изменено: Brom25 - 05.07.2008 14:34:29
Кто ищет - тот всегда найдет!
 
При работе с API, а именно при редактировании, код заключается в блок
Document.BeginChange("Что-то делаем") и Document.EndChange().
А как потом программно отменить, выполненное в блоке действие?
 
document.CancelChanges();

Вот только не знаю как насчет "потом"... Полагаю эта инструкция должна быть внутри блока отмены действий.
Кто ищет - тот всегда найдет!
 
Хорошо. А как, например, удалить вставленный когда-то фрагмент?
 
Справка API>Документ T-Flex CAD>Удаление объектов.

Только при удалении глюк есть - после удаления вручную нельзя отменить удаление. Разработчики в курсе. Они сообщили, что удаление нужно производить вне блока отмены действий.
Кто ищет - тот всегда найдет!
 
У меня тоже есть пара вопросов:
1. Что нужно указать в экранном элементе FilePreview в строке пути к файлу (filePreview1.FilePath) чтобы "обнулить" ссылку на файл? По умолчанию, filePreview1.FilePath.Length = 0, но это значение (filePreview1.FilePath) не равно "" и не равно null.
2. Можно ли в экранном элементе ListBox сделать так, чтобы строки-значения были разного (заданного) цвета? И как это сделать, если это возможно?
Изменено: Brom25 - 16.07.2008 19:05:33
Кто ищет - тот всегда найдет!
 
Есть документ А с Внутренним фрагментом Б. Вопрос: как определить полный путь к файлу документа А из ОТКРЫТОГО документа Б?
Кто ищет - тот всегда найдет!
 
PathFile, думаю.
Изменено: Сергей Максимов - 17.07.2008 21:01:04
 
Да, действительно FilePath :-k , спасибо.


P.S. "а ларчик просто открывался..."
Кто ищет - тот всегда найдет!
 
Цитата
Brom25 пишет:

1. Что нужно указать в экранном элементе FilePreview в строке пути к файлу (filePreview1.FilePath) чтобы "обнулить" ссылку на файл? По умолчанию, filePreview1.FilePath.Length = 0, но это значение (filePreview1.FilePath) не равно "" и не равно null.

В проекте C:\Program Files\T-FLEX\T-FLEX CAD 10\API\Samples\TFlexControlTest.sln встретил конструкцию
Код
this.tfcontrol.Invalidate(true);

которая по-видимому очищает окно control. Попробовал применить ее к FilePreview
Код
filePreview1.Invalidate(true);

скомпилировалось без проблем, а очищать окно FilePreview - не хочет. Не пойму, что не так?

Для экранного элемента ListBox не могу найти обработчик событий, связанный с изменением количества значений в коллекции listBox1.Items. Очень нужно. Может кто знает?
Изменено: Brom25 - 23.07.2008 00:46:53
Кто ищет - тот всегда найдет!
 
Цитата
Brom25 пишет:

которая по-видимому очищает окно control. Попробовал применить ее к FilePreview
Не совсем понимаю, что за FilePreview?
Цитата
Brom25 пишет:

Для экранного элемента ListBox не могу найти обработчик событий, связанный с изменением количества значений в коллекции listBox1.Items. Очень нужно. Может кто знает?
Попробуйте посмотреть свойство CollectionChanged.
 
Цитата
Александр Сысоев пишет:

Не совсем понимаю, что за FilePreview?

Это экранный элемент, похож немного на Control. Странно, что в справке API его нет... Его можно увидеть, например, в редакторе макросов в панели "инструменты" ("Tools"). Этот элемент встроен в окно Файл>Открыть.


Цитата
Александр Сысоев пишет:

Попробуйте посмотреть свойство CollectionChanged.

К сожалению, в списке доступных свойств и обработчиков событий для ListBox CollectionChanged нет. Может я не там ищу?
Кто ищет - тот всегда найдет!
 
Задача: определить в тексте типа ParagraphText начало абзацев. Для этого последовательно перемещаю курсор в тексте и для каждого положения курсора выполняю метод GetCursorInfo(). В классе CursorInfo есть перечислитель ObjectType, который и призван давать требуемую информацию. Проблема в том, что я не знаю как правильно обратиться к этому перечислителю.
Кто ищет - тот всегда найдет!
 
Здравствуйте, Brom25.
К сожалению пока что обратится к перечислителю RichText.ObjectType невозможно, это ошибка в API. Исправление появится в следующей сборке.
Изменено: Александр Сысоев - 16.12.2008 16:42:45
 
Александр, большое спасибо за информацию!

P.S. ...и с перечислителями работал не раз, а тут вот не получается и все тут. Теперь хотя бы мучить себя не буду :) .
Кто ищет - тот всегда найдет!
 
Здравствуйте!. Очень заинтересовало это API, но у меня к Вам есть несколько вопросов.
Вопросы:
1) Могу ли я испльзовать в коммерческих целях данное API?
2) Может ли это API использоваться независимо от самого флекса(без покупки лицензии на его)?
Заранее благодарю.
 
Цитата
Александр Борисенко пишет:

2) Может ли это API использоваться независимо от самого флекса(без покупки лицензии на его)?Заранее благодарю.

Без T-Flex навряд ли Вы сумеете воспользоваться T-Flex Open API. Другое дело - Вы можете пользоваться учебной версией T-Flex и в ней легально создавать свои макросы (программы), вот только внешние приложения с помощью учебного T-Flex создавать не получиться. А вообще, .NET технология позволяет пользоваться не только функциональностью самого T-Flex, но и функциональностью всей операционной системы. Например создавать файлы, папки, считывать из них данные и т.д.
Изменено: Brom25 - 25.01.2009 00:17:08
Кто ищет - тот всегда найдет!
 
Интересно, зачем было писать Open API? Если воспользоваться им бесплатно все равно не получиться. В паре с самим флексом он мне не нужен. Предполагается написание внешней программы, но с использованием этого самого API. В любом случае спасибо за информацию.
Страницы: Пред. 1 2 3 4 5 6 7 След.