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

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


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

7 часов назад, Kir95 сказал:

По умолчанию новый путь до файла сделать в текущую папку модели и, может, разрешить перезаписывать существующий файл после предупреждения? В свойство "Наименование" попадает значение со слэшем, вместо существующего нижнего подчёркивания, не нашёл сходу, где убрать замену

Нашёл отключение замены нижнего подчёркивания на слэш в доп. настройках и кнопку копирования старого пути для нового. 

Есть макрос для открытия папки текущего файла в проводнике винды, пригодится кому

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

Option Explicit

Dim swApp As Object
Dim swModel As ModelDoc2
Dim fileSystem As New FileSystemObject
Sub main()

Dim pathName As String
Dim folderPath As String
Dim cmd As String

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc

If swModel Is Nothing Then
    MsgBox ("No Model Open")
    Exit Sub
End If

pathName = swModel.GetPathName
folderPath = fileSystem.GetParentFolderName(pathName) & "\"

cmd = "C:\WINDOWS\explorer.exe " & folderPath

Shell cmd, vbNormalFocus

End Sub

 

Чтоб работал, нужно подключить библиотеку Microsoft Scripting Runtime в инструментах

Microsoft Scripting Runtime.jpg

 

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


3.2.1 SaveAsCopyReplace

- чуть поправил справку,

- убрал лишние кнопки в доп.настройках,

- запрос на перезапись существующей модели - старая версия перемещается в корзину,

- теперь и по сети удаление/перезапись старых версии - перемещает их через temp-папку виндовс в корзину. (определяет в пути "\\", если да, то перемещает модель и чертёж в с:\temp (у меня так определилась через environ "Temp"), а оттуда уже удаляется в корзину)

- поправил индикацию действий макроса

 

в полной мере не гонял его - урывками занимался ))

 

Благодарище за тестирование! и терпение! )

 

SaveAsCopyReplace.swp

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

3.2.1 SaveAsCopyReplac

SW 2016 sp5

При работе с верхней сборкой выдает две ошибки:

Первая:

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

s1.jpg

Если закомментировать else, то выскакивает вторая

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

s2.JPG

 

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

Если закомментировать else, то выскакивает вторая

Убрать это изменение и двумя строчками выше под Exit Sub добавить строку End if (возможно есть где-то ещё недоработки, но это то что есть на скрине открыт IF для передачи чертежа в коржину -при ошибке передачи, но не закрыт if).

 

4 часа назад, tompsongun сказал:

- запрос на перезапись существующей модели - старая версия перемещается в корзину,

Возможно вам так удобнее, но возможно стоит перемещать в папку TEMP/Старое или что-то подобное в том же месте.

 

4 часа назад, tompsongun сказал:

- теперь и по сети удаление/перезапись старых версии - перемещает их через temp-папку виндовс в корзину. (определяет в пути "\\", если да, то перемещает модель и чертёж в с:\temp (у меня так определилась через environ "Temp"), а оттуда уже удаляется в корзину)

По сети не логично утаскивать старую версию к кому-то на компьютер, было бы логичнее так же оставить на месте - переместив в какую нибудь папку вроде TEMP/OLD/старое и т.п. возможно добавив дату ререзва к названию файла, что бы файл не мог быть подгружен по ошибке при совпадении имён.

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

При работе с верхней сборкой выдает две ошибки

Проверил, если добавить End If как @Kelny пишет, то работает норм. Мне тоже удобней удалённый файл, если что не так получится, из корзины вернуть на место. В корзине быстрее выбрать "восстановить", чем копипастить из обычной папки

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

просто напрямую по сетке в корзину удалить не могу сделать - надо sid пользователя получить вроде как, т.к. путь к корзине  %systemdrive%\$Recycle.Bin\S-1-5-21-117....\  либо не разобрался

поэтому через перемещение на локальную машину, а потом в корзину.

 

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

 

3.2.1.1 исправление ошибки - пропустил оператор завершения условия.

 

SaveAsCopyReplace.swp

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

просто напрямую по сетке в корзину удалить не могу сделать - надо sid пользователя получить вроде как, т.к. путь к корзине  %systemdrive%\$Recycle.Bin\S-1-5-21-117....\  либо не разобрался

поэтому через перемещение на локальную машину, а потом в корзину.

 

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

 

3.2.1.1 исправление ошибки - пропустил оператор завершения условия.

 

SaveAsCopyReplace.swp 532 \u041a\u0431 · 7 скачиваний

Все пока работает отлично на 2014 солиде. Присоединяюсь только к просьбе уже озвученной: может сделать чтобы по умолчанию в ту же папку файл клался, а то приходится руками первый раз править, - маломальская потеря времени. Проблем с этим нет, но было бы вообще идеально.

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

День добрый, предлагаю мои вариации на тему: "SaveToPDF".

По сути повторение старого, но на  С#, и,  происходит создание подпапок по форматам.

 

З.Ы. исходники прилагаются, собранный exe-файл в папке bin/debug/

 

SaveToPDF.zip

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

@nicomed Попробовал файл с разными листами распечатать, создались папки с форматами и в каждой папке пдф-файл со всеми листами чертежа

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

@nicomed Попробовал файл с разными листами распечатать, создались папки с форматами и в каждой папке пдф-файл со всеми листами чертежа

Да "есть такая буква" ...

... исправлено.

SaveToPDF.zip

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

3.2.2 SaveAsCopyReplace

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

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

 

из справки: Дополнительные настройки - Путь, куда перемещать исходные файлы + Папка - если поля пустые, удаление происходит в корзину или если по сети, через временную папку temp windows (пока так) в корзину. Если выбран 'Исходный Путь' -  перемещение произойдёт по этому пути + можно дополнительно указать папку (можно вложенные). Также можно указать свой путь. К перемещённым файлам добавится системная дата, чертёж на модель ссылаться не будет. При перемещении файлов в корзину дата добавляться не будет. Путь и папка запоминаются.

 

файл настройки перезапишется - новые опции добавились для запоминания пути бэкапа.

 

SaveAsCopyReplace.swp

 

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

День добрый, предлагаю мои вариации на тему: "SaveToPDF".

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

Оригинал брал у Артёма здесь: https://www.codestack.net/solidworks-api/import-export/export-sheets-pdf/

Поэтому копирайты вот они:

'*********************************************************************************************
'Copyright(C) 2020 Xarial Pty Limited
'Reference: https://www.codestack.net/solidworks-api/import-export/export-sheets-pdf/
'License: https://www.codestack.net/license/
'*********************************************************************************************

Чем отличается моя версия:

'*********************************************************************************************
' Изменения и дополнения от Snake 60
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Последние изменения :: (26.04.2020) ::
''' в версии 1.0.3 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' - Убрал дублирование открытых папок при каждом сохранении
''' в версии 1.0.2 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' - Если в чертеже 2 или более страниц, то создаются файлы в формате ИмяФайла - ИмяЛиста.pdf
' - Если в чертеже 1 страница, то создается файл в формате ИмяФайла.pdf
''' в версии 1.0.1 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' - макрос сохраняет чертеж в формате PDF, создает папку PDF и открывает ее после сохранения
'*********************************************************************************************

 

Добавлю что еще в изменениях:

  • Добавил константу для пути сохранения
Const FOLDER_FOR_SAVING As String = "" 'сохраняем в папку с чертежем
Const FOLDER_FOR_SAVING As String = "PDF" 'сохраняем в указанную папку, папка создается автоматически
  • Добавил автоматическое закрытие чертежа (кому это не нужно комментируем или удаляем строку)
swApp.CloseDoc swDraw.GetTitle

 

Если в чертеже несколько листов, и выделен какой-либо из них, то сохраняется именно этот лист в формате ИмяФайла.pdf

Если не выделять конкретный лист, то сохраняются все листы в формате ИмяФайла - ИмяЛиста.pdf

Существующие файлы с таким же название перезаписывает без вопроса, поэтому используем с умом ;)

Удобен, когда повешен на кнопку :)

OneClickPDF.zip

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

Доброе время суток!

Возник вопрос: каким образом можно получить массу сборки (модель в свойствах листа), находясь в чертеже, с помощью апи?

sw2016sp5

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

А зачем средствами АПИ если можно напрямую через свойства?

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

Нужно получить массу верхней сборки, чтобы вставить ее в эту таблицу.

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

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

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

Нужно получить массу верхней сборки, чтобы вставить ее в эту таблицу.

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

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

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

солид же делает спецификацию, в неё можно включить столбец масса, материалы и т.д..

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

Можно, конечно, заморочиться и просуммировать все входящие компоненты, перемножив на кол-во.

Но, думается, должен быть инструмент как вытянуть это св-во.

_____________________________________________________________________

Решил проблему - скопировал ссылку со сборочного чертежа ($PRPSHEET:"Масса_ФБ") и вставил в СП 

Всем спасибо за участие

 

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

3.2.3 SaveAsCopyReplace

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

-если нет чертежа, в окне макроса подсвечивает сие;

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

SaveAsCopyReplace.swp

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

Но, думается, должен быть инструмент как вытянуть это св-во.

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

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

3.2.3 SaveAsCopyReplace

Не определены 2 переменные. В остальном полет нормальный!

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

изображение_2021-06-18_153408.png

 

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

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

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

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

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

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

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

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

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

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

    • Snake 60



  • Сообщения

    • Дракон в тапках
      в этом "нулевом уровне" и вопрос.  Насколько я понял, во FLowVision есть опция разбить модель по слоям (и даже указать точку-g ммм :). Я так понял, что в Компасе мы работаем в рамках одного уровня.  Из FAQ по Флоу:  Параметры g-Плотности >Давление. Значения относительного давления и температуры для расчета гидростатической плотности (g-плотности), соответствующие состоянию покоящейся жидкости в начале координат.   Из этого я делаю вывод, что это гидростатическое давление в нижней точки моей модели. Я правильно понял? 
    • Snaider
      Скажите пожалуйста, с помощью этой утилиты можно ли определить центр тяжести на 2d чертеже (обычный чертеж, не 3d объект). Или может это может сделать сам компас-3d без утилит. Помогите пожалуйста, я просто новичек.
    • maxx2000
      на выставки ходят с конкретной целью. Даже праздный интерес вполне себе цель. Другое дело если нет цели, а только путь.
    • lem_on
      Ну если такие вопросы без помощи форума не решить, то тогда точно не стоит ходить.
    • chatskiy
      Надеюсь, правильная ветка форума. Паралельно традиционной выставке металлообработка в Москве рекламируют выставку NMF-2024. Вопрос к присутствующим стоит ли тратить на неё время, людям, которые  являются специалистами-посетителями? 
    • ДОБРЯК
      Для вас факторизация мифическая, а по факту численная факторизация матрицы жесткости.  Вы наступаете на грабли, а кто-то виноват...:=) В чем я несу пургу. Конкретно в чем? Только потом не жалуйтесь, что опять наступили на грабли...:=)
    • GHEB
    • Orchestra2603
      Во-первых, я то ничего не доказываю. Это вы пытаетесь доказать, что без закреплений нельзя считать на собственные частоты. Набросили гавнеца на вентелятор, как вы всегда делаете, а я дурак триггернулся и свои нервые клетки трачу уже не первый день. Не могу я спокойно смотреть на то, когда белое называют черным, так еще и тем, кто четко говорит, что "кам он! белое же!"  достается в стиле "сам дурак!".    Когда вас спрашивают прямо "почему так?", вы начинаете свой сказ про мифическую факторизацию, но какую именно вы сказать не можете. Зато начинаете раздавать экзаменационные задания. Ваша фирменная манера вести разговор. Браво.   Не то чтобы я кайфовал от того, что вы меня заставляете биться лбом об стену. Просто я все еще тешу себя надеждой, что эту стену проломить. Уже не первый раз, блин, на те же грабли.    В том то и дело... Мне не нужно знать деталей алгоритмов, чтобы понять, что вы пургу несете. Знаний из линейной алгебры мне вполне достаточно для этого.
    • Fedor
    • Шайтан
      Просто скачал, построил сетку не меняя ничего, запустил расчет. Ошибок не выдает.
×
×
  • Создать...