Jump to content

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


Recommended Posts

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

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

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

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

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

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

Link to post
Share on other sites


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

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

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

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

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

image.png

Link to post
Share on other sites
Kelny
1 час назад, Nikollay сказал:

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

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

Link to post
Share on other sites
Nikollay
1 час назад, Kelny сказал:

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

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

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

Edited by Nikollay
Link to post
Share on other sites
Kelny
11 часов назад, Nikollay сказал:

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

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

Link to post
Share on other sites
Snake 60
1 час назад, Kelny сказал:

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

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

  • Нравится 2
Link to post
Share on other sites
OlgaKubrik
02.07.2024 в 10:11, Nikollay сказал:

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

image.png

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

Помогло!

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

Link to post
Share on other sites
Nikollay
11 часов назад, Kelny сказал:

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

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

Link to post
Share on other sites
Kelny
2 часа назад, Nikollay сказал:

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

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

 

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

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

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

 

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

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

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

 

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

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

Link to post
Share on other sites
nicomed
Только что, Kelny сказал:

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

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

Link to post
Share on other sites
Nikollay
18 минут назад, Kelny сказал:

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

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

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

 

Link to post
Share on other sites
Kelny
1 час назад, Nikollay сказал:

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

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

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

 

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

 

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

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

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

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

Link to post
Share on other sites
Nikollay
1 час назад, Kelny сказал:

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

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

 

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

 

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

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

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

 

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

Link to post
Share on other sites
Snake 60
7 часов назад, Kelny сказал:

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

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

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

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

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

Link to post
Share on other sites
nahaus

А может кто-то отредактировать макрос сохранения чертежа в 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

 

Edited by nahaus
Link to post
Share on other sites
Snake 60

@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

 

  • Нравится 1
Link to post
Share on other sites
Rich

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

 

Part Nothing.jpg

Link to post
Share on other sites
Snake 60

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

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

Edited by Snake 60
  • Нравится 2
Link to post
Share on other sites
Rich

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Guhl
      Что значит в состоянии разгона? То есть в разнос уходит? Вот когда один ключ не работает, то будет ситуация, что мотор не может достичь заданной скорости и растет нагрузка
    • Guhl
      Я открывал его, выглядит судя по фоткам в инете как оригинал. Микросхемы, плата Чтобы образ снять и пароль вытянуть
    • gudstartup
      Ключи здесь ни причем просто усилитель находится в режиме постоянного разгона до заданной скорости а достичь ее е может   отсюда и нагрузка в 150%
    • gudstartup
      А для чего он нужен например в 828D? цена оригинала выше в 10 раз а у нас не было случаев чтобы  не подключился просто у оригиналов скорость обмена может быть более 1.5 МБит и если связь в контроллере настроена на более высокую скорость то может и не соединиться  тоже игрушка для толстосумов да и зачем она если можно в проц. воткнуть и прочитать?
    • Maker79
      Мне будет очень интересно!
    • maxx2000
      @Maker79 именно так. Не нравится делать всю работу за программу, обрабатывай 3D модель. Есть другие хорошие CAM которые умеют накладывать плоский шаблон на любую криволинейную поверхность 
    • Maker79
      Следуя этому смыслу нужно создать шаблон учитывая диаметр фрезы и смещение, то-есть сделать всю работу за программу и положить ей в рот чтобы она прожевала? 
    • Viktor2004
      Щас как-то нет времени вникать в эту тему. Может тут проблема как у меня когда-то была?   вот еще    
    • Guhl
      Ну меня настрощали, что не всегда удается подключиться. Может конечно это и неправда, но с оригиналом всегда спокойнее. ММС читаются обычным внешним программатором  А вот для MC карт (или как там они называются) есть сименсовский ридер  
    • boomeeeer
      я китайским за 3к без проблем цепляюсь к этой ЧПУхе
×
×
  • Create New...