Перейти к публикации

Работа с пользовательскими полями. TSFP


sova2004

Рекомендованные сообщения

Решил потыкать))) прям первое же желаемое действие.

 

@sova2004 Таблица - Изменения в файлах - Замена имени файла. (Сборка находится в папке "Мои документы")

При переборе папок исключайте недоступные, системные и скрытые. Делается либо через проверку уровня доступа, либо тупо попыткой создать пустой файл в папке :smile: - и типа если Exeption, то пропускаете папку из обработки.

Скрытый текст

************** Текст исключения **************
System.UnauthorizedAccessException: Отказано в доступе по пути "C:\Users\11111111\Documents\Мои видеозаписи".
   в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   в System.IO.FileSystemEnumerableIterator`1.AddSearchableDirsToStack(SearchData localSearchData)
   в System.IO.FileSystemEnumerableIterator`1.MoveNext()
   в System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   в System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
   в tsfp.Form1.заменаИмениФайловToolStripMenuItem1_Click(Object sender, EventArgs e)

 

2) при открытии файлов не показывайте окно загрузки SW. Это сильно тормозит общую загрузку. Но не забывайте: если валится программа (или происходит выход из программы), то очищать память от солида, иначе так и будет висеть.

 

3) При попытке замены имени файла я отказался от создания копии, но программа мне всё равно предложила выбрать папку.

 

Изменено пользователем streamdown
Ссылка на сообщение
Поделиться на других сайтах


вот еще непонятка. Солид установлен в папку по умолчанию

59ed8d7e9363f_.JPG.e2f45880b211c653f592d8802a38d965.JPG

 

я не понял можно ли удалить колонки свойств в проге? Не очевидно что нужно сделать по окончании заполнения св-в. 

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, DuS сказал:

сделай так чтоб внутри архива папка с прогой была

Ок.

3 часа назад, DuS сказал:

И еще с архивом что то не то:

Просмотрю, разберусь, поправлю.

3 часа назад, streamdown сказал:

исключайте недоступные, системные и скрытые

Знаю о таком. Остались старые куски кода. Подправлю.

3 часа назад, streamdown сказал:

при открытии файлов не показывайте окно загрузки SW. Это сильно тормозит общую загрузку.

Вы имеете ввиду видимость? (SldWorks swApp; swApp.Visible = false;)

3 часа назад, streamdown сказал:

При попытке замены имени файла я отказался от создания копии, но программа мне всё равно предложила выбрать папку.

Все верно. Копии создаются в том же месте где и основные файлы, рядышком. Выбор папки это дополнительное место поиска файлов для замены ссылок. По умолчанию программа берет за основание папку основной сборки или корневую папку выбранных файлов. Но может быть такое, что на изменяемые файлы ссылаются другие файлы находящиеся вне корневой папки. 

3 часа назад, DuS сказал:

вот еще непонятка. Солид установлен в папку по умолчанию

Доделаю. В программе нету пути к установленному солиду, поэтому просит выбрать. Сделаю так, что бы при запуске программа проверяла установленные версии солида, и если есть только одна версия то она и будет использоваться по умолчанию.

3 часа назад, DuS сказал:

удалить колонки свойств

Удалить колонки нельзя. Их количества и назначения стабильны. Их можно переименовать.

С помощью программы можно удалять свойства в моделях.

3 часа назад, DuS сказал:

Не очевидно что нужно сделать по окончании заполнения св-в

Выделить нужные строки и нажать ctrl+s (или пункт меню Таблица - Изменения в файлах - Замена свойств файлов). Так данные из таблицы запишутся в модели. Строка считается выделенной если выделена хотя бы одна ячейка строки. 

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, sova2004 сказал:

Вы имеете ввиду видимость?

ага. При полной загрузке SW подгружается весь хлам, все аддоны и т.п. При скрытой загрузке только процесс.

3 минуты назад, sova2004 сказал:

Но может быть такое

а, ну это неочевидная штука. Может в справке и есть описание. Ясно.

Ссылка на сообщение
Поделиться на других сайтах
Только что, streamdown сказал:

ага. При полной загрузке SW подгружается весь хлам, все аддоны и т.п. При скрытой загрузке только процесс.

С этим у меня возникало много проблем.

Я создавал объект солида, выключал видимость, работал с солидом. Потом закрывал солид. При закрытии программой, можно просто покилить все процессы и как бы все ок (swApp.Close() не всегда работает). Но если работать с TSFP, не закрыть его, потом открыть солидом файлы а потом закрыть TSFP, можно закрыть не сохраненные файлы пользователя. Можно конечно после каждой операции килить процесс солида, но тогда теряется преимущество в скорости, поскольку происходит многократная загрузка/выгрузка солида.

Если не закрывать солид, а позволить закрыть его пользователю. Используя упрощенную загрузку (без граф. оболочки), поработать, графическую оболочку в конце концов все же нужно показать. Ведь пользователь может запустить еще одну версию солида (TSFP он еще не закрыл а солид без граф. оболочки висит, а пользователь уже хочет видеть результат работы). То основной процесс солида и графики не до конца связывается (не знаю в чем проблема), при закрытии графического окна в ручную, основной процесс продолжает висеть. Файлы перестают открываться путем двойного нажатия мышкой (или кливили enter). Процессы солида накапливаются. Килить все подряд тоже не вариант, поскольку есть вероятность закрыть не сохраненные данные пользователя.

В текущей версии делается загрузка солида так, как бы это делал пользователь. При такой работе, если пользователь закроет солид, закрываются корректно все процессы. Так же решаются проблемы с файлами с ошибками (здесь то же есть свои проблемы с показом граф. оболочки), если солид решил все же показать сообщение (не смотря на использование OpenDocSilen3()), а доступу к swApp нету, так как солид занят показом невидимого сообщения пользователю.

 

Ссылка на сообщение
Поделиться на других сайтах
50 минут назад, sova2004 сказал:

Удалить колонки нельзя. Их количества и назначения стабильны. Их можно переименовать.

С помощью программы можно удалять свойства в моделях.

Жаль, и ничего нельзя сделать? Может все таки получится сделать отключение колонок как в проводнике (в режиме отображения таблица)? Очень бы хотелось.

51 минуту назад, sova2004 сказал:

Выделить нужные строки и нажать ctrl+s (или пункт меню Таблица - Изменения в файлах - Замена свойств файлов). Так данные из таблицы запишутся в модели. Строка считается выделенной если выделена хотя бы одна ячейка строки. 

Лучше сделать в меню файл - сохранить. ктрл +s это крайне не очевидно. Сейчас такое время когда все привыкли к дружественному интерфейсу ))

 

Хочу добавить что прога несмотря на сыроватость уже работает! Автору респект! 

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, DuS сказал:

Жаль, и ничего нельзя сделать? Может все таки получится сделать отключение колонок как в проводнике (в режиме отображения таблица)? Очень бы хотелось.

В принципе реализуемо. Возьму на реализацию в будущем.

8 минут назад, DuS сказал:

меню файл - сохранить

Сделаю.

8 минут назад, DuS сказал:

Хочу добавить что прога несмотря на сыроватость уже работает! Автору респект! 

Спасибо.

Ссылка на сообщение
Поделиться на других сайтах

@sova2004 собсна, если все действия выполняются при открытом солиде, то зачем вообще standalone? Делайте простой аддон и пихайте туда всё что душе угодно. Запускайте оттуда окна поверх солида.

У вас же, насколько я понял, не используется DocumentManager?

11 час назад, sova2004 сказал:

но все равно была возможность открытия сообщения SolidWorks

Это убирается параметром при открытии

39 минут назад, sova2004 сказал:

OpenDocSilen3

Зачем, ну вот зачем использовать то, что устарело 16 лет назад? ))) у кого-то может быть SW версии младше 2001? Используйте вменяемые методы OpenDoc6

Ссылка на сообщение
Поделиться на других сайтах
34 минуты назад, streamdown сказал:

собсна, если все действия выполняются при открытом солиде, то зачем вообще standalone? Делайте простой аддон и пихайте туда всё что душе угодно. Запускайте оттуда окна поверх солида.

У вас же, насколько я понял, не используется DocumentManager?

Мне так проще (отдельная история). Переделывать не вижу смысла, мало ли я какой функционал еще добавлю. К примеру раскрой материалов. Всегда запускать солид что бы посчитать раскрой - будет не очень. DocumentManager не используется. 

1 час назад, streamdown сказал:

Используйте вменяемые методы OpenDoc6

Ок. Исправлюсь.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Есть новая версия. Вот основные изменения/дополнения.

1 - скрытие/отображение колонок
2 - добавлены колонки "объем" и "площадь поверхности"
3 - сохраняется ширина колонок главной таблицы
4 - загрузка миниатюр как в проводнике
5 - доработан выбор версии SolidWorks
6 - перенесены пункты меню: "сохранить имя файла", "сохранить свойства файла" в пукнт меню "Файл"
7 - сохранение настроек

http://www.tsfp.space/index.php/ru/zagruzka.html

 

Ниже с пояснениями:

1 - Колонки можно скрыть или отобразить. Доступно в настройках. Способ записи данных не изменен. Все поля будут записываться/создаваться в моделях.

2 - Заполняются ссылками (как материал и вес).

3 - Ширина колонок сохраняется автоматически. Если изменить имя свойства (колонки), то ширина для этой колонки будет установлена по умолчанию.

4 - Доступно после загрузки файлов моделей. Достаточно включить окно предпросмотра. По умолчанию включено.
5 - При запуске программа ищет установленные версии SolidWorks. Процесс может занимать несколько секунд. Что бы ускорить это, нужно зайти в настройки, выбрать версию SoldWorks и отметить галочку "Запомнить мой выбор".
7 - В окне настроек добавлены кнопки сохранения/загрузки настроек. Так же добавлена кнопка "по умолчанию" - сброс настроек.

Если изменить язык или названия колонок, то нужно перезагрузить программу, что бы изменения вступили в силу. Соответственно, добавлена перезагрузка программы. Для перезагрузки программы создастся файл "restart_tsfp.exe" в папке программы.

Другие изменения:

- программа в архиве в папке;

- архив zip, так как rar архиватор моего тотала оказался крякнутым, поэтому и были предупреждения об электронной подписи;

- исправлен поиск файлов - ошибка при поиске файлов в заблокированных папках;

- OpenDocSilent заменен на OpenDoc6;

- добавил возможность менять шаблон стандарта для моделей: Дополнительно - Настройки файлов - Заменить стандарт. Стандарт меняется но раздел с размерностями нет (Свойство документа - Единицы измерения).

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...
В 05.11.2017 в 13:41, sova2004 сказал:

Есть новая версия. Вот основные изменения/дополнения.

Ну вот и я добрался до программы.

Что не понравилось: я отредактировал таблицу и ожидал что только те ячейки и попадут в св-ва файла которые я вижу в таблице, но это не так.

 

Нашел в "дополнительно" -"св-ва файлов" там я нажал удалить лишние и пустые вычисления, закрыл, сохранил, но в сборке эти лишние св-ва так и остались. Не понятно(

5a2a2f3ccb511_.thumb.JPG.61e61d61ee76b88e2f88e6d94154de52.JPG

 

следующее: я может что то не так нажал, но почему то после определенного момента сборка открылась без входящих деталей.

 

Хорошо бы для ячеек типа разработал сделать возможность выпадающего списка с забитыми ранее фамилиями. 

 

Еще не понравилось что окно солида постоянно меняет свой размер.

Пока это все

 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, DuS сказал:

только те ячейки и попадут в св-ва файла которые я вижу в таблице

При сохранении действительно заполняются только те свойства что есть в таблице. Это сделано специально.

 

1 час назад, DuS сказал:

нажал удалить лишние и пустые вычисления

В принципе должны были удалится записи с пустыми значениями. Возможно есть пробел в формуле или в значении, возможно глюк программы, проверю. Здесь нужно чуть по другому сделать. Загружаете сборку, потом "Удалить лишние параметры". Или "Удалить все параметры" потом в главном окне все сохраняете (все данные из главной таблицы программы, они будут при загрузке сборки).

 

1 час назад, DuS сказал:

сборка открылась без входящих деталей

Солид был открыт. В солиде была открыта сборка. Вы выбрали "Загрузить активную модель". Эта функция загружает данные только из одного открытого файла, детали или сборки.

 

1 час назад, DuS сказал:

для ячеек типа разработал сделать возможность выпадающего списка с забитыми ранее фамилиями

Таблица - Заполнить таблицу - Автор, Проверил, Утвердил. Появится форма с полями. Введите туда необходимое. Эти поля сохраняются. Для автора есть выпадающий список с последними введенными значениями. Для проверил и утвердил нету, если надо то добавлю.

1 час назад, DuS сказал:

окно солида постоянно меняет свой размер

В следующей версии добавлю возможность настройки этого процесса.

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, sova2004 сказал:

Это сделано специально.

не очень ясна логика

5 минут назад, sova2004 сказал:

В солиде была открыта сборка. Вы выбрали "Загрузить активную модель". Эта функция загружает данные только из одного открытого

ясно, сам не догадался)

5 минут назад, sova2004 сказал:

В следующей версии добавлю возможность настройки этого процесса.

лучше окно совсем не менять (это мое мнение)

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, DuS сказал:

не очень ясна логика

В файлах могут быть важные данные, что бы по случайности не удалить их. Есть определенный набор свойств с которыми работает программа, думаю это логично если программа только с ними и работает. Что бы работать с другими свойствами, предусмотрены отдельные команды. Когда пользователь нажимает "Удалить все параметры" то это делается осознано, то есть пользователь понимает что произойдет. Если бы программа удаляла все без спросу, думаю это было бы хуже. Допустим есть сборка, в сборке и в деталях прописаны все необходимые свойства но имена свойств отличаются от тех с которыми работает программа. Потом сборка загружается в программу, нажимаем сохранить и все данные удаляются.

 

10 минут назад, DuS сказал:

лучше окно совсем не менять

Думаю будет так, галочка - не менять фрейм, и поля для ввода размера фрейма если галочка убрана.

Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, sova2004 сказал:

В принципе должны были удалится записи с пустыми значениями. Возможно есть пробел в формуле или в значении

Специфика программы, через Файл-Свойства... нельзя изменить значение свойства на пустое, обязательно должен быть символ и поэтому с высокой долей вероятности многие свойства имеют пробел.

Пустое значение можно сделать только средствами API и возможно инструментариями основной надписи (Блок заголовков) или редактора свойств в панели задач (TabBuilder), хотя там тоже вроде нельзя пустые поля оставлять, в ручную нельзя.

 

Я бы нещадно не удалял свойства без значения (возможно у вас это и по запросу, не разбирался с вашей программой), т.к. иногда надо быстро поменять свойство без загрузки всякого рода макросов или их отсутствия на машине, где надо изменить свойство.

Ссылка на сообщение
Поделиться на других сайтах
21 минуту назад, sova2004 сказал:

В файлах могут быть важные данные, что бы по случайности не удалить их.

в моем понимании ваша программа должна добавлять только те св-ва которые видны в таблице, не удаляя при этом те св-ва которые уже есть в модели. 

Оптимально (наверное) сделать так: при открытии файла мы видим таблицу всех св-в файла(ов) и при необходимости удаляем колонку или заполняем. Или добавляем нужную колонку (к примеру я не нашел "примечание"). 

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Kelny сказал:

обязательно должен быть символ

Не знал, спасибо.

 

2 часа назад, Kelny сказал:

не удалял свойства без значения

Я делал способ удаления свойств без значений и удаление свойств без формул. Теперь понял, что это место работает не корректно.

1 час назад, DuS сказал:

только те св-ва которые видны в таблице, не удаляя при этом те св-ва которые уже есть в модели

Да, так и есть.

 

3 часа назад, DuS сказал:

при открытии файла мы видим таблицу всех св-в файла(ов) и при необходимости удаляем колонку или заполняем.

Думал на таким способом обработки значений. Другой подход, возможно как отдельный модуль (другая форма) с таким способом работы. В ближайшее время не планировал делать такое.

3 часа назад, DuS сказал:

не нашел "примечание"

Да. Его нету. Хотя можно переименовать одно из свойств.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, sova2004 сказал:

Да. Его нету. Хотя можно переименовать одно из свойств.

а что свои нельзя создать?

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, Maik812 сказал:

а что свои нельзя создать?

К сожалению нет.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...