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

Проблема с api pack and go


Sturmann

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

Здравствуйте коллеги. 

Есть проблема в api для команды копировать проект (  sw2015) 

Всё работает кроме одного момента : не копирует сборки. Детали и чертежи в все ок, а вот сборки.... 

При исполнении метода он возвращается ошибку копирования именно на сборки. Кто сталкивался? 

 

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


UnPinned posts
4 часа назад, Sturmann сказал:

возвращается ошибку

какую из swPackAndGoSaveStatus_e ?

По сути, API это же вызов тех же функций что и обычным методом мышкой. Через explorer всё работает как надо?

Если попробовать код из хелпа и для VBA на той же сборке с подсборками - тоже ошибка будет?

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

какую из swPackAndGoSaveStatus_e ?

По сути, API это же вызов тех же функций что и обычным методом мышкой. Через explorer всё работает как надо?

Если попробовать код из хелпа и для VBA на той же сборке с подсборками - тоже ошибка будет?

Номер 4. 

С кодом из справки эта ошибка т происходит. 

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

Через файл- копировать проект всё работает. Сборки копирует. Даже можно целое изделие скопировать с чертежами. И всё будет как надо. Но вот программно - затык. 

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

Номер 4. 

С кодом из справки эта ошибка т происходит. 

Условия для выполнения выполнены:

Цитата

' Предварительные условия:
' 1. Указанная сборка существует.
' 2. Папка c:\temp существует.
' 3. Откройте Immediate window.
' 4. Запустите макрос.

Solidworks установлен в папку по умолчанию? А то ведь может не оказаться файла сборки который прописан в справке лежит в ином месте:

Цитата

' Open assembly
openFile = "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\samples\tutorial\advdrawings\handle.sldasm"

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

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

Условия для выполнения выполнены:

Solidworks установлен в папку по умолчанию? А то ведь может не оказаться файла сборки который прописан в справке лежит в ином месте:

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

Солид в парке по умолчанию. 

Файл сборки - активный документ

Да вот с точками беда- строка с самим методом возвращает 4.

https://help.solidworks.com/2017/english/api/swconst/SolidWorks.Interop.swconst~SolidWorks.Interop.swconst.swPackAndGoSaveStatus_e.html

 

Ошибка 4

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

Да вот с точками беда- строка с самим методом возвращает 4.

Так функция в конце лишь отрабатывает, что было настроено выше, так что возможно стоит проверить переменную status для функций/процедур выше?

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

Здравствуйте коллеги. 

Есть проблема в api для команды копировать проект (  sw2015) 

Всё работает кроме одного момента : не копирует сборки. Детали и чертежи в все ок, а вот сборки.... 

При исполнении метода он возвращается ошибку копирования именно на сборки. Кто сталкивался? 

 

Я сталкивался с похожей проблемой в SW2011. При копировании сборочного чертежа или сборки копировалось всё, кроме самого сборочного чертежа или сборки. Возвращаемый функцией  SavePackAndGo массив содержал swPackAndGoSaveStatus_SaveError именно на сборочном чертеже или сборке. Не знаю как эта функция отрабатывала в других SW, но после SW2018 все было нормально.

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

Я сталкивался с похожей проблемой в SW2011. При копировании сборочного чертежа или сборки копировалось всё, кроме самого сборочного чертежа или сборки. Возвращаемый функцией  SavePackAndGo массив содержал swPackAndGoSaveStatus_SaveError именно на сборочном чертеже или сборке. Не знаю как эта функция отрабатывала в других SW, но после SW2018 все было нормально.

 

ну вот в 15 таже песня

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

Ну вот взял пример из хелпа. Массив статусов скопированных сборок. Ячейка  (0) имеет значение 4 что означает ошибка при копировании. Это сборка верхнего уровня

2022-01-30_11-01-32 (2).png

А вот список компонентов (файлов) в папке.Тут скопировалась только одна сборка- сборка на уровень ниже той которую открывали.

2022-01-30_11-02-01.png

 

 

В это сборке есть подсборка. 

Она скопировалась, с ней все ок.

 2022-01-30_11-02-59.png

 

 

 

 

 

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

Сколько версий SW стоит на компе?

Одна

Ссылка на сообщение
Поделиться на других сайтах
30.01.2022 в 11:10, Sturmann сказал:

Ну вот взял пример из хелпа. Массив статусов скопированных сборок. Ячейка  (0) имеет значение 4 что означает ошибка при копировании. Это сборка верхнего уровня

А пример из справки без подмены сборки работает?

Как вариант попрбовать сохранить без добавки (без префиксов/суфиксов), обновить сборку перед сохранением, проверить что там с сообщениями для которых сделан выбор БОЛЬШЕ НЕ СПРАШИВАТЬ и возмозможно отобразить их все. Ещё попробовал бы сохранить в архив ZIP.

 

Как костыль вероятно можно попрбовать копировать файл сборки через SaveAs, но там скорее всего будут старые ссылки и нужно будет переподключать на новые модели с префиксом/суфиксом.

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

А пример из справки без подмены сборки работает?

Как вариант попрбовать сохранить без добавки (без префиксов/суфиксов), обновить сборку перед сохранением, проверить что там с сообщениями для которых сделан выбор БОЛЬШЕ НЕ СПРАШИВАТЬ и возмозможно отобразить их все. Ещё попробовал бы сохранить в архив ZIP.

 

Как костыль вероятно можно попрбовать копировать файл сборки через SaveAs, но там скорее всего будут старые ссылки и нужно будет переподключать на новые модели с префиксом/суфиксом.

Пример из справки работает.Только там нет вложенных сборок.

Если "Сохранить как" то там проблема с чертежами и вложенными компонентами- чертежей не будет, вложенные компоненты- из исходника.

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

Пример из справки работает.Только там нет вложенных сборок.

Если "Сохранить как" то там проблема с чертежами и вложенными компонентами- чертежей не будет, вложенные компоненты- из исходника.

Когда возникли проблемы с IPackAndGo в SW2011, я использовал SolidWorks Document Manager API. Функционал такой же, даже больше. Недостаток - должны быть закрыты документы в SolidWorks-e, но меня это устраивало и нужен ещё LicKey.

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

Когда возникли проблемы с IPackAndGo в SW2011, я использовал SolidWorks Document Manager API. Функционал такой же, даже больше. Недостаток - должны быть закрыты документы в SolidWorks-e, но меня это устраивало и нужен ещё LicKey.

про SolidWorks Document Manager API слышал.

если я его буду запускать на другом компьютере без лицензии он будет работать?

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

про SolidWorks Document Manager API слышал.

если я его буду запускать на другом компьютере без лицензии он будет работать?

После SW2011 не пробовал.  Как сейчас, не знаю.

Изменено пользователем Shvg
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Sturmann сказал:

без лицензии

Что нужно, чтобы программа работала с файлами SW без самого SW:

- лицензионный текстовый ключ, который надо подпихивать при создании SwDMApplication. Ключ запрашивается отдельно через американскую техподдержку, даже если у вас стоит лицензионный SW. Ключ либо зашивать с обфускацией в программу, либо хранить отдельно в зашифрованном виде. Чтоб не спёрли. Хотя, мало кому такое может понадобиться, но согласно лицензии вы в ответе за сохранность ключа.

- на целевом компьютере установленной библиотеки SwDocumentMgr.dll через regsvr32 (в моём случае было очень много ошибок, поэтому ставил аж сетап докменеджера с диска, но может сработать и простая регистрация, главное чтоб все зависимости были)

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

Пример из справки работает.Только там нет вложенных сборок.

А что мешает подпихнуть туда свою сборку с подсборками то?

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

 

А что мешает подпихнуть туда свою сборку с подсборками то?

Ну она для чтения как бы) 

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

Ну она для чтения как бы) 

Ась?

 

Вот код https://help.solidworks.com/2019/english/api/sldworksapi/pack_and_go_an_assembly_example_vb.htm

Открываете свою сборку с подсборками и с чертежами. Создаёте папку "temp" в корне диска С

Заменяете код этим

' Open assembly
'openFile = "C:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS 2018\samples\tutorial\advdrawings\handle.sldasm"
'Set swModelDoc = swApp.OpenDoc6(openFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)
Set swModelDoc = swApp.ActiveDoc
Set swModelDocExt = swModelDoc.Extension

Всё должно сработать.

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

Ась?

 

Вот код https://help.solidworks.com/2019/english/api/sldworksapi/pack_and_go_an_assembly_example_vb.htm

Открываете свою сборку с подсборками и с чертежами. Создаёте папку "temp" в корне диска С

Заменяете код этим

' Open assembly
'openFile = "C:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS 2018\samples\tutorial\advdrawings\handle.sldasm"
'Set swModelDoc = swApp.OpenDoc6(openFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)
Set swModelDoc = swApp.ActiveDoc
Set swModelDocExt = swModelDoc.Extension

Всё должно сработать.

Ок. Спасибо. Попробую. 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Павлуха
      В Рино можно создать плоскую карту, потом наложить на криволинейную.
    • Fedor
      Та дано определение концепта факторизации . Любой. Мелочи не обязательно перечислять. Покопайтесь, может в английской или другой статье о факторизации есть :)     https://en.wikipedia.org/wiki/Matrix_decomposition    :)
    • _GOST_
      10.05.2024 Макросы обновлены Версия v.0.8.16 beta   Исправлены баги: 1. Макрос BOM_Export. Исправлен баг, в результате которого масса в количестве компонентов округлялась до нуля. 2. Макрос BOM_Export. Исправлен баг, в результате которого неправильно сортировались компоненты раздела "Комплекты" 3. Макрос BOM_Export. Исправлен баг, в результате которого не сортировались компоненты раздела "Документация" 4. Макрос BOM_Export. Исправлен баг, в результате которого в спецификации не отображались примечания виртуального компонента. 5. Макрос BOM_Export. Исправлен баг, в результате которого при выполнении макроса из сборочного чертежа для групповой спецификации с отличиями по чертежу - не обновлялись номера позиций в модели и чертеже. 6. Макрос Revision_Update. Исправлен баг, в результате которого макрос вылетал при выполнении его не с первого листа чертежа.   Улучшения: 1. Макрос M_Prop. Добавлена проверка чертежей различных типов документов для сборок. Имена файлов таких чертежей должны повторять имя файла сборочного чертежа, но между обозначением и разделителем должен быть указан код документа. Так же данный код и соответствующий ему тип документа должны быть внесены в текстовый файл списка типов документов (см. настройки). 2. Макрос M_Prop. Изменено поведение при нажатии галочки "Добавить материал в наименование" - теперь наименование из имени файла полностью заменяется материалом. 3. Макрос BOM_Export. На главное окно макроса добавлена галочка "Без раздела "Документация"" для документов без чертежей (комплекты, и т.д.). 4. Макрос BOM_Export. В раздел "Документация" автоматически вносятся различные типы документов, если для них есть чертежи (например, кроме сборочного чертежа есть монтажный чертёж, в имени файла которого после обозначения указан код документа "МЧ"). 5. Макрос BOM_Export. Для документов без сборочных чертежей, но со спецификацией в поле "Формат" автоматически проставляется формат "А4". 6. Макрос BOM_Export. Для компонентов с указанием массы в количестве, при условии, что масса указана в граммах, во время суммирования (если вхождений таких компонентов несколько) масса может преобразовываться из граммов в килограммы. 7. Макрос BOM_Export. На главное окно макроса добавлена галочка "Сортировать раздел "Прочие изделия" по обозначению" 8. Макрос BOM_Export. Изменено правило сохранения спецификации в отдельной папке - теперь в отдельной папке сохраняются файлы в формате PDF (дублируются). Для старых проектов, в которых спецификации были сделаны с данной галочкой, все файлы в формате Excel необходимо перенести на уровень выше (в папку с моделью). 9. Макрос BOM_Export. Реализована особая сортировка всех компонентов в спецификации, позволяющая правильно сортировать стандартные изделия по увеличению размера. Например, Винты М8 будут выше винтов М12, а не наоборот как в старой версии. v.0.8.16 beta.rar
    • ДОБРЯК
      Где в этой ссылке сказано про численную факторизацию симметричной матрицы методом Холецкого или методом Гаусса? :=)  
    • Fedor
    • ДОБРЯК
      Численная факторизация - это приведение матрицы к треугольному виду. Дальше идет работа с правой частью. 
    • Михаил АИС
      Здравствуйте.  Выбираем станок. Обрабатываем в основном нержавеющую сталь AISI304, AISI321 и AISI316L. Сейчас у нас есть два универсальных станка 16к20 и иж250, универсальный фрезерный станок JET. Также имеется токарный станок ЧПУ без приводов от компании Вебер(аналог GOODWAY GLS-1500).  Следующий станок хотелось бы приобрести не китайский. На текущий момент времени рассматриваем 3 марки станков: 1) Victor NP-16CM и NP-20CM. Тайвань, вроде хорошие станки, но ценник впечатляет. У модели поменьше BMT45, у побольше BMT55. Обе модели на направляющих качения. 2) SMEC NS2000M и SL2000M. Южная Корея,  цены относительно приятные. NS2000M имеет направляющие качения и BMT45. SL2000M - скольжения и BMT55. 3) DOOSAN. Корейские станки, довольно известные, цены впечатляют. Есть вариант нового китайского Lynx225M(китайский станок для китайского рынка) и б/у Puma GT2100M из Кореи якобы с минимальной наработкой. Ценник на новые корейские станки зашкаливает.  Чертежи массовых деталей прикладываю,  также прикладываю чертежи самых крупных деталей. Часть деталей точим из шестигранника, соответственно идёт обработка на удар. Буду признателен, за помощь в выборе. По технике два основных вопроса: 1) Направляющие - требуются ли нам направляющие скольжения, или достаточно качения? 2) BMT55 больше, жёстче и позволяет ставить резцы большего сечения. Также теоретически инструмент должен стоять лучше. Или в нашем случае достаточно BMT45? Если у кого-то есть опыт использования этих станков буду признательны за обратную связь.
    • maxx2000
      @bubl leg в NX, Rhino можно, больше ни в каких CAD не встречал.
    • ДОБРЯК
      Хорошо. Можно тоже самое написать еще раз. Вы ищите решение СЛАУ. И чтобы найти это решение вы задаете уравнение, что  перемещение какой-то степени свободы равна какому-то числу. Но в данном примере всего два уравнения, всего две степени свободы.  И сказав, что перемещение первой степени свободы равно 1, например, у вас остается одно уравнение с одним неизвестным.  А если у вас СЛАУ из 100 уравнений, вы скажите, что перемещение первой степени свободы равно 1, например. Но как найти остальные 99 неизвестных не решая СЛАУ? Нужно решать в общем случае?   Решайте любым методом. Вы скажите нужно СЛАУ решать для нахождения собственных векторов.  Предлагаю двигаться маленькими шажками. Если нужно решать СЛАУ, то это один путь развития диалога, если не нужно, другой.
    • bubl leg
      Кстати, может кто знает - возможно ли в Солиде, наложить на плоскую/круглую/произвольной формы деталь - картинку чёрно-белую (карта высот) и выдавить её в виде объёмной рельефной поверхности? Понимаю, что солид не совсем для этого -но чем чёрт не шутит...:-) Такой инструмент есть в 3D Studio Max - модификатор displace. "Знал, умел, практиковал". :-) Итак?
×
×
  • Создать...