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

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

Скрытый текст
31 минуту назад, alek77 сказал:

По визуализации я где-то уже писал на форуме, не знаю как дать ссылку на сообщение в другой ветке, напишу коротко еще раз

или если сработает

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

 

 

- запускаем визуализацию

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

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

- правой кнопкой по названию столбца, сохранить как

- выбираем формат, тип - Смещенный

 

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

 

 

Очень жаль, что API визуализации нет, ну или я не нашел

 

Век живи век учись, спасибо за информацию.

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


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

 

03 Подсчет количества в сборке.swp

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

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

А чем фильтр над деревом не угодил?

А так же инструмент ВИЗУАЛИЗАЦИЯ СБОРКИ.

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

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

 

03 Подсчет количества в сборке.swp

Какой модуль запускать? Там их кучка

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

А чем фильтр над деревом не угодил?

А так же инструмент ВИЗУАЛИЗАЦИЯ 

Может кто знает как добраться к API визуализации? Подскажите пожалуйста

Ссылка на сообщение
Поделиться на других сайтах
В 17.11.2018 в 19:40, alek77 сказал:

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

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

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

Буду безгранично благодарен за любую помощь!

https://my-files.ru/ae84jn

Может найдете для себя что то полезное, проект последний раз сохранен в VisualStudio2015. Скомпилированный экзешник и база данных в которую заноситься информация лежат в папке Debug.

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

В двух словах я обычно получаю из базы данных таблицу (в виде DataTable), в которую хочу внести изменения, назначаю ключевые поля. В нее вношу изменения т.е. добавляю строки, обновляю существующие или удаляю. После этого создаю три запроса на обновление, удаление и добавление ну и выполняю их.

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

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

@alek77 , в добавление к сказанному @vasyam . Как правило создаю две таблицы класса DataTable (components и assembleys).

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

    Public dtBase As DataTable = New DataTable("components")
    Public dtAssembleys As DataTable = New DataTable("assembleys")

В первую помещаю данные по всем элементам (столбцы: ID (уникальный номер элемента), наименование, путь и т.д.),

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

            dtBase.Columns.Add("Key", GetType(Integer)) 'unic identificator
            dtBase.Columns.Add("ID", GetType(Integer)) 'identificator of component
            dtBase.Columns.Add("PID", GetType(Integer)) 'identificator of parent
            dtBase.Columns.Add("Path", GetType(String)) 'full path to component with name and extension
            dtBase.Columns.Add("Name", GetType(String)) 'short name of component without extension
            dtBase.Columns.Add("ConfName", GetType(String)) 'name of configuration of component

во вторую (так называемая таблица сборок) Key(порядковый номер сборки), ID элемента, ID родителя.

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

            dtAssembleys.Columns.Add("Key", GetType(Integer)) 'unic identificator
            dtAssembleys.Columns.Add("ID", GetType(Integer)) 'identificator of component
            dtAssembleys.Columns.Add("PID", GetType(Integer)) 'identificator of assembley

Механизм заполнения таблиц может быть различным (я пользуюсь рекурсиями). Как было сказано выше, обращение к данным происходит через ключевое поле. У меня была Задача очень схожая с Вашей (так и не доделал [все проклятая нехватка времени :slow:]).

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

 

Удачи Вам!

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

 

во вторую (так называемая таблица сборок) Key(порядковый номер сборки), ID элемента, ID родителя.

 

 

Я тоже две таблицы использую, но в таблице сборок, у меня три столбца ID элемента, ID родителя и третий количество, сколько элементов в родителе. А вот в качестве ключа в ней использую два столбца сразу, ID элемента и ID родителя. Все чудесно работает плюс еще и проверка на совпадающие значения ID элемента и ID родителя автоматически производиться, т.е Acces сам не позволит внести повторяющееся сочетание родителя и потомка. 

27 минут назад, MUXALblCH сказал:

 

  Показать содержимое

 

Удачи Вам!

А для просмотра в правом нижнем углу, что используете, какой элемент или Activex?

Я нашел только, как просмотр PDF прикрутить:sad:

Один раз удалось Edrawings Activex в форму вставить для просмотра моделей гибщиками, но повторить этот успех я больше не смог.

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

что используете

использую document manager, метод GetPreviewPNGBitmap (который также доступен через API solidworks, но с некоторыми ограничениями).

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

The preview bitmap is the bitmap (.bmp) that appears in the Preview box on the Open dialog.

NOTES: 

Currently only in-process applications (that is, macros or add-ins) can use this method; out-of-process applications (that is, executables) will get an automation error because the IPictureDisp interface cannot be marshalled across process boundaries. This is a Microsoft behavior by design. See the Microsoft Knowledge Base for details.
This method is not supported in macros or out-of-process applications in SOLIDWORKS x64.

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

Я нашел только, как просмотр PDF прикрутить

Используете библиотеки adobe?

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

 

Используете библиотеки adobe?

Раньше использовал WebBrowser, но потом он у меня перестал нормально PDF показывать.

Сейчас перешел на AcroRDFLib.dll, все вроде работает, но по отзывам иногда перестает открывать, после перезапуска программы вновь работает.

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

AcroRDFLib.dll

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

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

 

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

Один раз удалось Edrawings Activex в форму вставить для просмотра моделей гибщиками, но повторить этот успех я больше не смог.

Этот инструмент меняется от версии к версии. Как этот просмотр использовать на все версии не разобрался. Для текущей установленный версии добавляется соответствующий элемент и используется, если eDrawing переставляется на другую версию, то просмотр уже не работал (удалял из проекта и заменял новым). Может можно по другому, но не разбирался.

 

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

Раньше использовал WebBrowser, но потом он у меня перестал нормально PDF показывать.

Вроде нормально работает. Возможно удалили просмоторщик от Adobe или в настройках броузера отключили просмотр PDF.

 

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

использую document manager

Для этого инструмента вроде ключ нужен.

 

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

GetPreviewPNGBitmap (который также доступен через API solidworks, но с некоторыми ограничениями)

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

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

вроде ключ нужен

Точно нужен.

2.Уменьшенная копия файла не всегда обновляется, как этого бы хотелось. При определённых условиях её вообще может не быть (у меня наблюдаются такие проблемы) . Это приходится контролировать. 

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

Так понимаю

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

Ссылка на сообщение
Поделиться на других сайтах
В 17.11.2018 в 17:40, alek77 сказал:

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

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

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

Буду безгранично благодарен за любую помощь!

Благодарю всех за ответы, у меня получилось

 

Для тех кому интересно, и для себя, чтобы не забыть:

 

1. Установить в систему 2 бесплатные программы:

SQLite 3 - https://www.sqlite.org/index.html
Просмотрщик DB Browser for SQLite - https://sqlitebrowser.org/

 

2. В поиске набрать ODB, и запустить Источники данных ODBS(64) (см. рис.1)

Добавить SQLite3 ODBS Driver  (см. рис.2), в настройках имя ресурса  (см. рис.3), имя базы можно не писать

 

Прикладываю то, что получилось, первый рабочий вариант, далее буду набивать данные

При запуске макроса из сборки (Sub main) данные о всех компонентах заносятся в базу данных с названием Имя сборки.db

Потом выводятся в Immediat

 

1.

001.jpg

 

2.

002.jpg

 

3.

003.jpg

 

 

Database.swp

 

Если кто проверит и отпишется, буду благодарен!

 

Изменено пользователем alek77
красивости не хватило
Ссылка на сообщение
Поделиться на других сайтах
В 20.05.2015 в 14:08, eap сказал:

Доброго дня! Разыскиваю отсутствующее (искал не нашёл) в помощи SolidWorks 2014... графическое представление SolidWorks API Object Model... в данной теме недавно, но работа предстоит большая, хотелось бы первое время иметь её перед глазами

Пример прикрепил. Благодарю за любую информацию.

  Скрыть содержимое

post-47589-0-81865400-1432119976.jpg

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

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

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

Нашел, почти 400 страниц

swobjectmodel.pdf

Ссылка на сообщение
Поделиться на других сайтах
В 19.11.2018 в 12:00, Kelny сказал:

Самый простой контейнер - текстовый файл.

Более сложный можно рассмотреть - excel или XML.

 

Лучше всего - CSV.. При про создании сразу

В 19.11.2018 в 12:00, Kelny сказал:

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

..

 

Полученный файл можно открыть и в блокноте, и в Excel..

В 20.11.2018 в 09:20, vasyam сказал:

https://my-files.ru/ae84jn

Может найдете для себя что то полезное,

 

Файл был удалён.
Причина удаления: Файл является вредоносным ПО. Результаты проверки: https://www.virustotal.com/file/56456ea378d1fcdc62319d95c5b0215953d56a9e6ba264718ac9b369b798d089/analysis/1542686204/
Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, ILL сказал:

 

Файл был удалён.
Причина удаления: Файл является вредоносным ПО. Результаты проверки: https://www.virustotal.com/file/56456ea378d1fcdc62319d95c5b0215953d56a9e6ba264718ac9b369b798d089/analysis/1542686204/

 :biggrin:

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...
Кузнецов Антон

Здравствуйте, подскажите, пожалуйста, как быть в такой ситуации.

Есть чертёж, в нём вид детали, если я кликнул мышкой в любое свободное место вида (не в лист и не на деталь),

то функция vPt = swSelMgr.GetSelectionPoint2(1, -1) вернёт мне координаты x, y из пространства листа, где 0,0 - это левый нижний угол.

Теперь если хочу нарисовать, например, круг, используя полученные координаты для центра, то круг нарисуется, принадлежащим виду,

но не в указанной точке, а в координатах вида, где 0,0 - это исходная точка детали.

Т. о. как получить координаты точки для данного вида, чтобы где указал точку на виде, там объект и нарисовался?
 

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

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

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

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

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

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

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

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

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

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

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

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

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




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