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

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

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

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

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

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

    • vot
    • Dmitriy618



  • Сообщения

    • paull3
      Принято, спасибо! буду шевелить платы
    • Nastyrnuy
      Теперь понятно! Вы шли не в том направлении, и помощеиков не туда завели!!! у Вас Проц и комп оператора тоже 3 платы( но совсем другие (еще Мультибас 1 чисто Интеловский) SBC08, 80/10 KCB 01/04, но диск у Вас электронный( который состоит из 12 или 14 ЕПРОМОВ и при всем желании и старании с дискет Вы ничего не сможете туда загрузить! Скорее всего  у Вас просто неконтакт, в пред постах там тоже на эту же тему многго что написано. Просто на SBC 08 херов туча наездников( и эл диск, и контроллер флоповода, и мат сопроцессор..!
    • paull3
      да, стойка CD, чуть позже прикреплю фото, ... получилось добавить , вот чт он показывает при загрузке и дальше не идёт...
    • Nastyrnuy
      Где то тут путаница идет... не совпадние (жесткий диск (он жесткий или элетронный диск?)), есл жесткий диск то флоппик  точно 1.44 и эмулятор можно на 1ю44, Но если вы используете эмулятор на 720 то это как правило серия станка не CF а CD....и.т.д поэтому фотки давай и станка серию и тип, и плат, и ошибку на экране где Биос кажет и флорри и диск, а то мы все тут будем по разному понимать..!
    • Viktor2004
      Вы же лучше меня знаете что запрсто записать на машину не только чужой, но и свой OPRMINF не получится
    • gudstartup
      полная чушь если ид меняется ошибка 5523 гарантирована иначе чужо ой oprminf запросто можно было бы записать на любую машину
    • paull3
      Всем добрый день! докладываю - 1) батарейка живая и после отключения от сети на сутки показала 3,63в, 2) записал файлы из архива на юсб флешку размеролм 720кБ - вставил в эмулятор, затем включил станок- станок никак не отреагировал, флешка вроде как считалась( индикация светодиодом на ней) 3) сделал загрузочную дискету дос, удалил файлы те что там записались и записал из архива - вставил в дисковод, включил станок- реакции не последовало, ...индикации и характерных звуков считывания не было, возможно неисправен дисковод, хотя когда переключал его на эмулятор он был исправен....   Добрый день, посмотрю, напишу  
    • Nastyrnuy
      Не, загрузочная не помешает! Анатолий правильно говорит, у станков серии CF FCки разные могутьбыть! И причем это даже не напрямую от серии CF Зависит, а от конфиги трех плат которые составляют комп оператора. так Паюль фоткай морды этих плат тоже( они там могут быть из 3 плат самая правая PEC(o4/05/07) или 1(все в одном AMS-75(уже проц Пень 75)! )! Но, по любому станок уже в годах и винты не вечные, так что FC может и не смочь помочь с запуском станка(если винт сыпется..). А кстати JP soft у Вас запускается , или на отдельном компе проги рабочие пишете!!
    • Viktor2004
      Не обращал внимание, но наверняка менялся. А когда я платы FROM/SRAM местами на двух станках менял, для них вообще все ID должны поменяться. Ни разу сертификат не слетал
    • gudstartup
      @Viktor2004 вы же знаете как... а cncid менялось при  этом 
×
×
  • Создать...