Замена Внешних Ссылок

Автор KrissKross, 25.07.22, 11:56:23

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

KrissKross

Программа
Замена Внешних Ссылок в Компас-3D

Предназначение
Изменение пути к файлам внешних ссылок, содержащихся в документах Компаса

Область использования:
на любых файлах Компаса:
   3D - Сборки и детали                  (- Тестировал)
   2D - Чертежи и Спецификации  (- Должно в принципе - не тестировал)

Ссылки могут указывать на:
   Файлы-источники для переменных
   Гиперссылка
   Файл данных
   Файл-источник копии внешней геометрии
   Файлы деталей заготовок
   Файлы компоновочной геометрии
   Файл-источник метаданных
   Файл контекста внешней ссылки
   ...

Системные требования
.Net 6
Компас-3D v.20

Условия использования
Программа распространяется бесплатно, по принципу "как есть".
В результате за проблемы, возникающие в процессе эксплуатации или установки программы, разработчик  ответственности не несёт.

ChangeExternalLink.png

Скачать
YDisk
ChangeExternalLink.rar

Doom

Здравствуйте, не много не по теме.. какую команду в cmd использовали в сборке этого приложения ? не знаком с .Net Core есть ли возможность представить написанные приложения C# в виде C++ кода по которому и проводится компиляция ?

KrissKross

старым добрым кнопконажимательством в Visual Studio - команда publish
первая ссылка в поисковике https://habr.com/ru/post/550286/
+ Благодарностей: 1

KrissKross

Доработка программы
В Список Внешних ссылок - добавлено поле - Тип ссылки

ChangeExternalLink1.png

Скачать
YDisk
ChangeExternalLink.rar
+ Благодарностей: 2

Doom

#4
Цитата: KrissKross от 26.07.22, 07:46:08старым добрым кнопконажимательством в Visual Studio - команда publish

у меня приложение с 2 строками кода (VS2022 .Net Core 6) собирает в приложение аж в 185 КБ и библиотеку какую то прикрутил на 50 КБ

по отключал почти все опции - тоже самое..

За ссылку спасибо.

и почему то графика там работает с жуткими фризами -
https://drive.google.com/file/d/1iFe3kBkHBWMhqfCIny4NXcJSg3gFsP3u/view

ZRustam

Правильно понимаю что это полуавтоматизированный процесс ручной замены источника моделей?
есть ли возможность пакетной замены, например часть файлов заменить, у которых имя осталось старым, но местоположение изменилось.

KrissKross

Цитата: ZRustam от 26.07.22, 15:54:34Правильно понимаю что это полуавтоматизированный процесс ручной замены источника моделей?

Скорее да

Дело в том что эти данные
Оставлю путь для истории - Файл - Информация о компоненте - Внешние ссылки
Мы видим, но менять их можем только окольными путями - для каждого типа свой метод изменения

Общая проблема:
При копировании проекта, ссылки остаются на устаревшие пути

Пару примеров:
1. Файл-Источник для переменных -  меняем в ручную для каждой переменной
В этом случаи Да - полуавтоматический режим, меняем в одном месте и нет нужды протыкивать каждую переменную

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

Предпосылки появления
Недоработки программы Ремарка, обратил внимание пользователь (пример 2)
Отсутствие в Компасе, причем эта возможность появилось в АПИ Компаса  с ~  19 версии
+ Благодарностей: 1

KrissKross

Цитата: ZRustam от 26.07.22, 15:54:34есть ли возможность пакетной замены, например часть файлов заменить, у которых имя осталось старым, но местоположение изменилось.

О программе РеМарка - судя по доброжелательному отзыву - знаете
Там эта возможность есть, начиная с версии 4.1 - Перестройка

Тоже уже подумываю об этом
Как сделать процесс копирования
Простым
Наглядным
Всеобъемлющим - с охватом многих нюансов Компаса

Предполагаемые названия
Ремарка-Lite
Центр Управления Проектом
Центр Управления Копированием
+ Благодарностей: 1

KrissKross

Цитата: ZRustam от 26.07.22, 15:54:34есть ли возможность пакетной замены, например часть файлов заменить, у которых имя осталось старым, но местоположение изменилось.
Предлагаю создать новую тему - Копирование проекта - предложения
для сбора потребностей от желающих получить желаемое
И там описывать задачи и необходимый результат

Может и разработчики Аскона - подключаться и выпустят Комплектовщик v2.0 - "Прям прелесть - Вот так бы всегда"
Или некий Лоцман-КБ-Lite

Схема описания задачи
Когда - Хочу - Вариант

Когда
В момент проектирования - проработки разных вариантов
Изделие претерпевает значительные изменения

Хочу
Инструмент для простого приведения файловой структуры к структуре проекта

Вариант реализации
3 окна - типа 2-ух оконного режима, наподобие всеми любимого ТоталКомандера

1 окно - структура проекта в Компасе
2 окно - файловая структура - существующая
3 окно - файловая структура - измененная

СВ

(С другими КАДами (и даже частями КАДов, Лоцман, к примеру) не знаком, поэтому идеи могут и повторяться, и выглядеть устаревшими, и ... пр., пр., пр.)
- - - - - - - - - - -
Мне всегда хотелось иметь систему под названием Проект (которую, говорят, осуществили в Лоцмане): все файлы - Модели, СП, Чертежи автоматически связаны в момент создания, имена файлов соответствуют Обозначению/Наименованию*, Обозначение/Наименование автоматически меняются в процессе проектирования. СП создаётся автоматически без участия пользователя. Либо из СП можно ВСЁ создавать. А скорее всего Сборка и СП работают в одной связке: из любого места создаём Детали и подсборки, перемещаем, переименовываем, удаляем, и т.д. и т.п.
Естественно, Копирование проекта и пакетное переименование в этой системе делается на раз-два.
- - - - - - -
* - думаю, название может иметь две части: первая - что-то типа неизменного "уникального кода", который и учитывается системой, вторая - собственно Обозначение/Наименование, меняется в процессе работы. ЛИБО ЖЕ имя файла переменное, пока идёт работа в проекте и "фиксируется" после окончания работы.

fedorLytkin

Цитата: ZRustam от 26.07.22, 15:54:34есть ли возможность пакетной замены, например часть файлов заменить, у которых имя осталось старым, но местоположение изменилось.

ZRustam

Цитата: fedorLytkin от 27.07.22, 08:04:50видео
У вас на видео чуть более развитый комплектовщик. По переменным не увидел информации. По поводу замены части файлов тоже.
Цитата: KrissKross от 26.07.22, 17:41:40О программе РеМарка - судя по доброжелательному отзыву - знаете
Там эта возможность есть, начиная с версии 4.1 - Перестройка
К сожалению в наличии компас 18, насколько понимаю для новых версий вашей программы нужна более актуальная.
если есть - круто.
Цитата: KrissKross от 26.07.22, 17:38:37В этом случаи Да - полуавтоматический режим, меняем в одном месте и нет нужды протыкивать каждую переменную
очень круто
Цитата: KrissKross от 26.07.22, 17:38:37Общая проблема:
При копировании проекта, ссылки остаются на устаревшие пути
Вот тут есть вопрос. Моделировал ситуацию (без вашей программы). Есть сборка А в папке №1. Готовый проект. Копируем сборку в папку №2, меняем названия на Б. Если открыть сборку Б, файлы подтянутся из папки №1, т.к. нужных имен в папке №2 нет. Но если изменить название папки №1, то при открытии Сборки Б компас предложить указать замену потерянным файлам, и указав их по одному (вот именно тут интересен функционал частичной замены, чтобы не тыкать каждый файл) можно обновить ссылки. вроде бы решенный вопрос. НО. Я пошел дальше. Скопировал сборку Б из папки №2 в папку №3, произвел аналогичные действия по переименованию в сборку В. И теперь, если изменить название папки №2 (чтобы вызвать интерфейс замены потерянных файлов) то он не вызовется. А будут подтянуты файлы из папки №1! Вот это у меня вызвало шок при выявлении. Насколько далеко тянутся "хвосты"?

Поэтому вопрос. Чистятся ли старые пути в вашей программе? или остаются где то "в нутрях"?
Цитата: KrissKross от 26.07.22, 17:54:49Схема описания задачи
Когда - Хочу - Вариант
Когда - первичное проектирование изделия/копирование готового с изменениями
Хочу - Задать основной индекс ( первые цифры/буквы изделия) и правило задания вспомогательных (в ремарке есть), возможность "перетасовать" сборки по уровням, с изменением связей,ссылок,сопряжений (самое сложное, как переместить деталь А из одной сборки в другую с сохранением сопряжений? с одной стороны геометрия не меняется, поэтому индексы поверхностей должны оставаться теми же, но меняется структура. Не знаю как внутри компаса это реализовано и возможно ли в принципе). На выходе получить готовый проект с названием файлов Обозначение Наименование, переписанными внутренними ссылками/переменными
Вариант реализации - Интерфейс первых частей ремарки был не прям плох, но сильно контрастировал с основным окном компаса. В идеале по моему мнению, это было бы два древа сборок, первое исходное, второе желаемое, во втором "тасуем" сразу видим изменения по обозначениям, сверху/сбоку/отдельной вкладкой правила для изменения обозначений и какие то общие настройки. стилистически как в последних компасах (возможно в виде интегрированного приложения/библиотеки, тогда вообще все визуальные настройки будут совпадать).


KrissKross

Цитата: СВ от 26.07.22, 21:47:51Мне всегда хотелось иметь систему под названием Проект
Тоже обдумываю над системой - локальный Проект, помогающий конструктору на всей его (проекта) протяженности

Цитата: СВ от 26.07.22, 21:47:51осуществили в Лоцмане): все файлы - Модели, СП, Чертежи автоматически связаны в момент создания, имена файлов соответствуют Обозначению/Наименованию*, Обозначение/Наименование автоматически меняются в процессе проектирования. СП создаётся автоматически без участия пользователя. Либо из СП можно ВСЁ создавать. А скорее всего Сборка и СП работают в одной связке: из любого места создаём Детали и подсборки, перемещаем, переименовываем, удаляем, и т.д. и т.п.
Естественно, Копирование проекта и пакетное переименование в этой системе делается на раз-два.
Все это и есть функции ПДМ системы

Не хочу наговаривать, да и не знаю всех тонкостей
Но у меня сформировалось отношение, что
Не всегда и не везде - удобно, органично и быстро работает

И конструктор или админ - вынуждены многие действия выполнять в ручную, а на выходе получить малозаметные плюшки для самого конструктора
Конечно в рамках предприятия получаем централизованную защиту и хранение данных и прочее ...
Но для конструктора выливается в геморрой и мышко-вредительство ФигЗнаетЗачемСтолькоТупыхДействий

СВ

 Хочу предупредить: В.Изранов разработал "Способ ..." и патентует его, а потому ни в коем случае не используйте его методы, это будет незаконно.
Но отсюда вытекает и другой вариант - вы с ним можете скооперироваться! (И это его здорово утешит.)
+ Благодарностей: 1

KrissKross

Цитата: ZRustam от 27.07.22, 10:15:02Чистятся ли старые пути в вашей программе? или остаются где то "в нутрях"?
Похоже запрятано где-то глубоко,так что в АПИ вроде нет возможности получить эту информацию
и можно предположить, что
внутри Компаса заложен механизм для предотвращения потери ссылок и он хранит свою первую большую любовь,
т.е. первое вхождение без доступа для изменения/удаления

Цитата: ZRustam от 27.07.22, 10:15:02Когда - первичное проектирование изделия/копирование готового с изменениями
Хочу - Задать основной индекс ( первые цифры/буквы изделия) и правило задания вспомогательных (в ремарке есть), возможность "перетасовать" сборки по уровням, с изменением связей, ссылок, сопряжений (самое сложное, как переместить деталь А из одной сборки в другую с сохранением сопряжений? с одной стороны геометрия не меняется, поэтому индексы поверхностей должны оставаться теми же, но меняется структура. Не знаю как внутри компаса это реализовано и возможно ли в принципе). На выходе получить готовый проект с названием файлов Обозначение Наименование, переписанными внутренними ссылками/переменными
Вариант реализации - Интерфейс первых частей ремарки был не прям плох, но сильно контрастировал с основным окном компаса. В идеале по моему мнению, это было бы два древа сборок, первое исходное, второе желаемое, во втором "тасуем" сразу видим изменения по обозначениям, сверху/сбоку/отдельной вкладкой правила для изменения обозначений и какие то общие настройки. стилистически как в последних компасах (возможно в виде интегрированного приложения/библиотеки, тогда вообще все визуальные настройки будут совпадать).
Можно выделить несколько различных действий/пожеланий
   1. Изменение структуры проекта - перетаскивание компонентов по возможности с сохранением сопряжений
   2. Присвоение обозначений
   3. Копирование проекта c
      a. Упорядочиванием и чисткой Файловой структуры
      b. Изменением имен папок и файлов

Toptotal

Цитата: СВ от 28.07.22, 09:38:15В.Изранов разработал "Способ ..." и патентует его, а потому ни в коем случае не используйте его методы, это будет незаконно.
Когда будет патен тогда будет не законно а в процессе , а это долгий процесс все можно!

Toptotal

Цитата: KrissKross от 26.07.22, 17:54:49Вариант реализации
3 окна - типа 2-ух оконного режима, наподобие всеми любимого ТоталКомандера

1 окно - структура проекта в Компасе
2 окно - файловая структура - существующая
3 окно - файловая структура - измененная
Ну если ТС то он и щас может делать почти все это.
1. структура проека просто делать изначально что где лежит.
Есть к TC плагин "Виртуальная панель"  по сути туда скидыватся как ссылки на файлы, и структуру копировать или виртуально переносить как удобно.
прям там можно работать с файлами.
а изменять можно регулярными выражениями всех файлов или файла пакетно или выборочно.

KrissKross

Доработка программы
Добавлено:
   1. Фильтрация данных в Списке Внешних Ссылок
   2. Поле - Тип файла: Обычный, Локальный, Отсутствует на диске
   3. Удаление выделенных ссылок

Удаление ссылок - полезно для отчистки файла от устаревших ссылок - указывающих на отсутствующие файлы на диске

Заметки:
Иногда в некоторых случаях - для окончательного удаления ссылок
- необходимо перезапустить Компас

Предупреждение:
Рекомендуется сделать копию файла, перед удалением ссылок
Будьте предельно внимательны при удалении - необдуманное применение может привести к повреждению файла

ChangeExternalLink.png

Скачать:
YDisk
ChangeExternalLink.rar
+ Благодарностей: 4

wellvan

Добрый день!
Подскажите, есть ли возможность перекомпилировать ChangeExternalLink под Компас-3D v22?
Буду очень Вам благодарен.

KrissKross

Замена внешних ссылок

Новинки
•   Обновил внешний вид
•   Добавил Описание
•   Перекомпилировал под .Net 8 и Компас-22

Предпосылки
Файлы, созданные программой Компас-3D, кишат наполнены ссылками
И иногда, почти всегда, хотелось бы:
•   Наглядного управления ссылками
•   Изменения ссылок – «в труднодоступных местах»
•   Очистка документа от не нужных или не правильных ссылок

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

Системные требования
.Net 8
Компас-3D v22

Условия использования
Программа распространяется бесплатно, по принципу "как есть".
В результате за проблемы, возникающие в процессе эксплуатации или установки программы,
разработчик ответственности не несёт.

ChangeExternal.png

Скачать программу

Всем мира, добра и созидания!
+ Благодарностей: 1