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

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


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

16.02.2023 в 09:20, Srgwell сказал:

А это что такое?

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

Удалось решить эту проблему?

У меня такое же сообщение, не изменяется плотность и масса детали, хотя материал пишет правильно.

Как вылечить эту историю??

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


2 минуты назад, OlgaKubrik сказал:

Удалось решить эту проблему?

У меня такое же сообщение, не изменяется плотность и масса детали, хотя материал пишет правильно.

Как вылечить эту историю??

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

image.png

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

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

Самое плохое, что эти галочки портят не только ту модель, где поставлены эти галочки, но и все сборки куда эта деталь будет вставлена в последствии.

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

Самое плохое, что эти галочки портят не только ту модель, где поставлены эти галочки, но и все сборки куда эта деталь будет вставлена в последствии.

Иногда нужно переопределять, к примеру если узел взвешен, но в целом согласен это также опасно как переопределение размеров на чертеже.

Наверное было бы не плохо иметь макрос который выявляет такие детали и сборки. 

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

Иногда нужно переопределять, к примеру если узел взвешен, но в целом согласен это также опасно как переопределение размеров на чертеже.

Если узел взвешен, то подгоните плотность, это будет лучше соответствовать взвешенному узлу. Заодно проверьте все входящие детали: правильно ли задан материал или плотность, нет ли ошибок в деталях при изготовлении.

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

Если узел взвешен, то подгоните плотность, это будет лучше соответствовать взвешенному узлу. Заодно проверьте все входящие детали: правильно ли задан материал или плотность, нет ли ошибок в деталях при изготовлении.

Иногда в этом нет необходимости, особенно когда это касается покупной детали, масса которой известна, а нарисована она схематически или упрощенно. Допустим если конструктор захочет дорисовать что-то более подробно, то масса такой детали измениться, а это будет не соответствовать действительности и не всегда уследишь за плотностью такой детали, поэтому мое ИМХО изменение массы вручную иногда полезно и имеет место быть.

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

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

image.png

Спасибо огромное!

Помогло!

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

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

Если узел взвешен, то подгоните плотность, это будет лучше соответствовать взвешенному узлу. Заодно проверьте все входящие детали: правильно ли задан материал или плотность, нет ли ошибок в деталях при изготовлении.

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

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

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

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

 

12 часов назад, Snake 60 сказал:

Допустим если конструктор захочет дорисовать что-то более подробно, то масса такой детали измениться, а это будет не соответствовать действительности

Нужно очень сильно изменить деталь, что бы изменения массы стали существенными.

 

12 часов назад, Snake 60 сказал:

ИМХО изменение массы вручную иногда полезно и имеет место быть.

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

 

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

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

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

Нужно очень сильно изменить деталь, что бы изменения массы стали существенными.

Например частичная модернизация оборудования, на которое нет полной документации (читай модели Солидворкс), а само оборудование обрисовывается , большей частью, контурами ....

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

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

Для плат с 10 или 1000 элементами, двух слойных или 8 слойных, цифровой или силовой электроники попасть +-10% с одной плотностью очень большая удача.

Компенсировать все возможные вариации созданием нового материала под конкретные платы очень сложный подход.

 

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

Для плат с 10 или 1000 элементами, двух слойных или 8 слойных, цифровой или силовой электроники попасть +-10% с одной плотностью очень большая удача.

Обычно высокая точность для плат не требуется. Может быть именно вам требуется большая точность.

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

 

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

 

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

Компенсировать все возможные вариации созданием нового материала под конкретные платы очень сложный подход.

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

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

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

Обычно высокая точность для плат не требуется. Может быть именно вам требуется большая точность.

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

 

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

 

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

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

У нас в приборостроении это не так, при модернизации плат без контроля массы или с контролем по условной плотности масса изделия значительно уходит от значений указанных по ТУ. Особенно явно это проявляется если имеется 100+ исполнений. Центр тяжести нас не волнует совсем.

 

Трудозатраты по предложенному вами методу не окупятся никогда.

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

Нужно очень сильно изменить деталь, что бы изменения массы стали существенными.

Не согласен, коллега. :) Допустим есть покупная сборочная единица, которая состоит из кучи деталей из разных материалов (ЭД, насосы и т.п.), но и в которой есть пустоты (корпус + начинка), а мы его рисуем сплошным твердым телом. У многих материал по умолчанию в шаблоне стоит сталь, и как следствие масса модели и реального изделия могут отличаться раза в 2, а то и более (из личного опыта), поэтому проще прибегнуть к изменению массы на паспортную и не парится отслеживая плотность при изменении модели. Прошу прощения, что повторяюсь, опять же скажу, что это мое личное мнение, никому не навязываю, просто делюсь для комьюнити )

7 часов назад, Kelny сказал:

а найти такой файл будет проблемой, т.к. он не посвечивается.

Таки SolidWorks API нам в помощь, Вы же не последний человек в этой теме ;)

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

А может кто-то отредактировать макрос сохранения чертежа в PNG?

Нужно чтобы второй и последующие листы при сохранении их в PNG имели имена отличные от имени первого листа. Иначе они заменяют друг друга.

Макрос нашел в интернете.Slddrw to PNG.swp

 

Sub main()

Dim swApp                     As SldWorks.SldWorks

Dim swModel                   As SldWorks.ModelDoc2

Dim swSheet                   As SldWorks.Sheet

Dim vSheetNameArr, vSheetName As Variant

Dim bRet                      As Boolean

Dim lErrors                   As Long

Dim lWarnings                 As Long

Dim fileName                  As String

Dim strOriginallyActiveSheet  As String

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

' Is document active?

If swModel Is Nothing Then

    swApp.SendMsgToUser2 "A Drawing document must be active.", swMbWarning, swMbOk

    Exit Sub

End If

' Is it a Drawing document?

If swModel.GetType <> swDocDRAWING Then

    swApp.SendMsgToUser2 "A Drawing document must be active.", swMbWarning, swMbOk

    Exit Sub

End If

If swModel.GetTitle = "" Then

    swApp.SendMsgToUser2 "Save the Drawing first", swMbWarning, swMbOk

    Exit Sub

End If

fileName = Mid(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") + 1)

fileName = Left(fileName, InStrRev(fileName, ".") - 1)

'Change/Set DPI Settings and Paper Size here

swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swTiffPrintDPI, 300

swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swTiffPrintPaperSize, swDwgPaperSizes_e.swDwgPaperA4size

Set swSheet = swModel.GetCurrentSheet

strOriginallyActiveSheet = swSheet.GetName

vSheetNameArr = swModel.GetSheetNames

For Each vSheetName In vSheetNameArr

bRet = swModel.ActivateSheet(vSheetName): Debug.Assert bRet

swModel.ViewZoomtofit2

swModel.Extension.SaveAs fileName + ".PNG", swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nothing, lErrors, lWarnings

Next vSheetName

swModel.ActivateSheet (strOriginallyActiveSheet)

End Sub

 

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

@nahaus Мой вариант:

Option Explicit

Dim swApp                     As SldWorks.SldWorks
Dim swModel                   As SldWorks.ModelDoc2
Dim swSheet                   As SldWorks.Sheet
Dim vSheetNameArr, vSheetName As Variant

Dim bRet                      As Boolean
Dim lErrors                   As Long
Dim lWarnings                 As Long
Dim fileName                  As String

Dim strOriginallyActiveSheet  As String

Sub main()

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc

' Проверяем открыто ли что-либо?
If swModel Is Nothing Then
    swApp.SendMsgToUser2 "Нет ни одного открытого докумета! Пожалуйста, откройте ЧЕРТЕЖ!", swMbWarning, swMbOk
    Exit Sub
End If

' Проверяем открыт ли ЧЕРТЕЖ?

If swModel.GetType <> swDocDRAWING Then
    swApp.SendMsgToUser2 "Макрос работает только с чертежами! Пожалуйста, откройте ЧЕРТЕЖ!", swMbWarning, swMbOk
    Exit Sub
End If

' Проверяем сохранен ли чертеж?
If swModel.GetTitle = "" Then
    swApp.SendMsgToUser2 "Пожалуйста, сперва сохраните ЧЕРТЕЖ!", swMbWarning, swMbOk
    Exit Sub
End If

fileName = Mid(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") + 1)

fileName = Left(fileName, InStrRev(fileName, ".") - 1)

' Здесь изменяем/устанавливаем настройки разрешения картинки (DPI) и размер листа

swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swTiffPrintDPI, 300
swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swTiffPrintPaperSize, swDwgPaperSizes_e.swDwgPaperA4size

Set swSheet = swModel.GetCurrentSheet

strOriginallyActiveSheet = swSheet.GetName

vSheetNameArr = swModel.GetSheetNames

For Each vSheetName In vSheetNameArr

    bRet = swModel.ActivateSheet(vSheetName): Debug.Assert bRet
    swModel.ViewZoomtofit2
    swModel.Extension.SaveAs fileName + " - " + vSheetName + ".PNG", swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nothing, lErrors, lWarnings

Next vSheetName

swModel.ActivateSheet (strOriginallyActiveSheet)

End Sub

 

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

Столкнулся с одной проблемкой, может кто и подскажет...
Стоят две версии SW (21 и 23). Макрос не хочет запускаться в 21. Трассировкой выяснил, что не работает основная функция "Set Part = swApp.ActiveDoc" ничего в переменную не передает. В 23 версии все работает.  нужные библиотеки подключены из SW21

 

Part Nothing.jpg

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

@Rich Попробуйте заменить CreateObject("SldWorks.Application") на  Application.SldWorks

Так же замените Dim swApp As Object на Dim swApp As SldWorks.SldWorks

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

Спасибо, дружище, заработало. До момента установки 23 версии как второй и не знал о таком трабле, все старые вещи работали как часы, ну изредка менял библиотеку.

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • RokiSIA
      Вот и попались, пусть теперь они уже отбрехиваются
    • davidovka
      Выкладывайте свои, посмотри что не работает.
    • Anat2015
      А что, бывает по другому, программисты и операторы сразу сознаются?
    • fenics555
      так пока кто-то пользуется кнопкой "сделайкрасиво" он набивает номенклатуру, библиотеку изделий, с уже неправильно указанными параметрами. И вдальнейшем другим конструкторам пользоваться штатными средствами никак не получится, кроме как открыть КАЖДЫЙ файл, добавить нужные парметры (тут можно импортом из шаблона)  и лапками подправить. КАЖДЫЙ! И сборки. Все. Еще с булками разобраться. Иначе без этой DLLки выводиться будет ерунда. ДАЖЕ СРАНЫЙ ЧЕРТЕЖ ОБЫЧНОЙ ДЕТАЛИ! И никто другой даже не додумается, в чем же дело. Ну вот возьмет он (Конструктор с кнопочкой умной) и уволится от неразделенной любви, или по дороге на работу разобьется. Ну фактор человеческий. Бывает. Он работал, получал ЗП за то, что делал "вроде правильно", но любой другой придет- и не сможет сразбегу "в красоту"! И Бос такой, затягивая сигару: "Эх, салага, вот Стас был- да! ..." Ну там, слеза скупая, всё такое. И не объяснить, что он х8йню делал. Поэтому я стараюсь работу работать так, чтоб после меня "Фен -просто красавчик" сказал тот, кто будет после.
    • M_u_x_a
      Уважаемые Господа @fenics555 и @-stas- ! Каждый из вас по-своему прав. Пользоваться или нет дополнительными приложениями при возможности реализации штатными средствами - это выбор каждого инженера. Тут влияет ещё и специфика работы, взаимодействие с другими инженерами и тд. Лично я, пожалуй, вижу в конкретно этом инструменте скорее положительное, нежели бесполезное. В списке дополнительных приложений запущено и работает. Дело в том, что тот релиз, на который я жаловался, был под Creo 1. С этим мне помог уважаемый @davidovka , за что мой ему поклон. Однако, желаемого результата достичь не удалось, несмотря на правку графы таблицы согласно инструкции-мануалу. Теперь там просто пусто, не заполняет. Прошу кинуть в мою сторону шаблон детали и форматку с которыми оно точно работает. Успехов всем в делах и делишках.
    • Сергей Кочев
      При разборе полётов, все утверждали, что программа отлажена и её ни кто не менял и сделали по ней две детали. Ну вот зашёл в свойства файла программы и увидел, что программу редактировали именно в день аварии. Сздана 11.10 Изменена 30.10. Был в отпуске хотел посмотреть Action Log к сожалению уже данные перезаписались.
    • Даниил_91
      спасибо, просто по поиску не нашел конкретной темы кстати надо попробовать, об этом даже не подумал, спасибо
    • Onizuka
      Удалите параметр DRAWN_BY и создайте снова. Список должен обновиться после этого
    • semsv
      Вам с этим вопросом сюда: https://cccp3d.ru/forum/28-creo/
    • fenics555
      именно так и должно быть. И работать будет штатно точь в точь как внёс, а не как кому-то взбрело перенести/ разбить. так в чем проблема настроить шаблоны один раз правильно и потом всю жизнь пользоваться? ну так может оно тогда и не нужно так создавать? Есть особенность КАД, ну так и объясните её и примите тот формат документа, который делается штатными средствами. Если это прям проблема, что будет выводиться вначале и потом. в таблице выводится ровно так, как Вы укажите. Какой первый параметр, какой второй. И сортировку каждой области данных можно настроить отдельно. Штатно. а зачем она универсальная? Если она нужна для "примечание_для_детали", так и назовите и так и выводите, нужно для "примечание_для_исполнений" - так и пишите. Нужно для "для компонента" - сделайте и его! И вписывайте что нужно туда, куда нужно. Всё же просто как валенки.   А то придумают какой-то универсаный параметр, а что же не универсальный размер, который может и в диаметр, и в прямолинейный, и в периметр  и в угол ... ?!
×
×
  • Создать...