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

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


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



JohnsonN

так можно же, поинтересуйтесь у VOleg

Я спрашивал <noindex>здесь</noindex>, он не ответил (по крайней мере пока).
Ссылка на сообщение
Поделиться на других сайтах

Просто, мне показалось что эти переменные в данном случае лишние.

действительно лишние. передирал структуру записи (не помню у кого) абсолютно бездумно (на тот момент это было не главным).

такая запись:

2. <Font size=3.5> Труба <STACK> 60х40х3 ГОСТ 8645-68 <OVER> Ст4пс ГОСТ 13663-86 </STACK>

конечно же компактнее и более удобочитаема.

лишь одна поправочка: вместо 60х40х3 нужно (мне по крайней мере) чтобы были записаны имена существующих размеров "A@Эскиз1@"x"B@Эскиз1@"x"s@Эскиз1@". собсно в этом и есть вся прелесть такой записи. выбрав другой типоразмер (в данном случае прямоугольной трубы), нет нужды отвлекаться на то, чтобы заново набивать обозначение сортамента.

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

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

Всем привет. использую набор примочек tuning solidworks 2010 и макросы от Леона. не знаю, как добавить часто используемые размеры в папку для этих размеров. нажимаю сохранить и получаю сохранение в другой папке Библиотека проектирования с другим расширением. Когда в другом чертеже пытаюсь открыть часто исп разм, то открывается папка Часто используемые размеры в которой нет того стиля,который я сохранял, потому что он почему то попал в папку Библиотека проектирования. вот такая простая затыка. помогите, кто знает.

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

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

На 2011 Solid-е SP5 макрос PrpSort выдаёт ошибку. Выкладываю модель и ошибку

Ошибка_в_макросе_PrpSort.rar

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

На 2011 Solid-е SP5 макрос PrpSort выдаёт ошибку. Выкладываю модель и ошибку

пардон. моя вина.

вот это всё, удалите из кода во всех обработчиках (cmd1_Click(), cmd2_Click() и т.д.)


retval = swModel.DeleteCustomInfo2(CustomName, "Контора") 'удаляем свойство

PropVal = txtFirma.Value

retval = swModel.AddCustomInfo3(CustomName, "Контора", swCustomInfoText, PropVal) 'добавляем свойство

'назначение названия фирмы (конторы)-----------------------------

'назначение даты создания чертежа--------------------------------

PropName = txtDataPropName.Value

PropVal = txtData.Value

retval = swModel.DeleteCustomInfo2("", "дата создания") 'удаляем свойство "дата создания"

retval = swModel.AddCustomInfo2(PropName, swCustomInfoText, PropVal) 'добавляем свойство "дата создания"

'назначение даты создания чертежа--------------------------------

'назначение даты сдачи в архив-----------------------------------

PropName = TextBox4.Value

PropVal = TextBox3.Value

retval = swModel.DeleteCustomInfo2("", "дата сдачи в архив") 'удаляем свойство "дата создания"

retval = swModel.AddCustomInfo2(PropName, swCustomInfoText, PropVal) 'добавляем свойство "дата создания"

'назначение даты сдачи в архив----------------------------------- _linenums:0'>'назначение названия фирмы (конторы)-----------------------------retval = swModel.DeleteCustomInfo2(CustomName, "Контора") 'удаляем свойствоPropVal = txtFirma.Valueretval = swModel.AddCustomInfo3(CustomName, "Контора", swCustomInfoText, PropVal) 'добавляем свойство'назначение названия фирмы (конторы)-----------------------------'назначение даты создания чертежа--------------------------------PropName = txtDataPropName.ValuePropVal = txtData.Valueretval = swModel.DeleteCustomInfo2("", "дата создания") 'удаляем свойство "дата создания"retval = swModel.AddCustomInfo2(PropName, swCustomInfoText, PropVal) 'добавляем свойство "дата создания"'назначение даты создания чертежа--------------------------------'назначение даты сдачи в архив-----------------------------------PropName = TextBox4.ValuePropVal = TextBox3.Valueretval = swModel.DeleteCustomInfo2("", "дата сдачи в архив") 'удаляем свойство "дата создания"retval = swModel.AddCustomInfo2(PropName, swCustomInfoText, PropVal) 'добавляем свойство "дата создания"'назначение даты сдачи в архив-----------------------------------

сейчас проверил на SW2012 SP0.0 с отключенной библиотекой Solidworks Utilites? работает нормально.

в детали и в поле макроса, наименование конфинураций должно совпадать

Изображение

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

Не надоест каждый раз типа такую строку писать?

Мне больше надоедает каждый раз такую строку писать!

))))

тихо сам с собою, я веду беседу.

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

))))

тихо сам с собою, я веду беседу.

у меня отмаза железная - я начинающий... программер :bleh:

:biggrin:

streamdown

за <noindex>solidworks api с#</noindex> отдельное БАААААААААААААльшое СПА-СИ-БА :clap_1:

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

По делу.

Решил взяться за написание чудо-программы. Подробности <noindex>ТУТ</noindex>.

Для чего это: чтоб не скачивать и не устанавливать и не крякать adobe acrobat professional. Дорогой продукт-то...

Внутренняя логика программы SW позволяет сохранять 3D как PDF но на отдельном листе и посерединке. Размеры листа тоже как-то странно задаются. Основная задумка такова: имеем уже готовую пачку чертежей (сохранить как - PDF, в солиде), куда очень хочется вставить это 3D.

Основные цели: вставка в существующие листы, вставка в новый лист, вставка с определенным размером "рамки" объекта, вставка без установки программ от Adobe.

В связи с тем, что инфы оочень мало; в связи с тем, что пока пользоваться буду адобовской dll где все примеры C++ (надо переводить на шарп): потребуется для всего этого время и ... ресурсы))) Ресурсы = пользователи. Есть у меня глубокое подозрение, что эти адобы(разрабы) могут много где накосячить, и не исключено что прога будет работать не со всеми ОС.

Короче, для всех желающих такого чуда - будете нужны как тестеры.

p.s. программка планируется как opensource (пока).

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

Короче, для всех желающих такого чуда - будете нужны как тестеры.

Т.к. идею считаю интересной, могу проверить в связке SW 2008 SP0 + XP :drinks_drunk:
Ссылка на сообщение
Поделиться на других сайтах

Т.к. идею считаю интересной, могу проверить в связке SW 2008 SP0 + XP :drinks_drunk:

Win7x64, SW2011 к Вашим услугам (в рабочие дни).
Ссылка на сообщение
Поделиться на других сайтах

появился он лишь потому, что мне надоело врукопашную каждый раз в свойствах набивать тексты типа этого: <FONT size=1.8> <FONT size=3.5>Труба <STACK size=1>"A@Эскиз1@"x"B@Эскиз1@"x"s@Эскиз1@" ГОСТ 8645-68<OVER>Ст4пс ГОСТ 13663-86</STACK>,

Я уже несколько лет для этого юзаю SWrama.. В этой теме где-то выложен..

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

По делу.

В общем сделал. Пока есть недоработки, но всё работает. Думаю, нужно ли делать как аддон к солиду? Если да - то тогда всё будет происходить в окне с чертежом, если нет - то работаем независимо, с существующим PDF документом. Пожелания??

<noindex>ТУТ КАРТИНКА</noindex>

<noindex>Пример PDF-ки</noindex>

Нашёл, так же, возможность вытянуть 3D модель из PDF :beer: так шо... (анти)пираты негодуют

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

Подставы от Adobe))

1. Работа по внедрению 3D модели доступна только на С++ и только при разработке аддона к адоб акробату

2. Формат U3D - это нифига не универсальный universal, ибо загнулся несколько лет назад и его использует разве что только сам адоб.

3. Opensourse библиотек для работы с PDF куча, но умеют внедрять модели только парочку.

4. Есть и платные SDK (Software Developer Kit). Стоят от 500$ до 5000$. Вообще нет желания с ними работать и покупать))) Ломать их и потом использовать - некомильфо.

5. Выбрал оптимальную opensource DLL, но она не умеет рендерить - это значит нет предпросмотра в PDF, это значит нужно сначала щелкнуть по элементу чтобы он отобразился. (проблема может быть решаема, ищу...)

6. Хреново разбираться с первоначальной ориентацией, математика и преобразования + глюки самих адобовцев (то что получится в конце, может несоответствовать матрице поворотов). Сейчас внедрение происходит по какому то 3D path, не знаю как он формируется. Ищу выходы.

7. Предпросмотр U3D это пипец какая непростая задача))) Opensource либ под это дело всего 3 ))) но как с ними работать - чёрт ногу сломит. Смотрю в сторону отказа от geometric core в сторону OpenGL. Если есть спецы (по OpenGL и работе с ним в .NET), постучите в личку - есть вопросы. Ссылки из гугла кидать не надо!!!!!

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

В общем сделал. Пока есть недоработки, но всё работает. Думаю, нужно ли делать как аддон к солиду? Если да - то тогда всё будет происходить в окне с чертежом, если нет - то работаем независимо, с существующим PDF документом. Пожелания??

Спасибо за проделанную работу, штука очень полезна!!!

Пожелание: 2 варианты хороши. Нам, как работающим в SW хочется аддон к солиду, а другим, (не работающим в нем, соответственно) - независимый.

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

Привет всем!

SW 2011

Windows XP

Осваиваю потихоньку API VBA, ниже приведен фрагмент кода для расстановки автопозиций, параметр True в строке:

varAball = swDrawing.AutoBalloon4(-1, True, -1, -1, -1, "", -1, "", "FORMAT", True)

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

В чем подвох?


Dim varAball As Variant

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swDrawing = swModel

Set swView = swDrawing.GetFirstView

Set swView = swView.GetNextView

Set swExt = swModel.Extension

bool = swExt.SelectByID2(swView.Name, "DRAWINGVIEW", 0, 0, 0, False, 0, Nothing, 0)

Set swSelMrg = swModel.SelectionManager

Set swView = swSelMrg.GetSelectedObject(1)

varAball = swDrawing.AutoBalloon4(-1, True, -1, -1, -1, "", -1, "", "FORMAT", True)

swModel.ClearSelection2 True

End Sub _linenums:0'>Sub main3() ' Dim varAball As Variant Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swDrawing = swModel Set swView = swDrawing.GetFirstView Set swView = swView.GetNextView Set swExt = swModel.Extension bool = swExt.SelectByID2(swView.Name, "DRAWINGVIEW", 0, 0, 0, False, 0, Nothing, 0) Set swSelMrg = swModel.SelectionManager Set swView = swSelMrg.GetSelectedObject(1) varAball = swDrawing.AutoBalloon4(-1, True, -1, -1, -1, "", -1, "", "FORMAT", True) swModel.ClearSelection2 TrueEnd Sub

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

Чего-то совсем не то понаписали.

Пример в хелпе видел, но у меня нет AutoBalloon5.

Я ссылался на пример в справке VBA, оно тоже должно быть дееспособно.

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

Katok

Всёравно не то понаписали)))

Выделить вид, жмакнуть макрос на выполнение

Dim swApp As Object

Dim Part As Object

Dim boolstatus As Boolean

Dim longstatus As Long, longwarnings As Long



Sub main()

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swDrawing = swModel

Set swSelMrg = swModel.SelectionManager

Set swView = swSelMrg.GetSelectedObject(1)

varAball = swDrawing.AutoBalloon4(-1, True, -1, -1, -1, "", -1, "", "FORMAT", True)

swModel.ClearSelection2 True

End Sub

Но это какой-то быдлокод у меня получился))) Точней васик так позволил сделать. Надо по грамотному всё присваивать

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

Всёравно не то понаписали)))

Выделить вид, жмакнуть макрос на выполнение

Так проблем с выбором нет, какая разница как выбрать вид. В данном случае просто взял чать кода с предыдущего "тренеровочного" саба. Цель была расставить автопозиции.

Позиции мой код расставляет, но не "работает" переменная IgnoreMultiple, котроя может принимать два значения True или False, определяющая дублировать позиции или нет.

В обоих случаях позиция дублируеться.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • nicomed
      Окно изменил ( первое это у меня просто тестовое приложение для всего, так что было "как есть"). Орфографию поправил. Толщина и тип - там надо подумать, как лучше выбирать рассеченные сегменты эскиза. Есть большой вопрос как прочитать стиль и толщину выбранной линии ( в частности кромки).  Так что пока нет. EdgeTrim_v2.zip   З.Ы. Исходники
    • kkk
      Я может чего не понял, но зачем что-то копировать из свойств модели в свойства чертежа? В чертеже и так отображаются (могут) свойства модели. расположенной на чертеже. Без копирования туда-сюда.
    • Viktor2004
      Уважаемые коллеги Чего-то я туплю страшно Пытаюсь в P-CODE писать программу редактирования барабана инструментов Макропеременная @MDIKEYI #8549 /* MDI Key image должна мне давать номер нажатой кнопки Кнопка F1 под экраном имеет код 249 Кнопка <INPUT> имеет код 152 При нажатии F1 у меня должна включаться D5001.0 а при нажатии <INPUT> выключаться Но в макропеременной #8549 код нажатой клавиши лишь кратковременно мигает. И надо много раз нажимать нужную клавишу что бы она сработала Макропеременная #8549 у меня выводится в диагностический D5000 Кто знает, может #8549 как-то настраивается, что бы программа успела на него отреагировать IF [#8549 EQ 249] THEN #548 = 1 ENDIF IF [#8549 EQ 152] THEN #548 = 0 ENDIF https://www.youtube.com/watch?v=jvsv0YoTy-8   Я как-то пример показывал с нажатием кнопки, но там программа была короткая и она успевала схватывать нажатие кнопки. А тут у меня сначала круги рисует и не успевает
    • malvi.dp
      SW2020 работает. Пожелание - уменьшить размеры окна, а то перекрывает весь чертеж, исправить ошибку в слове детели и, если получится, сделать выбор толщины и типа линии.  
    • sippovich
      Добрый вечер Уважаемые Форумчане,нет ли ни у кого инструкции по восстановлению нулевых точек револьверной головы на станки серии TF и TD серии Fanuc? Заранее благодарен.
    • Heroend
    • Nekyyy
      Я создал чертежи по коробке скоростей станка 1А616, а именно свертку и развертку коробки скоростей, мне необходимо узнать все недочеты и неточности, буду рад любой аргументированной критике.   https://disk.yandex.ru/d/iNSbWsrSYJQJLw
    • ДОБРЯК
      А выкинуть строчку и столбец  это не закрепление? :=)
    • nicomed
      @Kelny  То что,Вы, описали это варианты, а как я понял, @Евдоким Жаркий требуется именно комплекты. Как я понимаю различие: Балка может быть и катанного профиля или гнутого, но она может быть только одна. - это варианты , и, они, не исключают комплекты сменных частей. А, к примеру у заказчика есть три домкрата, и, в процессе эксплуатации зацепа, в разных ситуациях, может использоваться разный тип домкрата. У каждого домкрата свое посадочное место, и для него уже заказчик, будет менять пятки зацепа. Т.е. у него их (пяток) столько, сколько типов домкратов. И это у же комплекты сменных частей. Резюмируя - варианты это еще на уровне изготовителя, а комплекты на уровне заказчика (эксплуатации).       
    • maxx2000
      пусть так это тебе и продолжает казаться, для меня например всё ясно как божий день. Есть вещи которые требуют понимания. Я не ставлю своей задачей выдать набор кнопок, а лишь указать возможный вектор решения задачи. Артас обрабатывает по нормали к элементу(поверхности), а надо обрабатывать вдоль оси Z РП элемента которая должна совпадать с осью Z станка. Он намного ближе к понимаю 5 осевой обработки чем может казаться со стороны.   а зачем его разворачивать? разворачивать надо с конкретной целью. Боком режет, и пусть себе режет.
×
×
  • Создать...