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

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


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

40 минут назад, ILL сказал:

Так вот и я о том же..

Не всегда это нужно.

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


3 часа назад, ILL сказал:

А если файлы разбросаны по папкам??

Заграница нам поможет...

Вот этот макрос выбирает основную папку (проекта, к примеру), создаёт в ней папку "STL". В неё сохраняет все модели из папки с подпапками:

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

Option Explicit
Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Const BIF_DONTGOBELOWDOMAIN As Long = &H2
Private Const BIF_RETURNFSANCESTORS As Long = &H8
Private Const BIF_BROWSEFORCOMPUTER As Long = &H1000
Private Const BIF_BROWSEFORPRINTER As Long = &H2000
Private Const BIF_BROWSEINCLUDEFILES As Long = &H4000
Private Const MAX_PATH As Long = 260

Dim swApp               As SldWorks.SldWorks
Dim swModel             As SldWorks.ModelDoc2

Dim sFileName    As String
Dim nFileName    As String
Dim nPath        As String

Dim Path                As String

Dim stlPath             As String

Dim swFilename          As String
Dim nErrors             As Long
Dim nWarnings           As Long
Dim Response            As String
Dim DocName             As String
Dim bret                As Boolean
Dim swDocTypeLong       As Long
Dim vConfs              As Variant
Dim vPropNames          As Variant
Dim i                   As Integer
Dim j                   As Integer
Dim fso                 As New Scripting.FileSystemObject
Dim MYext               As String
Dim swCustPropMgr       As SldWorks.CustomPropertyManager
Dim tDate               As String


Function BrowseFolder(Optional Caption As String, _
    Optional InitialFolder As String) As String

Dim SH As Shell32.Shell
Dim F As Shell32.folder

Set SH = New Shell32.Shell
Set F = SH.BrowseForFolder(0&, Caption, BIF_RETURNONLYFSDIRS, InitialFolder)
If Not F Is Nothing Then
    BrowseFolder = F.Items.Item.Path
End If

End Function

Sub main()
    
    Set swApp = Application.SldWorks
              
    Path = BrowseFolder()
    If Path = "" Then
    MsgBox "Please select the path and try again"
    End
    Else
    Path = Path & "\"
    End If
    
    stlPath = Path & "STL"
    If Dir(stlPath, vbDirectory) = "" Then MkDir stlPath

    BatchFolder Path, ".SLDPRT", ".SLDASM", True
    
'    MsgBox "DONE"
End Sub
Sub BatchFolder(folder As String, ext As String, ext2 As String, silent As Boolean)

    If Right(folder, 1) <> "\" Then folder = folder & "\"
    ChDir (folder)
    Response = Dir(folder)
    Do Until Response = ""
        swFilename = folder & Response
        MYext = Right(UCase$(Response), 7)
        If MYext = ext Or MYext = ext2 Then 'this is a file type we want, process it
            swDocTypeLong = Switch(MYext = ".SLDPRT", swDocPART, MYext = ".SLDASM", swDocASSEMBLY, True, -1)

            
Set swModel = swApp.OpenDoc6(swFilename, swDocTypeLong, swOpenDocOptions_Silent, "", nErrors, nWarnings)
Set swModel = swApp.ActiveDoc

nPath = Left(swModel.GetPathName, InStrRev(swModel.GetPathName, "\"))
nFileName = Left(swModel.GetTitle, Len(swModel.GetTitle)) + ".STL"
swModel.SaveAs (stlPath + "\" + nFileName)
swApp.CloseDoc swModel.GetTitle

Set swModel = Nothing
            
        End If
        Response = Dir
    Loop
    Dim myFolder As folder
    Dim mySub As folder

    Set myFolder = fso.GetFolder(folder)
    For Each mySub In myFolder.SubFolders
        BatchFolder mySub.Path, ext, ext2, silent
    Next
End Sub

 

 

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

Не всегда это нужно.

 

Всегда надо учитывать различные варианты..

 

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

Вот этот макрос выбирает основную папку (проекта, к примеру), создаёт в ней папку "STL". В неё сохраняет все модели из папки с подпапками

 

В папке проекта могут быть модели, исключенные из него..

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

Всегда надо учитывать различные варианты..

В папке проекта могут быть модели, исключенные из него..

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

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

Подскажите, пожалуйста, по следующему вопросу:

на один старый комп поставил

пакет макросов SWPLus, RecordDimM - работают,

ГЕОС, Roughness (простановка шероховатости), ТТ, ChangeFormatka - не работают, пишут или запустите твёрдого* или нет активе икс ...

 

Я так понимаю/подозреваю  нужно доустановить Microsoft visual c++ только вот какие?

 

у меня на компе работает всё и у меня майкрософт визуал установлены 2005, 2008, 2010, 2012, 2013, 2015 - по несколько версий

 

*Solid

Блин, я сталкивался уже с этой проблемой в 2016 году. В антивирусе Comodo - файлы SWPlus надо в доверенные добавить (или папку) и посмотреть не попали ли файлы в песочницу. В них вирусов нет, просто антивирус параноит. Сменил Солид, а про то и забыл. Теперь-то пометку вписал в инсталяции ). Даже если песочницы нет, бывает, что Comodo по прошествии времени блокирует "неопознанные" файлы, если их не пометить "доверенными".

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

Всем привет. Для "нормального" сохранения в pdf иногда пользую PDFCreator+SaveAsPDF макрос. И все бы ок, концы стрелок не вылазят за выносные линии размеров и линии обозначения разрезов и прочие плюхи. Если бы не одно НО! (см. скрин). У одного меня эти точки возникают? Причем только при записи в две строки (две строки в свою очередь формирует RecordDim). Помогите побороть сей баг. :dash1:

 

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

5aa25f6125483_.thumb.png.8c67379c1c3563dc895024f9e7c2330a.png

 

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

Такая же ерунда и при сохранении в других виртуальных принтерах (PdfFactory Pro например), так что - это косяк солида. Как побороть - ХЗ. Как вариант редактировать уже сформированный PDF-файл в редакторе типа Adobe Acrobat Pro или IcenyInfix

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

это косяк солида

Точно? ))) 

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

d089df6895eeba2ef957016aeda0cc6b.png

Макро - SaveAsPDF через функции солида, не принтера.

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

@streamdown , косяк PDFCreator'а. Но этот виртуальный принтер как раз и использовал потому, что родная утилита импортирует в PDF криво (например концы размерных стрелок вылазят за выносные линии и пр.) Если знаете как этого избежать и использовать стандартное "Сохранить как..." - прошу поделится опытом.

Ссылка на сообщение
Поделиться на других сайтах
В 09.03.2018 в 14:05, streamdown сказал:

Точно? ))) 

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

d089df6895eeba2ef957016aeda0cc6b.png

Макро - SaveAsPDF через функции солида, не принтера.

Возможно))) Попробовал виртуальный принтер от самих Adobe (при установки Про версии ставится) - та же ситуёвина. Заметил, что точки появляются только там, где применяется тег <stack> - как вариант не применять его, ставить вторую строку обычной заметкой, но это костыль. Хотелось бы докопаться до сути, почему солидовский конвертер скрывает эти точки, а другие нет.

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

Привет.

 

При работе в SW2015 на WIN 10 с недавнего времени начало выскакивать уведомление о критическом уровне памяти. Хотя это происходит на довольно простых деталях и операциях (типа создания эскиза или открытие детали из сборки). При этом комп довольно мощный. Считаю, что данное сообщение не связано с реальным положением дел (с памятью все ок) и уведомление генерируется на основе каких-то косвенных признаков в работе системы.

 

Подскажите чего? Спасибо.

2018-03-11.JPG

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

Привет.

 

При работе в SW2015 на WIN 10 с недавнего времени начало выскакивать уведомление о критическом уровне памяти. Хотя это происходит на довольно простых деталях и операциях (типа создания эскиза или открытие детали из сборки). При этом комп довольно мощный. Считаю, что данное сообщение не связано с реальным положением дел (с памятью все ок) и уведомление генерируется на основе каких-то косвенных признаков в работе системы.

 

Подскажите чего? Спасибо.

2018-03-11.JPG

 

Не совсем понятно. В диспетчере задач у вас сколько процентов свободной оперативной памяти при этом?

 

Из справки солида:

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

2018-03-12_08-04-00.png.b926aea12a956d729494266dc16f15b5.png

 

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

Да меня самого достало это предупреждение... памяти больше 50% свободно, а солид истерит... Не понимаю почему вообще так происходит.

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

Надо смотреть, сколько съедает сам солид.. И если он объелся, зайти в "Инструменты" - "Добавления".. И солид в памяти будет занимать меньше 50 Мб.. Но это до первого сохранения или перестроения..

 

А вообще, эта тема про макросы..

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

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

Может действительно вы посчитали что реальной памяти (ОЗУ) выше крыши и отключили файл подкачки (виртуальная память), а программа посмотрела что файла подкачки нет или он очень мал и решила, что вы её ущемляете в памяти? Вот и выдала предупреждение.

Ссылка на сообщение
Поделиться на других сайтах
В 11.03.2018 в 00:43, Snake 60 сказал:

Возможно))) Попробовал виртуальный принтер от самих Adobe (при установки Про версии ставится) - та же ситуёвина. Заметил, что точки появляются только там, где применяется тег <stack> - как вариант не применять его, ставить вторую строку обычной заметкой, но это костыль. Хотелось бы докопаться до сути, почему солидовский конвертер скрывает эти точки, а другие нет.

попробовал pdf 24 - все то же самое...

Не помню, чтоб раньше такое было...

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

@Yurikman , хвала Ньютону! Осталось дело за малым: раздобыть и поправить исходник SaveAsPDF.swp))

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

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

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

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

42 минуты назад, R2D2_ сказал:

Осталось дело за малым: раздобыть и поправить исходник SaveAsPDF.swp))

Что-то лежит вот здесь: https://forum.solidworks.com/thread/82613

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

Пардон. Пилить то надо не SaveAsPDF, а RecordDimM.swp. Но там такие дебри, что боюсь придется призывать @Leon'а.

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

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

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

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

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

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

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

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

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

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

    • Solidman



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