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

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


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

Продублирую сообщение из другой темы, тк вроде здесь выкладываются все макросы.

 

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

Белый цвет при печати "не печатается".

 

Например (только здесь белый цвет показан зеленым, чтоб на всех фонах было видно =) ):

А4 | - | АБВГ.123456.789       |

А4 | - | АБВГ.123456.789-01  |

А4 | - | АБВГ.123456.789-02  |

 

Если у вас нет листа с названием "SP1", то просто закоментите строчку:

swDraw.ActivateSheet ("SP1")

 

Если нужно "красить" только основную часть, то закоментите две строчки в двух местах:

swTable.Text(intRow, 0) = "<FONT color=0x00ffffff>" & m0 & "<FONT color=0x00000000>"
swTable.Text(intRow, 1) = "<FONT color=0x00ffffff>" & m1 & "<FONT color=0x00000000>"

 

RecolorConfiguration.zip

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


10 часов назад, Docuk1 сказал:

Продублирую сообщение из другой темы, тк вроде здесь выкладываются все макросы.

 

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

Белый цвет при печати "не печатается".

 

Например (только здесь белый цвет показан зеленым, чтоб на всех фонах было видно =) ):

А4 | - | АБВГ.123456.789       |

А4 | - | АБВГ.123456.789-01  |

А4 | - | АБВГ.123456.789-02  |

 

Если у вас нет листа с названием "SP1", то просто закоментите строчку:

swDraw.ActivateSheet ("SP1")

 

Если нужно "красить" только основную часть, то закоментите две строчки в двух местах:

swTable.Text(intRow, 0) = "<FONT color=0x00ffffff>" & m0 & "<FONT color=0x00000000>"
swTable.Text(intRow, 1) = "<FONT color=0x00ffffff>" & m1 & "<FONT color=0x00000000>"

 

RecolorConfiguration.zip 9 \u041a\u0431 · 2 скачивания

А зачем это нужно? 

Если так в госте написано - тогда подумайте: почему? 

Я думаю что это сделано чтобы меньше было ручного труда. У вас же автомат. Что вам экономить? Тонер в принтере? 

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

А зачем это нужно? 

Если так в госте написано - тогда подумайте: почему? 

Я думаю что это сделано чтобы меньше было ручного труда. У вас же автомат. Что вам экономить? Тонер в принтере? 

Почему, это давно всем известно.

Если есть вопросы по ЕСКД, лучше задавать их в соответствующей теме, придерживаясь элементарных правил форума.

Чтоб не захламлять тему.

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

Пришел к нам новый сотрудник, осваивает солид и вдруг спрашивает, а как раскрасить детали в сборке в рандомные цвета! 

А в самом деле как, есть ли такая функция?

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

Пришел к нам новый сотрудник, осваивает солид и вдруг спрашивает, а как раскрасить детали в сборке в рандомные цвета! 

А в самом деле как, есть ли такая функция?

не уверен. 

но думаю написать программу- не сложно

только зачем?

 

Думаю алгоритм такой:

получить дерево

выбрать из него только детали

сгенерировать количество цветов

присвоить к деталям цвета в массиве

пройти дерево сравнивая его с массивом

использовать какой нибудь метод addcolourinpart добавить сгенерированные цвета

 

 

6 часов назад, brigval сказал:

Почему, это давно всем известно.

Если есть вопросы по ЕСКД, лучше задавать их в соответствующей теме, придерживаясь элементарных правил форума.

Чтоб не захламлять тему.

нет, вопросов по ескд у меня нет.

я просто показываю товарищу иную точку зрения на вопрос.

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

 

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

Вы спрашиваете:

17 часов назад, Sturmann сказал:

А зачем это нужно?

 

А потом отвечаете, что

 

23 минуты назад, Sturmann сказал:

вопросов по ескд у меня нет.

 

В погоне за иными точками зрения Вы сами себе можете начать противоречить.

Будьте внимательны! )

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

... а как раскрасить детали в сборке в рандомные цвета! 

А в самом деле как, есть ли такая функция?

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

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

осваивает солид и вдруг спрашивает, а как раскрасить детали в сборке в рандомные цвета! 

А в самом деле как, есть ли такая функция?

В меню Инструменты-Вычислить-Визуализация сборки. Можно щёлкнуть цветовую шкалу, чтобы включить/отключить раскраску.

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

Краткое описание инструмента Визуализация сборки - 2012 - Справка по SOLIDWORKS

...

3 hours ago, Sturmann said:

не уверен. но думаю написать программу- не сложно

Ну так напиши, раз несложно, принеси пользу людям :)

Уровень скилла в солиде у тебя не очень, судя по твоим ответам и советам, но мож реально - ты очень мощный программер :)

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

Пришел к нам новый сотрудник, осваивает солид и вдруг спрашивает, а как раскрасить детали в сборке в рандомные цвета! 

А в самом деле как, есть ли такая функция?

Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swElement As Object
Dim vElementArr As Variant
Dim vElement As Variant
Dim vMatProp As Variant
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
vMatProp = swModel.MaterialPropertyValues
'Get all elements
If swModel.GetType = swDocPART Then
vElementArr = swModel.GetBodies2(swAllBodies, False)
For Each vElement In vElementArr
Set swElement = vElement
Randomize
vMatProp(0) = Rnd 'Red
vMatProp(1) = Rnd 'Green
vMatProp(2) = Rnd 'Blue
vMatProp(3) = Rnd / 2 + 0.5 'Ambient
vMatProp(4) = Rnd / 2 + 0.5 'Diffuse
vMatProp(5) = Rnd 'Specular
vMatProp(6) = Rnd * 0.9 + 0.1 'Shininess
swElement.MaterialPropertyValues2 = vMatProp
Next
ElseIf swModel.GetType = swDocASSEMBLY Then
vElementArr = swModel.GetComponents(False)
For Each vElement In vElementArr
Set swElement = vElement
Randomize
vMatProp(0) = Rnd 'Red
vMatProp(1) = Rnd 'Green
vMatProp(2) = Rnd 'Blue
vMatProp(3) = Rnd / 2 + 0.5 'Ambient
vMatProp(4) = Rnd / 2 + 0.5 'Diffuse
vMatProp(5) = Rnd 'Specular
vMatProp(6) = Rnd * 0.9 + 0.1 'Shininess
swElement.MaterialPropertyValues = vMatProp
Next
ElseIf swModel.GetType = swDocDRAWING Then
MsgBox ("You can only apply random colors to part bodies or assembly components.")
Exit Sub
End If
'Redraw to see new color
swModel.GraphicsRedraw2
End Sub

Нашел вот здесь.

Из минусов: красит детали тулбокса и не понимает конфигурации, то есть деталь и все ее конфигурации будут одинаковым цветом.

Тестил в SW 2022 - работает.

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

В меню Инструменты-Вычислить-Визуализация сборки. Можно щёлкнуть цветовую шкалу, чтобы включить/отключить раскраску.

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

Краткое описание инструмента Визуализация сборки - 2012 - Справка по SOLIDWORKS

...

Ну так напиши, раз несложно, принеси пользу людям :)

Уровень скилла в солиде у тебя не очень, судя по твоим ответам и советам, но мож реально - ты очень мощный программер :)

визуализация сборки - это не то

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

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

Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swElement As Object
Dim vElementArr As Variant
Dim vElement As Variant
Dim vMatProp As Variant
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
vMatProp = swModel.MaterialPropertyValues
'Get all elements
If swModel.GetType = swDocPART Then
vElementArr = swModel.GetBodies2(swAllBodies, False)
For Each vElement In vElementArr
Set swElement = vElement
Randomize
vMatProp(0) = Rnd 'Red
vMatProp(1) = Rnd 'Green
vMatProp(2) = Rnd 'Blue
vMatProp(3) = Rnd / 2 + 0.5 'Ambient
vMatProp(4) = Rnd / 2 + 0.5 'Diffuse
vMatProp(5) = Rnd 'Specular
vMatProp(6) = Rnd * 0.9 + 0.1 'Shininess
swElement.MaterialPropertyValues2 = vMatProp
Next
ElseIf swModel.GetType = swDocASSEMBLY Then
vElementArr = swModel.GetComponents(False)
For Each vElement In vElementArr
Set swElement = vElement
Randomize
vMatProp(0) = Rnd 'Red
vMatProp(1) = Rnd 'Green
vMatProp(2) = Rnd 'Blue
vMatProp(3) = Rnd / 2 + 0.5 'Ambient
vMatProp(4) = Rnd / 2 + 0.5 'Diffuse
vMatProp(5) = Rnd 'Specular
vMatProp(6) = Rnd * 0.9 + 0.1 'Shininess
swElement.MaterialPropertyValues = vMatProp
Next
ElseIf swModel.GetType = swDocDRAWING Then
MsgBox ("You can only apply random colors to part bodies or assembly components.")
Exit Sub
End If
'Redraw to see new color
swModel.GraphicsRedraw2
End Sub

Нашел вот здесь.

Из минусов: красит детали тулбокса и не понимает конфигурации, то есть деталь и все ее конфигурации будут одинаковым цветом.

Тестил в SW 2022 - работает.

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

 

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

ElseIf swModel.GetType = swDocASSEMBLY Then vElementArr = swModel.GetComponents(False) For Each vElement In vElementArr Set swElement = vElement

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

6 часов назад, SWX сказал:

Уровень скилла в солиде у тебя не очень, судя по твоим ответам и советам, но мож реально - ты очень мощный программер :)

интересно как вы это так определили? Вашим обычным методом- "методом научного тыка"?

по моему скилл "построение модели" и скилл "написание программ под построение модели" очень сильно связаны. Я бы даже сказал напрямую.

Если не знать как строить модель руками то как можно писать программу которая будет это делать автоматически? Ждем вашего пояснения.

 

 

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

Уровень скилла в солиде у тебя не очень, судя по твоим ответам и советам, но мож реально - ты очень мощный программер :)

интересно как вы это так определили? Вашим обычным методом- "методом научного тыка"?

Ну да, я потыкал сообщения от ника @Sturmann, а в этом сообщении так и ещё одно подтверждение моих слов

9 hours ago, Sturmann said:

визуализация сборки - это не то

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

 

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

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

 

Чтобы назначить другой цвет компоентам - ПКМ по слайдеру

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

 

@Sturmann без обид, если по теме сказать нечего, пройди лучше молча мимо

On 2/5/2022 at 3:19 AM, brigval said:

Чтоб не захламлять тему

 

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

Ну да, я потыкал сообщения от ника @Sturmann, а в этом сообщении так и ещё одно подтверждение моих слов

 

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

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

 

Чтобы назначить другой цвет компоентам - ПКМ по слайдеру

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

 

@Sturmann без обид, если по теме сказать нечего, пройди лучше молча мимо

 

прекрасно, но вашу половинчатые решения мне не помогут.

даже если добавляется новое состояние отображения то только для этой сборки. для компонентов нет ничего))))

смотрите в корень проблемы.

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

Программа раскраски сборки или многотельной детали. Без привязки к версии Solidworks (работает с любой версией, начиная с 2006).

http://www.streamdivision.com/raskraska-sborki/

Не могу скачать данный макрос. Спасибо БОЛЬШОЕ за помощь!

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

Не могу скачать данный макрос. Спасибо БОЛЬШОЕ за помощь!

Надо денежку за сайт занести. 

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

Сайт автора переехал на домен RU Только там нет этого макроса

Ссылка на сообщение
Поделиться на других сайтах
On 2/5/2022 at 1:21 PM, Snake 60 said:

Нашел вот здесь.

Из минусов: красит детали тулбокса и не понимает конфигурации, то есть деталь и все ее конфигурации будут одинаковым цветом

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

Spoiler

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swElement As Object
Dim vElementArr As Variant
Dim vElement As Variant
Dim vMatProp As Variant
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swConfigMgr As SldWorks.ConfigurationManager
Dim swConfig As SldWorks.Configuration
Dim status As Boolean
Dim dpName As String

Sub main()
    dpName = Date & "/" & Time
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swConfigMgr = swModel.ConfigurationManager
swConfigMgr.LinkDisplayStatesToConfigurations = True
vMatProp = swModel.MaterialPropertyValues

If swModel.GetType <> swDocASSEMBLY Then
MsgBox ("You can only apply random colors to assembly components.")
Exit Sub
End If
    swModelDocExt.LinkedDisplayState = True
    Set swConfig = swModel.GetActiveConfiguration
    status = swConfig.CreateDisplayState(dpName)
vElementArr = swModel.GetComponents(False)
For Each vElement In vElementArr
Set swElement = vElement
Randomize

vMatProp(0) = Rnd 'Red
vMatProp(1) = Rnd 'Green
vMatProp(2) = Rnd 'Blue
vMatProp(3) = Rnd / 2 + 0.5 'Ambient
vMatProp(4) = Rnd / 2 + 0.5 'Diffuse
vMatProp(5) = Rnd 'Specular
vMatProp(6) = Rnd * 0.9 + 0.1 'Shininess
swElement.MaterialPropertyValues = vMatProp
Next
swModel.ForceRebuild3 True
End Sub

 

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

Макрос прикольный, но уровень детали лучше не трогать - мало ли в какой ещё сборке эта деталь всплывёт в радужной раскраске

Он же и так не красит на уровне деталей. Красит только на уровне сборки, что хорошо, можно легко удалить потом. А плохо что одинаковые по обозначению детали красит в разные цвета, по логике хотелось бы чтоб одинаковые детали (файлы) были одного цвета. Сможете сие реализовать?))

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

уровень детали лучше не трогать - мало ли в какой ещё сборке эта деталь всплывёт в радужной раскраске

Он же и так не красит на уровне деталей. Красит только на уровне сборки, что хорошо

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

13 minutes ago, DuS said:

плохо что одинаковые по обозначению детали красит в разные цвета, по логике хотелось бы чтоб одинаковые детали (файлы) были одного цвета. Сможете сие реализовать?

В визуализации сборки ПКМ по цветовой шкале - Группировать идентичные и потом создать состояние отображения, как выше показывал

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

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

В визуализации сборки ПКМ по цветовой шкале - Группировать идентичные и потом создать состояние отображения, как выше показывал

В принципе тоже удобно.

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

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

В визуализации сборки ПКМ по цветовой шкале - Группировать идентичные и потом создать состояние отображения, как выше показывал

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

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

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...