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

Сделай свою работу в Solidworks эффективнее


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

13.02.2022 в 22:37, SWX сказал:

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

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

'        materialName = "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\data\graphics\Materials\solid\red.p2m"
    Dim pathname As String
    pathname = swApp.GetCurrentMacroPathFolder
'        Debug.Print pathname
    materialName = pathname + "\red.p2m"

 

для раскраски элементов детали макрос не нужен, это стандартная фича солида

изображение.png

 

Хорошая штука. 

Я просто такой ерундой не занимаюсь - раскрашиванием элементов дерева. Это никому не нужно. Нужно чтобы конструкция была корректной а в каком цвете там фаски неважно. 

 

А всякие раскраски - для тех кто ещё не наигрался. 

 

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


21 minutes ago, Sturmann said:

такой ерундой не занимаюсь - раскрашиванием элементов дерева. Это никому не нужно

В Дассо об этом напиши, чтоб зря программерские ресурсы не тратили и убрали эту "ерунду"

23 minutes ago, Sturmann said:

А всякие раскраски - для тех кто ещё не наигрался

Солидворкс - он, в принципе, для тех, кто ещё не наигрался :)

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

День добрый.

Подскажите как программно получить список всех компонентов сборки?

Аналогично команде Файл-Найти ссылки-Копия списка.

 

Ссылка на сообщение
Поделиться на других сайтах
2 hours ago, malvi.dp said:

День добрый.

Подскажите как программно получить список всех компонентов сборки?

Аналогично команде Файл-Найти ссылки-Копия списка.

 

Смотря что вы вкладываете в понятие "Список компонентов сборки".

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

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

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

Смотря что вы вкладываете в понятие "Список компонентов сборки".

Именно то, что написано - 

2 часа назад, malvi.dp сказал:

программно получить список всех компонентов сборки

 

5 минут назад, Alex@nder сказал:

В солид ворксе есть весьма полезная функция

Как сделать это в солиде я знаю, мне нужно это сделать с помощью API

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

Кроме того эта функция позволяет экспортировать данный список в эксель.

Если нужен этот эксель часто мне лично не понятен зачем он :)

А по факту его и не нужно..

Вопрос скорее а для чего все это? Так сказать конечный результат какой нужен ? Что считать?

 

ПРИМЕР РАБОТЫ.gif

Ссылка на сообщение
Поделиться на других сайтах
Just now, malvi.dp said:

Именно то, что написано - 

 

Как сделать это в солиде я знаю, мне нужно это сделать с помощью API

Узнаете еще какие-нить варианты, поделитесь)

2 minutes ago, Maik812 said:

Если нужен этот эксель часто мне лично не понятен зачем он :)

А как вы используете тотал-коммандер для внесения или отображения информации? Интересует)

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

Как сделать это в солиде я знаю, мне нужно это сделать с помощью API

Так есть же ветка по API, там и ответят те кто АПИ курит хорошо...

4 минуты назад, Alex@nder сказал:

А как вы используете тотал-коммандер для внесения или отображения информации? Интересует)

тоже ветка есть по этому. Solidworks.wdx  и Geometrika

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

Узнаете еще какие-нить варианты, поделитесь)

Непременно.

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

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

Option Explicit
Dim swApp As SldWorks.SldWorks
'Получение скрытых компонентов в сборке
Sub main()
    Set swApp = Application.SldWorks
    Dim swAssembly As SldWorks.AssemblyDoc
    Set swAssembly = swApp.ActiveDoc
    If swAssembly.HasUnloadedComponents Then
        Dim vPaths As Variant
        Dim vRefdConfigs As Variant
        Dim vReasons As Variant
        Dim vDocTypes As Variant
        Dim vNames As Variant
        vNames = swAssembly.GetUnloadedComponentNames(vPaths, vRefdConfigs, vReasons, vDocTypes)
        If IsEmpty(vPaths) Or IsEmpty(vRefdConfigs) Or IsEmpty(vReasons) Or IsEmpty(vDocTypes) Or IsEmpty(vNames) Then
            MsgBox "Error: Empty VARIANT parameter!"
            Debug.Assert False
            Exit Sub
        End If
        If Not (IsArray(vPaths) And IsArray(vRefdConfigs) And IsArray(vReasons) And IsArray(vDocTypes) And IsArray(vNames)) Then
            MsgBox "Error: Non-array VARIANT parameter!"
            Debug.Assert False
            Exit Sub
        End If
        
        If (LBound(vPaths) <> LBound(vRefdConfigs)) Or (LBound(vPaths) <> LBound(vReasons)) Or (LBound(vPaths) <> LBound(vDocTypes)) Or (LBound(vPaths) <> LBound(vNames)) Then
            MsgBox "Error: Array lower bounds do not match!"
            Debug.Assert False
            Exit Sub
        End If
        If (UBound(vPaths) <> UBound(vRefdConfigs)) Or (UBound(vPaths) <> UBound(vReasons)) Or (UBound(vPaths) <> UBound(vDocTypes)) Or (UBound(vPaths) <> UBound(vNames)) Then
            MsgBox "Error: Array upper bounds do not match!"
            Debug.Assert False
            Exit Sub
        End If
        Dim index As Integer
        For index = LBound(vNames) To UBound(vNames)
            Dim debugMessage As String
            debugMessage = index & ": "
            Dim eDocType As swDocumentTypes_e
            eDocType = vDocTypes(index)
            Select Case eDocType
            Case swDocNONE
                debugMessage = debugMessage & "The document "
            Case swDocPART
                debugMessage = debugMessage & "The part "
            Case swDocASSEMBLY
               debugMessage = debugMessage & "The assembly "
            Case swDocDRAWING
                debugMessage = debugMessage & "The drawing "
            Case swDocSDM
                debugMessage = debugMessage & "The SDM "
            Case Else
               debugMessage = debugMessage & "The document of unknown type "
            End Select
          debugMessage = debugMessage & vPaths(index) & " was not loaded because it is "
            Dim bUnloadedBecauseHidden As Boolean
            bUnloadedBecauseHidden = vReasons(index)
            If bUnloadedBecauseHidden Then
                debugMessage = debugMessage & "hidden. "
            Else
                debugMessage = debugMessage & "suppressed."
            End If
            Debug.Print debugMessage
        Next
    End If
End Sub
 

 

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

Интересует)

Контора Ваша могла бы и оплатить плагин с функцией API плагина,  тогда и переименование имени и др супер штуки работали бы.. А пока изменять имя файла в сборке не  как не льзя так как ссылки в сборке на старое. да и с 2015 версии солида работать не будет формат изменен.

Ссылка на сообщение
Поделиться на других сайтах
2 minutes ago, Maik812 said:

тоже ветка есть по этому. Solidworks.wdx  и Geometrika

Что-то через поиск нашел, но там еще какой-то плагин нужен?
Можете новичку инфу в личку сбросить? Плз.

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

то-то через поиск нашел, но там еще какой-то плагин нужен?

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

Geometrika.wdx , макрос одноименный,

Ссылка на сообщение
Поделиться на других сайтах
9 minutes ago, Maik812 said:

Контора Ваша могла бы и оплатить плагин с функцией API плагина,  тогда и переименование имени и др супер штуки работали бы..

Для начала нужно и самому понять, что существуют такие штуковины. Буду разбираться с вашей инфой. Спасибки)

 

Ссылка на сообщение
Поделиться на других сайтах
2 hours ago, Maik812 said:

да и с 2015 версии солида работать не будет

В солидовское свойство Description (его ведь ТС видит?) попробуй добавлять значения. Даже в проводнике можно искать по содержимому. Добавляешь "SW-Material@File";"SW-SurfaceArea@File";"SW-Mass@File";$PRP:"Свойство 1";$PRP:"Свойство 2";$PRP:"Свойство 3";$PRP:"Свойство n".... а в проводнике показываются вычисленные значения площади, массы, и т.д., чего добавишь, в общем

изображение.png

А из тотала, наверное, можно будет копировать со всеми значениями в Ексель, а там уж преобразовать текст в столбцы, чтобы посчитать чего нужно, не открывая солидовские файлы

Разделение текста на столбцы с помощью мастера распределения текста по столбцам (microsoft.com)

изображение.png

 

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

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

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

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

Description (его ведь ТС видит?) попробуй добавлять значения.

можно было вытащить в столбец из файла модели наименование и прочие свойства через ShellDetails.wdx или shellinfo.wdx

 

SolidWorks.WDX позволет менять их и заполнять шаблоном. До 2015 версии. Покане кто АПИ не сделал.

До 2015 версии открыты все свойства по информации и по конфигурации ищется по содержжимомму в файле.

11 минут назад, SWX сказал:

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

В имя можно добавить при групповом переименовании для бибилиотек например , а так без апи только в свойство а по нему пеерименовать SW explorer.

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

Быстрый поиск по Обозначениям.gif

 

 

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

Шаблон файлов по геометрии.gif

 

Ну и многое не сделать Проводником, а если и делается то через одно место все.

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

День добрый.

Подскажите как программно получить список всех компонентов сборки?

Аналогично команде Файл-Найти ссылки-Копия списка.

 

Можно функцией GetDocumentNames интерфейса IPackAndGo

            PackAndGo swPackAndGo = swModel.Extension.GetPackAndGo();
            object objNames = null;
            bool bres = swPackAndGo.GetDocumentNames(out objNames);

 

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

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

http://help.solidworks.com/2019/english/api/sldworksapi/Change_Bend_Radius_of_Sheet_Metal_Part_Example_VB.htm

пример из справки не работает, Debug пишет что радиус поменялся, но по факту ничего не меняется SW 2021

с коэффициентом K та же петрушка.

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

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

Коллеги!

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

 

ЗЫ с предложениями типа, зачем тебе это надо? я вообще БЧ не делаю и подобными, прошу не беспокоится

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

Коллеги!

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

 

ЗЫ с предложениями типа, зачем тебе это надо? я вообще БЧ не делаю и подобными, прошу не беспокоится

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

Снимок экрана 2022-03-04 152145.png

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

Написал небольшой макрос который формирует требуемую запись.

Демонстрация: 

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

 

 

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

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

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

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

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

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

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

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

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

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

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



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