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

Сделай свою работу в 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 эмодзи.

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

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

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

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

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




  • Сообщения

    • egor-40
      Попробуй включить G98(минутная подача). подача будет G01 F100. или F300. 
    • Maik812
      с какой версии сам модуль.
    • Павлуха
      Отстали от жизни? В солиде уже давно кам-модуль вшит.
    • Ветерок
      В Солиде не получится. Солид - это КАД - в нем строится геометрия. И только. Потому в каком-нибудь КАМ строятся траектории, задаются скорости, направления и прочее. И только потом всё это преобразуется в Ж-коды при помощи постпроцессора именно под конкретную стойку. Нужны все три составляющие - КАД-КАМ-постпроцессор.
    • bubl leg
      Всем доброго, друзья!   Вопрос такой: по причине того, что собираю свой ЧПУ станочек настольный с довольно простыми для ЧПУ задачами (супержесткой рамы и прочего - не сильно обязательно) - рисование маркером печатных плат и сверловка их же - требуется какой то более менее подробный гайд на русском языке, по подготовке G-CODE в Solidworks. На youtube я нашел кучу конечно...Смотрю...Но, хоть и понимаю англицкий неплохо, всё равно не так "на лету", как хотелось бы.   Из этого вопрос: может ли кто то порекомендовать имеющийся тут, на форуме или ещё где то - русскоязычный более менее подробный гайд или видео - по моей задаче? Именно в Solidworks (не во FreeCAD и прочем).   Заранее спасибо!   P.S. Как собрать электронику для станка, как прошить - это всё не важно, это всё знаю. Интересует именно подготовка G-CODE в среде Solidworks,с примерами и (желательно) последующей отправкой на ЧПУ.
    • grayve
      Нет этого пункта в меню((( Вопрос решен. Нужно нажать кнопку Применить представление структуры изделия...
    • BSV1
      С наступающим!  
    • grayve
      Народ, Добрый вечер! Подскажите, у меня в сборке несколько сотен кирпичей. Печь собираю. Многие из них стандартные изделия, но поскольку в библиотеке таких кирпичей нет мне пришлось их делать в виде деталей. Соответственно сейчас в спецификации они попали в сборочные единицы. Знаю, что можно по одной детали через окно структуры поменять Раздел... Но несколько сотен раз очень не хочется. Помогите решить проблему? T-Flex 17
    • grayve
      Нужно разорвать проекционную связь с проекцией и переходить на другую страницу.
    • Viktor2004
      наверное для этого и сделали переменную #8501 но она только для MDI клавиш. Цифр и букв там нет. Я когда пробовал на C-Executor писать, тоже не смог реализовать перехват нажатия кнопок во время загрузки ЧПУ. Там тоже фиксируется момент нажатия, а если она уже нажата во время загрузки, инструментами СИ это перехватить не получится
×
×
  • Создать...