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

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


Woff

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

Детали используются в различных сборках. Поменяли место расположения деталей, перенесли на другую машину. Соответственно в сборках появились отмеченные серым цветом детали. И в сборке их не видно. Деталей много. Как автоматизировать процесс изменения ссылок на детали? Чтобы не прописывать путь руками.

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


Как автоматизировать процесс изменения ссылок на детали? Чтобы не прописывать путь руками.

И у меня бывает, что детали тоже меняют свои места (правда не часто)

Но (наскока помню) при загрузке сборки выдаётся предупреждение об отсутствии каких-то деталей и запрос на на поиск или замену....

Вот тут и надо указывать новое место деталей (к сожалению ручками - а что делать???)...

А вообще, что бы не было таких ситуаций - надо просто сохранять (на новом месте) дерево папок и вопросов не будет...

Либо сделать "Копировать проект..." - тады вааще будет всё номуль, весь проект будет в одной папке!!!...

Кстати, там же есть возможность (в графе "Сохранить в папке") сразу указать новую папку для деталей (на том же сервере)...

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

Woff

Напишите последовательность действий более конкретно. Ничего непонятно.

Какой SW используете?

SW2008. В папке на локальном компьютере лежали детали и сборка. Так же в сборке использовались детали из другой папки этого компьютера. Для оптимизации дискового пространства перенесли папку с деталями на сервер. В сборке отсутствуют детали, которые перенесли на сервер. Я не конструктор, я сисадмин.

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

В сборке отсутствуют детали, которые перенесли на сервер. Я не конструктор, я сисадмин.

Тогда только - про загрузке указывать новое место деталей (если их много - сочуйствую)...

Если не поздно - можно вернуть всё исходное состояние и сделать "Копировать проект..."...

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

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

Старайтесь работать с одной папкой, тогда и вопросов не будет возникать.

Как автоматизировать процесс изменения ссылок на детали? Чтобы не прописывать путь руками.

Попробуйте все детали перенести на другую машину-это лучшая автоматизация.
Ссылка на сообщение
Поделиться на других сайтах

И у меня бывает, что детали тоже меняют свои места (правда не часто)

Но (наскока помню) при загрузке сборки выдаётся предупреждение об отсутствии каких-то деталей и запрос на на поиск или замену....

Вот тут и надо указывать новое место деталей (к сожалению ручками - а что делать???)...

А вообще, что бы не было таких ситуаций - надо просто сохранять (на новом месте) дерево папок и вопросов не будет...

Либо сделать "Сохранить проект" - тады вааще будет всё номуль...

Вся неприятность в том, что не в одной сборке участвуют детали, которые перенесли. Есть еще 4 человека, которые ими пользуются. Деталей не просто много, а очень много. И все это руками править, как-то не комильфо. Вот и возник вопрос как автоматизировать сей процесс. Я понимаю, что можно накропать макрос, но не знаю ни структуры файла сборки, ни с какого боку подойти.

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

SW2008. В папке на локальном компьютере лежали детали и сборка. Так же в сборке использовались детали из другой папки этого компьютера. Для оптимизации дискового пространства перенесли папку с деталями на сервер. В сборке отсутствуют детали, которые перенесли на сервер. Я не конструктор, я сисадмин.

А Вы все эти папки с файлами Солида перенесите на серв, не меняя их структуры, тогда может быть...
Ссылка на сообщение
Поделиться на других сайтах

И все это руками править, как-то не комильфо. Вот и возник вопрос как автоматизировать сей процесс.

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

Или использовать SolidWorks Explorer (в Пуске) - и попробовать там изменить все пути, но опять же ручками (как с ним работать - есть в евоном хелпе)...

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

И все-таки хочется в пакетном режиме это сделать. Ведь все ссылки на детали хранятся в файле сборки .sldasm. Структуру файла, может быть, кто-нибудь знает? Ведь нет ничего проще заменить старое место хранения на новое. Может быть, я заблуждаюсь. Но мне кажется, что такой вариант существует. Ведь тот же самый SolidWorks Explorer этим и занимается при необходимости.

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

В настройках солида указать место поиска деталей и солид должен автоматом все поднять, при условии что структура не поменялась.

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

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

В настройках солида указать место поиска деталей и солид должен автоматом все поднять, при условии что структура не поменялась.

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

Спасибо, будем пробовать.

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

Оказалось, что это тоже не выход. Надо каждую сборку открыть, сохранить и закрыть. Все тот же вопрос: как можно в файле сборки определить ссылки на детали? В пакетном режиме. Т.е. взять сборки и натравить их на нужную папку. Как это делает SolidWorks Explorer. Я понимаю, что можно им пользоваться, но это опять вручную каждую сборку.

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

Все тот же вопрос: как можно в файле сборки определить ссылки на детали? В пакетном режиме.

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

Оказалось, что это тоже не выход. Надо каждую сборку открыть, сохранить и закрыть. Все тот же вопрос: как можно в файле сборки определить ссылки на детали? В пакетном режиме. Т.е. взять сборки и натравить их на нужную папку. Как это делает SolidWorks Explorer. Я понимаю, что можно им пользоваться, но это опять вручную каждую сборку.

Если знакомы с програмированием, то советую присмотрется к SolidWorks Document Manager API. Там можно воспользоватся функциями:

status = SwDMDocument5->GetAllExternalReferences2 ( pSrcOption, brokenRefVar, &ListOfFiles)



Input:

 (ISwDMSearchOption) pSrcOption

 Pointer to the SwDMSearchOption object

 

Output:

 (VARIANT) brokenRefVar

 VARIANT of type SafeArray of the statuses of the any broken external references as defined in swDmReferenceStatus (see Remarks)

 

Output:

 (VARIANT) ListOfFiles

 VARIANT of type SafeArray of the names of the external references used in this document

 

Return:

 (HRESULT) status

 S_OK if successful
для получения всех ссылок на документ и

status = SwDMDocument->ReplaceReference ( OriginalReference, ReplacementReference)



Input:

 (BSTR) OriginalReference

 Name of original reference to replace

 

Input:

 (BSTR) ReplacementReference

 Name of reference with which to replace OriginalReference

 

Return:

 (HRESULT) status

 S_OK if successful
для замены этих ссылок. Все действия желательно производить при незагруженном SW или незагруженных документах. Эти же функции использует и SW Explorer. Соответсвенно, можно организовать и пакетную обработку сборок. Все функции приведены для SW2008. В версиях выше эти функции поддерживаются, но есть и новые аналогичные, но с несколько расширенными вохможностями.

P.S. Лично использую эти функции года два для пакетного переименования файлов деталей входящих в сборку и для копирования и перемещения проекта.

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

P.S. Лично использую эти функции года два для пакетного переименования файлов деталей входящих в сборку и для копирования и перемещения проекта.

Спасибо, Добрый Человек! Вот, то что надо. Попытаюсь программировать. :-) В файле помощи есть примеры, в которых нужно записать лицензионный ключ. Это ключ от SolidWorks`а, или какой-то другой надо?

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

В файле помощи есть примеры, в которых нужно записать лицензионный ключ. Это ключ от SolidWorks`а, или какой-то другой надо?

Это ключик лицензии на SwDocumentMgr.dll. Надо связыватся с SolidWorks Corp. Подробности не в курсе.
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




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