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

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


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

22 часа назад, Alex1986 сказал:

а откуда Вы этот стек знаете?

Какие еще есть?

Может опубликуете весь список?

Справка животворящая:

http://help.solidworks.com/2010/russian/solidworks/sldworks/legacyhelp/sldworks/detailing/hidd_richtool_stack.htm

http://help.solidworks.com/2010/russian/solidworks/sldworks/legacyhelp/sldworks/detailing/hidd_note_edit_text.htm

Ну и смекалка.

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


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

это только по заметке ориентироваться?

не очень информативно...

Достаточно, что бы получить больше чем ничего: http://cccp3d.ru/topic/10358-скрытые-возможности-sw/?do=findComment&comment=827867

 

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

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

Да, спасибо, закрутился и не проверил.

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

Практика показывает, что после того как скачали с оф.сайта лучше хранить софт у себя

Kelny, согласен, так и делаю. Просто не хотелось сторонний софт постить. А давать ссылку на левые ресурсы тоже как-то неправильно. кто знает, чего они туда поднапихать могли.

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

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

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

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

Благодарю Вас! Интересно.

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

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

 

или другой вариант: выделил всё нужное и вызвал макрос он посчитал. Незнаю функции присваивания при выборе детали. Может подскажете куда копать (возможно докопаюсь через год )) ) .SelectID наверно надо использовать, функцию Get, но что ею получать, и окошко как сделать, чтобы оно фокус на себя не забирало.

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

Option Explicit
Dim swApp As Object
Dim Part As Object
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSelMgr As SldWorks.SelectionMgr
Dim errors As Long
Dim warnings As Long
Dim selCount As Integer

Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swModelDocExt = swModel.Extension
    Set swSelMgr = swModel.SelectionManager
    ' Вызов подпрограммы подсчёта
    QuantitySelectedParts
    
End Sub

Sub QuantitySelectedParts()

    selCount = 0
    
    swModelDocExt.SelectAll
    
    
    selCount = swSelMgr.GetSelectedObjectCount2(-1)
    
    
    Select Case swModel.GetType
    Case swDocASSEMBLY
        MsgBox "Количество выбранных деталей = " & selCount
    Case Else
        MsgBox "Это не сборка"
    End Select
    
End Sub

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

или другой вариант: выделил всё нужное и вызвал макрос он посчитал.

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

Option Explicit
 Dim swApp As Object
 Dim Part As Object
 Dim swModel As SldWorks.ModelDoc2
 Dim swModelDocExt As SldWorks.ModelDocExtension
 Dim swSelMgr As SldWorks.SelectionMgr
 Dim errors As Long
 Dim warnings As Long
 Dim selCount As Integer
 Dim swComp As SldWorks.Component2
Sub main()
     Set swApp = Application.SldWorks
     Set swModel = swApp.ActiveDoc
     Set swModelDocExt = swModel.Extension
     Set swSelMgr = swModel.SelectionManager
     ' Вызов подпрограммы подсчёта
    QuantitySelectedParts
End Sub
Sub QuantitySelectedParts()
    selCount = 0
'     swModelDocExt.SelectAll
    Set swComp = swSelMgr.GetSelectedObject6(1, -1)
    selCount = swSelMgr.GetSelectedObjectCount2(-1)
    Select Case swModel.GetType
    Case swDocASSEMBLY
        MsgBox "Количество выбранных деталей = " & selCount
    Case Else
         MsgBox "Это не сборка"
     End Select
 End Sub

 

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

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

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

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

попробуйте, делал для себя под sw2017

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

ComponentInfo.zip

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

когда "приклеиваю" к размеру отклонение формы, то получаю вот это:

s7OY9Q.jpg

 

а нужно вот это:

XmFWd2.jpg

 

кто нить знает как бороть такой недуг солида?

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

Благодарю Вас, @alek77 !! Клёво! 

Она реализует функцию "выделить идентичные компоненты" + выдачей их количества. Хорошо!

Внутренности ещё не смотрел, но, уверен, для себя найду полезное на будущее.

:5a33a3678bcb9_3DSmiles(25):

 

 

------------------------------------------------

 

@fox1001, может применить "группировать"?  правда хорошо совместить линии придётся, чтоб без ступенек.

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

может применить "группировать"?

пока ничего другого не нашел. но это ведь костылик. очень похоже на глюк солида. 

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


Option Explicit
 Dim swApp As Object
 Dim Part As Object
 Dim swModel As SldWorks.ModelDoc2
 Dim swModelDocExt As SldWorks.ModelDocExtension
 Dim swSelMgr As SldWorks.SelectionMgr
 Dim errors As Long
 Dim warnings As Long
 Dim selCount As Integer
 Dim swComp As SldWorks.Component2
Sub main()
     Set swApp = Application.SldWorks
     Set swModel = swApp.ActiveDoc
     Set swModelDocExt = swModel.Extension
     Set swSelMgr = swModel.SelectionManager
     ' Вызов подпрограммы подсчёта
    QuantitySelectedParts
End Sub
Sub QuantitySelectedParts()
    selCount = 0
'     swModelDocExt.SelectAll
    Set swComp = swSelMgr.GetSelectedObject6(1, -1)
    selCount = swSelMgr.GetSelectedObjectCount2(-1)
    Select Case swModel.GetType
    Case swDocASSEMBLY
        MsgBox "Количество выбранных деталей = " & selCount
    Case Else
         MsgBox "Это не сборка"
     End Select
 End Sub

 

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

Можно немножко по другому: В сборке Вставка -> Примечание -> Позиция В свойствах позиции выпадающий список Текст позиции: Количество. Далее ткнуть на нужную деталь, только смотрите, что бы не стояло скрытие примечаний, иначе ничего не увидите :)

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

"Новичок"..

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

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

По поводу подсчёта количества выделенных деталей 

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

попробуйте, делал для себя под sw2017

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

ComponentInfo.zip

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

 

---------------------------------

в дополнение к нему мне мне подсобил  Artem Taturevych с сайта https://forum.solidworks.com/message/837766 , где мне пришлось зарегится под очередным псевдонимом ))

дополнил его макрос иконкой. Публикую с его личного разрешения.

CountSelectedComponents.swp.zip

Описание: 

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

 

---------------------------------

буду пользоваться и тем и другим )) 

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

зачем в двух темах спросил??

поторопился. не обратил внимания в какой теме сижу. ну а после кнопки "отправить ответ" уже поздно пить баржом. запостил и запостил. машу каслом не испортишь.

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

Аура у него странная в последние дни.

ага. я тоже заметил

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

PnWtZF.jpg

 

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

ну а после кнопки "отправить ответ" уже поздно пить баржом. запостил и запостил

 

Можно нажать изменить и стереть текст.. Пока 15 минут не прошло..

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

@Leon , спасибо за обновленный SaveAsPDF. Все отлично, но как всегда есть ложка дёгтя :sad: При сохранении сборок СП сохраняется в той же ориентации листа, что и чертеж. Следовательно, если чертеж на альбомном А3, то и СП сохраняется на альбомных А4. Можно как то это побороть? Или это причуды самого PDFCreator'a?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Anat2015
      Какой станок, какое ЧПУ, какой магазин, и т.д. и т.п.? Задаете вопросы, как будто здесь все экстрасенсы.
    • Fedor
      верхняя линия это если не учитываем давления воздуха, а нижняя если учитываем.  То есть если не учитываем то считаем грунт более прочным чем на самом деле ...  
    • maxx2000
      @asd выводит нормально, с постпроцессором что-то  
    • Orchestra2603
      Это уже больше похоже на конструктивный разговор.   Я это понимаю. Мой тезис заключается в том, что когда мы ищем собственные вектора, мы вообще не решение ищем. Ну, не совсем решение, если хотите. В терминах СЛАУ можно сказать, что мы ищем базисные вектора фундаментальной системы решений. Нам не нужно что-то фиксировать и вводить какие-то точки отсчета. Нам нужно установить все пространство возможных решений однородной системы целиком, и потом из него просто выделить некоторый базис. Это не то же самое, что найти решение СЛАУ.   Про факторизацию... В моем понимании факторизация (в частоности, матрицы) - это разложение на множители (здесь на матричные множители), так чтобы получились какие-то другие матрицы, которые обладают какими-то выгодными свойствами (разложение Холецкого для положительно определенных матриц, LU, QR, QZ, сингулярное разложение и т.д.) В моем понимании это обычно нужно для повышении эффективности последующих операций, ускорения работы алгоритмов, для лучшей сходимости итерационных методов, где-то для эффективной параллелизации и т.д. Ничего не слышал раньше о ситуациях, когда факторизация жизненно необходима, и без нее задача не решается. Как я это вижу, существует много различных способов факторизации матрицы. Я просто не могу понять про какую конкретно факторизацию вы говорите и не могу понять, как она должна помочь, и почему ее невозможно сделать для вырожденной матрицы? Я бы, честно говорю, хотел разобраться в этом. Возможно, я что-то вообще неправильно понимаю.
    • asd
      Надеюсь, это то, что вы имели в виду.   TOOL PATH/THREAD_MILLING_1_COPY,TOOL,STD_DRILL TLDATA/TCUTTER,10.0000,0.0000,0.0000,80.0000,10.0000,8.0000 MSYS/0.0000,0.0000,0.0000,1.0000000,0.0000000,0.0000000,0.0000000,1.0000000,0.0000000 $$ centerline data PAINT/PATH PAINT/FEED PAINT/SPEED,10 PAINT/COLOR,186 FROM/0.0000,0.0000,50.0000,0.0000000,0.0000000,1.0000000 LOAD/TOOL,1 RAPID GOTO/0.0000,0.0000,3.0000 PAINT/COLOR,181 FEDRAT/MMPM,500.0000 GOTO/0.0000,0.0000,-33.0211 PAINT/COLOR,6 FEDRAT/250.0000 GOTO/21.6792,-1.2470,-33.0211 CIRCLE/21.7509,0.0000,-33.0000,0.0000000,0.0000000,-1.0000000,1.2491,0.0100,0.5000,10.0000,0.0000 GOTO/23.0000,0.0000,-33.0000 PAINT/COLOR,31 CIRCLE/0.0000,0.0000,-4.5000,0.0000000,0.0000000,-1.0000000,23.0000,0.0100,0.5000,10.0000,0.0000,TIMES,19 GOTO/23.0000,0.0000,-4.5000 PAINT/COLOR,1 CIRCLE/21.7509,0.0000,-4.4789,0.0000000,0.0000000,-1.0000000,1.2491,0.0100,0.5000,10.0000,0.0000 GOTO/21.6792,1.2470,-4.4789 GOTO/0.0000,0.0000,-4.4789 PAINT/COLOR,103 RAPID GOTO/0.0000,0.0000,50.0000 PAINT/FEED,NOMORE PAINT/SPEED,10 PAINT/TOOL,NOMORE END-OF-PATH  
    • gudstartup
      @Aiche если у вас осталасть на столе привязанная деталь  то можете выставить нули так чтобы значения совпали и ничего снимать не придется к тому же от того что вы снимите ничего не поменяется ведь под кожухами у вас нет никаких 0 меток ни направляющих ни на станине очень неприятные. надо было оставить режим принудительного обнуления @Aiche и срочно сделайте нормальный бэкап в вашем кроме программ ничего нет. хотябы копию памяти надо иметь а то может и в чпу батарейка сесть и тогда будет очень плохо
    • Fedor
      То есть грунт физически находится в сжатом состоянии на поверхности земли. И при вычислении связности грунта логично бы учесть это при построении предельного графика сигма - тау... 
    • maxx2000
    • gudstartup
      нет ранее абсолютные можно было обнулять в любом месте и не надо было никуда ехать а сейчасбывает что система выдает ошибку о невозможности установить 0 пока не сделаешь оборот датчика. особенно это достает при обнулении рев.головки приходится датчик снимать и крутить
    • nicomed
      @alek77 Если еще интересно, то вот код, который рисует два сегмента эскиза поверх выбранной кромки. Первый сегмент от начальной точки кромки до точки выбора, второй сегмент - от конечной точки выбранной кромки до точки выбора. При этом учитывается: положение компонента в сборке; поворот чертежного вида относительно пространства модели. Код как обычно - лишь бы работало - все в одном методе.   Вот что не пробовал, так это многоуровневые сборки. Боюсь что бы не приходилось делать  пересчет положения выбранного компонента столько раз, на каком уровне вложения находится выбранный компонент.   Upd: Нашел глюк (точнее свою недоработку с которой еще предстоит разбираться) - если вид с разрывом - то точка выбора смещается ...
×
×
  • Создать...