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

Сделай свою работу в 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 пользователей

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



  • Сообщения

    • 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
      а ведь все работало...
×
×
  • Создать...