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

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

NUMPL

Разбивать, конечно. Вообще, пихание всего и вся в одну единственную процедуру - плохое занятие. Память, утечки, разумный debug, неубиваемые переменные.

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


Я просто не програмист

Уф, тогда сложнее.

в конце первого саба запускался второй

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

<noindex>http://www.sql.ru/forum/761656/vba-kak-vyz...-sub-iz-drugogo</noindex>

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

Уф, тогда сложнее.

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

<noindex>http://www.sql.ru/forum/761656/vba-kak-vyz...-sub-iz-drugogo</noindex>

Создал после процедуры вторую процедуру, но приходится прописывать вот так:

Sub Macro1()

End Sub

Sub Macro2()

call Macro1

...

End Sub

потому что сначала выполняет вторую процедуру, а потом первую, почему-то.....ну проблему решили) спасибо)

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

NUMPL

А проблема в именовании. Первая должна быть Main(), а в ней уже всякие CALL

Сколько не пишу, всегда помогаете) Спасибо большое!))
Ссылка на сообщение
Поделиться на других сайтах

Hi, All!

Сегодня столкнулся с траблой....

Возжелал я нарезать шестерню средтвами SW.

А именно получить профили зубьев по типу нарезанием зубьев шестерни рейкой.

всё вроде просто.... делаем сборку из заготовки шестерни и рейки.

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

Накладываем зависимости так, что заготовка шестерни имеет свойство поворачиваться при линейном смещении рейки. Например по горизонту. Для этого применяем зависимость типа "тяговое усилие". всё отлично!

Получаем модель, где получаем построение эвольвентного профиля зуба. Для чего:

1. перемещаем по горизонту рейку (при этом заготовка шестерни поворачивается)

2. Выдавливает профиль рейки на тело шестерни. Получаем вырез. Делаем его не зависимым.

3. повторяем действия п.1, сместив рейку на некий шаг. например 1 мм.

Проделав сии действа n-ное кол-во раз задумался.... А почему не использовать VBA?

Казалось бы всё просто: VBA посредством макрорекордера сгенерит код, который можно творчески доработать и получить прогу, которая избавит от чисто механических действий по пунктам 1,2,3.

так вот. у меня вопрос: кто-нибудь делал подобное? У меня код,записанный макрорекордером, не работает. Я тут совсем ничего не понимаю, и поэтому спрашиваю:

Возможно ли реализовать идею с автоматизацией модели нарезания зубчатого эвольветного зацепления?

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

Возжелал я нарезать шестерню средтвами SW.

а может быть вам стОит поумерить свои желания :wink:

<noindex>Построение эвольвенты зубчатого колеса</noindex>

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

Добрый день! Подскажите имеется ли способ запустить утилиту "Исправить эскиз" через API, или как повторить действие этой утилиты? Непосредственно интересует удаление совпадающих линий.

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

Borgosh

На первый взгляд такой функции в API нет. Можно пойти другим путём: получить все SketchSegments, и перечисляя их искать, является ли конечная точка текущего - началом следующего. Типа закрыт ли эскиз. Сомнительный способ))) но может сработать.

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

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

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

Тьфу ты....ёмаё. Есть там всё)))

C# -

SwApp.RunCommand((int)swCommands_e.swCommands_RepairSketch, "");

VBA -

swApp.RunCommand swCommands_RepairSketch, ""

Тупо вешаете команду на кнопку. Но окошечка с лупой не избежать (обычным юзерам :bleh: ). Спешал фор Вас могу расстараться ($$$) и закрывать его. И всё будет по одной кнопке.

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

а может быть вам стОит поумерить свои желания :wink:

<noindex>Построение эвольвенты зубчатого колеса</noindex>

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

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

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

Установил SW2009, VS2010 Ultimate (VS2012 Ultimate) и на последок поставил SW API SDK.

Все программы ставил на диск С. win7 x64.

Согласно хелпу :

Click Start > Programs > Microsoft Visual Studio version_number > Microsoft Visual Studio version_number.

Click the New Project button.

Select Visual C++ > SolidWorks COM Non-Attributed Addin from the templates list.

Однако там ничего такого нету. Что я сделал не так или чего не установил??

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

Доброго времени суток, уж извините если не в тему.

Помогите пожалуйста установить все что нужно для написания программ для SolidWorks.

Установил SW2009, потом VS2012(или 2009) Ultimate, потом SW API SDK. Однако в Вижуале не появилось

Visual C++ > SolidWorks COM Non-Attributed Addin

уже и ставил и переставлял винду и фреймворки а все не появляется.

WIn7 x64. Подскажите что я делаю не так.

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

alyaska

- Отключить антивирусы и всякие блокировщики и поставить заново.

- Поставить с диска SP0, не с апдейтов. Т.е. вставляете диск SP0, запускаете установщик солида - исправить-поставить галку на API.

- Поставить поверх установленного с диска, отдельно Solidworks API SDK.msi

- Проверить все разрешения на запись в папки Program Files и Program Files (x86)

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

Hi, All!

Сегодня столкнулся с траблой....

Возжелал я нарезать шестерню средтвами SW.

А именно получить профили зубьев по типу нарезанием зубьев шестерни рейкой.

всё вроде просто.... делаем сборку из заготовки шестерни и рейки.

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

Накладываем зависимости так, что заготовка шестерни имеет свойство поворачиваться при линейном смещении рейки. Например по горизонту. Для этого применяем зависимость типа "тяговое усилие". всё отлично!

Получаем модель, где получаем построение эвольвентного профиля зуба. Для чего:

1. перемещаем по горизонту рейку (при этом заготовка шестерни поворачивается)

2. Выдавливает профиль рейки на тело шестерни. Получаем вырез. Делаем его не зависимым.

3. повторяем действия п.1, сместив рейку на некий шаг. например 1 мм.

Проделав сии действа n-ное кол-во раз задумался.... А почему не использовать VBA?

Казалось бы всё просто: VBA посредством макрорекордера сгенерит код, который можно творчески доработать и получить прогу, которая избавит от чисто механических действий по пунктам 1,2,3.

так вот. у меня вопрос: кто-нибудь делал подобное? У меня код,записанный макрорекордером, не работает. Я тут совсем ничего не понимаю, и поэтому спрашиваю:

Возможно ли реализовать идею с автоматизацией модели нарезания зубчатого эвольветного зацепления?

К чему такие сложности если есть Gearteq он вам все нарисует и без заморочек.

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

ЭЭЭЭЭЭ!!!!!

ИГРАЕМ В ТУПИЛКУ ЧТО-ЛИ?!?!?!??!?

читай вопрос!

Там нее как ПОСТРОИТЬ ЭВОЛЬВЕНТУ.

Там вопрос как сделать макрос, автоматизирующий сей процесс.

У тебя есть мысли как применить VBA в этом деле?

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

Там вопрос как сделать макрос, автоматизирующий сей процесс.

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

Там нее как ПОСТРОИТЬ ЭВОЛЬВЕНТУ.

Там вопрос как сделать макрос, автоматизирующий сей процесс.

А MechSoft_2004 - не подходит взаместо макроса???
Или посовременнее Solidworks GearTrax.
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Snake 60
      Рад помочь ) Сам "ехал на этом коне", вот и запомнил )
    • Guhl
      Важно, что теперь мы знаем, что такая хрень лечится перекатыванием образа на другой диск А что там было, никто и не знает скорее всего  
    • куркуль
      Пожалуйста, проверьте кабель profibus, положение оконечных резисторов, поскольку, судя по характеру описания проблемы, это похоже на проблему сбоя связи profibus. Должны быть включены только два резистора разъемов profibus, а остальные должны быть выключены. Пожалуйста, обратитесь к чертежу OEM, чтобы проверить это. ХТХ. Это ответ от сименса на похожею ошибку.  РЕЗИСТОРЫ - вероятно переключатели на разъёмах профибас. И что по ручному пульту. он ведь тоже прописан.  
    • Andrey_kzn
      А оси начинают движение в референтную точку? Или сразу при запуске реферирования возникает ошибка? Датчики какие на линейной и на круговой оси, чисто инкрементные (надо доехать до концевика при реферировании), или с кодированным расстоянием?  Как организованы аппаратные концевики на круговой оси В? Ошибки с 300000 номерами - это ошибки привода.  NC и PLC  здесь не причём. Такое впечатление, что есть какой-то контроль фактического положения осей перед выполнением процедуры реферирования - дабы не въехать никуда, пока ось не знает своего положения.  попробуйте отреферировать оси из другого положения, разверните ось В, сместите ось V.
    • Anat2015
      Надо пользоваться как Гуглом, так и Яндексом, иногда помогает одно, в другом случае - другое. Раньше пользовался только гуглом, после февраля 2022 стал замечать проблемы, особенно по китайским сайтам.
    • A_1
      Добрый день. Отправляю фрагмент из руководства по эксплуатации по циклу G76. Значение P (высота резьбы) для метрической резьбы можно найти умножив шаг резьбы на коэффициент 0.542. В цикле G76 она задаётся в дискретах станка (в микронах обычно). Это значение всегда примерное, так как на него влияет величина радиуса при вершине резца. Нельзя полагать, что задав рассчитанную высоту резьбы мы получим годную деталь, всегда требуется коррекция, в том числе из-за разной жёсткости системы СПИД. Но правильнее корректировать значение X в цикле G76, а уточненная высота резьбы зависит от этого значения.
    • Maik812
      По компасу есть, по SW 2014 и ниже есть, по step пишите рег выражение. По igs рег выражение и тд. По Creo тоже есть через регулярные. T-Flex нах.. нужен такой CAD :)   #- CMNM ((.*))\. $1 Выводит значение после #- CMNM , но абракотабра.. нужно ковыряться в регулярках чтоб переводил в юникод. http://wincmd.ru/plugring/PCREsearch.html PCREsearch   Еще Можно и http://wincmd.ru/plugring/WinScriptAdv.html скриптовый плагин Все то что выводит ехплорер выводит Shelldetals
    • Maik812
      Есть возможность просто строчку вывести, часто этого достаточно. TextLine.zip  
    • Maik812
      Все есть Плагин PCREsearch  из чего хочешь выведет данные любые,  не закрытый формат был бы. Но даже pdf , есть конверте и выводит .  
    • Rich
      Спасибо, дружище, заработало. До момента установки 23 версии как второй и не знал о таком трабле, все старые вещи работали как часы, ну изредка менял библиотеку.
×
×
  • Создать...