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

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


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

вот написал макрос который вставляет картинку в активный чертеж. размер вставляемой картинки корректируется макросом в зависимости от масштаба листа. точка вставки корректируется в зависимости от масштаба листа и ширины листа (в моем случае эта точка вставки находится: по оси х - на 155 мм левее правого края листа; по оси y - совпадает с нижним краем листа).

перед началом использовании макроса необходимо его отредактировать (Инструменты -> Макрос -> Редактировать... -> Путь к макросу):

1) в строке

Set SkPicture = Part.SketchManager.InsertSketchPicture("путь к файлу картинки")
путь к файлу картинки заменить на полный путь к файлу картинки. Например если вставляется картинка подпись.png из папки C:\Documents and Settings\Admin\, то эта строчка будет выглядеть так
Set SkPicture = Part.SketchManager.InsertSketchPicture("С:\Documents and Settings\Admin\подпись.png")
2) в строке
WidthPicture = 20
значение 20 заменить на нужное. 20 означает, что при масштабе 1:1 ширина картинки будет 20 мм.

для "обкатки" макроса в архиве с ним лежит картинка пример.png .

БЛАГОДАРНОСТИ

большое спасибо :worthy:streamdown и :worthy:ssv22 за оказанную помощь в написании макроса и проявленое терпение.

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


вот написал макрос который вставляет картинку в активный ...БЛАГОДАРНОСТИ

большое спасибо :worthy:streamdown и :worthy:ssv22 за оказанную помощь в написании макроса и проявленое терпение.

А знаете такой закон Мэрфи для программистов: "Если программа нормально заработала с первого раза - значит что-то тут не то..." :biggrin:

Приложенную картинку я вижу в ориентации "Портрет". А что будет если картинка в ориентации "Альбом", а лист SW в ориентации "Портрет". Или наоборот. Вроде 4 варианта ориентации возможны..

Проверяли?

Сам-то я еще не успел... только скачал...

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

А знаете такой закон Мэрфи для программистов: "Если программа нормально заработала с первого раза - значит что-то тут не то..." :biggrin:

неа, такого не знал :biggrin:

А что будет если картинка в ориентации "Альбом", а лист SW в ориентации "Портрет". Или наоборот.

в таком случае получим картинку с длиной по большей стороне 20 мм. ориентация листа не имеет значения.

Проверяли?

проверил после вашего сообщения.

теперь немного поясню.

макрос писался под конкретную задачу: вставка отсканированных подписей (разработчик, проверил и пр.) в штамп чертежа.

на выходе я должен получить электронную копию чертежа которая выглядит точно так же как твердая копия хранящаяся в архиве (подлинник). такие электронные копии чертежей наша контора рассылает заказчику и изготовителю в формате PDF. При такой постановке задачи, картинка с подписями всегда имеет ориентацию Альбом. не знаю для чего ещё может понадобиться вставка картинки в чертеж, лично я за всё время работы в СВ картинки вставляю только с выше озвученной целью. поскольку мне постоянно нужно делать 2 копии чертежей, с подписями - для рассылки и без подписей - для печати и сдачи в архив, то меня стало как-то напрягать постоянная вставка картинок + высчитывание размеров картинки + пересчет точки вставки + присвоение атрибутов.

Сделать универсальный макрос я, честно говоря, даже и не задумывал, поскольку:

  • как уже сказал выше - не знаю для чего ещё может понадобиться вставка картинки в чертеж
  • знаний в области программировния для СВ маловато

вот, как-то так.

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

Зависит.

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

а что там у них страшного? пока смотрел форматки - причёсывать надо.

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

неа, такого не знал :biggrin:

Для начала:

<noindex>http://www.mista.ru/merfy/#best</noindex>

и тут ("Законы Мэрфи в программировании") :

<noindex>http://lawmerfi.narod.ru/program.html</noindex>

в таком случае получим картинку с длиной по большей стороне 20 мм. ориентация листа не имеет значения.

...

При такой постановке задачи, картинка с подписями всегда имеет ориентацию Альбом. не знаю для чего ещё может понадобиться вставка картинки в чертеж, лично я за всё время работы в СВ картинки

...

вот, как-то так.

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

Есть такой очень полезный макрос HideEdge (by Rich). Он позволяет при выборе плоскости с отверстиями автоматом проставить указатели их центров. Но, начиная с SW 2010 (из-за изменения разработчиками функции простановки центров отверстий), макрос перестал строить соединительные линии между отверстиями.

Последняя версия макроса, что я нашел <noindex>пост #1913</noindex> также не работает корректно. Вопрос: есть ли у кого-то сей макрос посвежее, в котором вышеописанная функция работает?

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

Народ, так что никто не знает ответа на мой вопрос?

Название макроса переводится как: "Скрыть Кромки(или ребра)". И задача его проставить указатели центров отверстий(и скрыть кромки отв-й).

А соединительные линии между центрами отверстий в SW это совсем другой объект!

InsertCenterMark3 - центр отверстий

ConnectionLines - соединительные линии.Пока я вижу проблему такую:

чтобы проставить центр отверстий, достаточно выбора хотя бы одного отверстия

А чтобы проставить соединительную линию между центрами отверстий, нужно иметь выбор минимум 2-х отверстий.

Причем, ИМХО, обычно ставятся горизонтальные и/или вертикальные соединительныю линии.

Значит нужно считать угол между центрами "парных" отверстий и ставить соответсвующую линию.

Если этого не делать, то получим все возможные! соединительные линии между каждой парой отверстий. В т.ч. и наклонные. А оно нам надо?

Пока в SW2010-м не разобрался в чем проблема...

PS. вот завтра (если время будет) проверю в SW2007-м старый макрос...

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

..........

Значит нужно считать угол между центрами "парных" отверстий и ставить соответсвующую линию.

Если этого не делать, то получим все возможные! соединительные линии между каждой парой отверстий. В т.ч. и наклонные. А оно нам надо?

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

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

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

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

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

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

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

Собственно вот и она (Тестировалась в SW2007, должна работать начиная с версии SW2001Plus): <noindex>http://kelnyproject.ucoz.ru/load/7-1-0-14</noindex>

если не секрет, то в чём проблема солида?

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

Есть идея создания Журнала учета конструкторской документации

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

Из новой 07 бета версии макрос SaveAsPDF сохраняет только в папке Tiff или PDF, "рядом" с файлом не сохраняет.

И если возможно объясните функции пунктов следующих настроек.

1 ' 0 - Не учитывать Изм.; 1 - Учитывать Изм.

0 ' 0 - Рядом; 1 - Папка Архив (мода fd)

Revisions ' Название папки

Rev. ' Часть суффикса, например Rev.01

Archive ' Название папки Архив (мода fd)

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

Очень полезная штука. Часто о ней спрашивают.

Макрос, для создания 3D точки центра масс. Эскиз самообновляемый в зависимости от геометрии, т.е. достаточно разок жмакнуть макрос, а потом точка сама будет переходить в центр масс по "светофору"

Запускать (соответственно) метод main. Все картинки в одной папке.

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

Здравствуйте, начал писать макросы в VBA и столкнулся с проблемой.

Суть ее такова: Я записываю макрорекордером некие действия далее сохраняю макрос и редактирую его, добавляю форму пользователя с TextBox для ввода некоторых данных, вставляю кнопку и в нее заливаю код записаный макрорекордером. Когда я в редакторе макроса делаю активким окно формы (кликаю мишкой по окну) запускаю его на выполнение, то он работает и выполняется. Когда я начинаю запускать макрос на выполнение непосредственно из SolidWorks, то форма не выплывает, а вся деталь строится по по коду записаного макрорекордером. Впрос вот вчем: Как сделать так чтобы призапуске макроса в среде солида посялялась форма в которую я внесу данные по которым будет построина деталь.

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

Имеется ли в наличии макрос с форматкой групповой спецификации ПРИ ЧИСЛЕ ИСПОЛНЕНИЙ НЕ БОЛЕЕ ТРЁХ (ГОСТ 2.113-75)?

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

Здравствуйте, начал писать макросы в VBA и столкнулся с проблемой.

Суть ее такова: Я записываю макрорекордером некие действия далее сохраняю макрос и редактирую его, добавляю форму пользователя с TextBox для ввода некоторых данных, вставляю кнопку и в нее заливаю код записаный макрорекордером. Когда я в редакторе макроса делаю активким окно формы (кликаю мишкой по окну) запускаю его на выполнение, то он работает и выполняется. Когда я начинаю запускать макрос на выполнение непосредственно из SolidWorks, то форма не выплывает, а вся деталь строится по по коду записаного макрорекордером. Впрос вот вчем: Как сделать так чтобы призапуске макроса в среде солида посялялась форма в которую я внесу данные по которым будет построина деталь.

в General в процедуре main оставьте только код отображения формы, типа:

Sub main()



<имя формы>.Show



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

в General в процедуре main оставьте только код отображения формы, типа:

Sub main()



<имя формы>.Show



End Sub
Большое спасибо!!!! Все вполучилось!!
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

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

Заранее благодарю за информацию. Работаю в SW 2009 SP5.1.

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

Дык если разок указать папку в рамках загрузки одного проекта - солид сам начнет оттуда таскать крепеж.

Через SWExplorer менять ссылки.

Сделать файлы стандартных и покупных - как папку в библиотеке проектирования.

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

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

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

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

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

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

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

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

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

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

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




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