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

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

Кто то на хвост наступил...

ну... вобщем-то попробовать наступить и рискнуть своим здоровьем имеет право любой желающий :bleh:

...что так желчи много накопилось?

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


что Леон забесплатно раздал.

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

Все абсолютно верно подмечено, мне ценность курса видится в последующей персональной поддержке в течение 3 месяцев. Будет ли это востребовано - покажет время

Мне кажется это будет:

Либо Курс для новичков программирования и тогда это Основы программирования и в какой-то степени изучение английского языка и ни какого отношения к Solidworks (косвенно изучение основ программирования на примерах из Solidworks).

Либо Курс для пользователей имеющих представление о том, что такое программирование и направлен основы подключения программы к Solidworks, написание макросов, Add-in, добавление с помощью программы своего меню, кнопок, в другие предусмотренные для вмешательства места будет интересен для ленивых, кому лень самому справку почитать и ознакомится с примерами в справке, а нужен человек который будет подсказывать правильные ответы на поставленные вопросы. Эти пользователи возможно воспользуются вашим предложением, что бы вы им справку переводили, писали фрагменты кода, но не уверен, что вы готовы поддерживать слушателя на столько глубоко, что бесплатно ему код писать на его задачи... Думаю поддержка будет заключаться в ссылке на справку и возможно в какой-то мере перевод или комментарии на русском языке к справке, благо справка имеет много примеров и комментариев (пусть справка и на не знакомом языке, но сейчас в распоряжение имеется множество онлайн переводчиков).

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

Есть ли какие нибудь способы для создания списка/объекта выделенных элементов?

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

Вот такой код в цикле

string assyName = swModel.GetTitle().Substring(0, swModel.GetTitle().Length - 7);

					string fullName = nameComp + "@" + assyName;

					bool retval = swModel.Extension.SelectByID2(fullName, "COMPONENT", 0, 0, 0, true, 0, null, 0);

					int count = selectionMgr.GetSelectedObjectCount2(-1);
сначала выделяет нужные, а потом пробегая дальше по дереву - снимает выделение :unsure: Из-за чего count сначала равен (допустим) 30, а потом уменьшается.
Ссылка на сообщение
Поделиться на других сайтах

Есть ли какие нибудь способы для создания списка/объекта выделенных элементов?

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

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

В связи с очень интересной <noindex>темой</noindex>, накидал пару строк)))

IDisplayDimension swDispDim;

			IDimension DP;

			ISelectionMgr swSelMgr = swModel.ISelectionManager;

			int selType = swSelMgr.GetSelectedObjectType2(1);

			int selCount = swSelMgr.GetSelectedObjectCount();

			object selDim = (object)swSelMgr.GetSelectedObject6(selCount, -1);

				 Enum  Tol = swSelectType_e.swSelDIMENSIONS;

				 int zzzz = Convert.ToInt32(Tol);

				 if (selType == Convert.ToInt32(Tol)/*(int)swSelectType_e.swSelDIMENSIONS*/)

				 {

					 swDispDim = (IDisplayDimension)swSelMgr.GetSelectedObject5(1);

					 

					 DP = swDispDim.IGetDimension();

					 DP.SetToleranceType((int)swTolType_e.swTolFITTOLONLY);

					 IDimensionTolerance swDimensionTolerance = DP.Tolerance;

					 bool retVal = swDimensionTolerance.SetFitValues("H7", "");

					 //Вот тут надо ввести дефолтное значение

					//Т.е. swDimensionTolerance.SetValues(Циферка, Циферка) не подходит.

					 swModel.GraphicsRedraw2();

				 }
При таком раскладе вставляется посадка, но без допуска!!

Вопрос: каким образом ввести системное значение, а не вставленное ручками?

Решим совместными усилиями? или же всётаки придётся создавать программку с базой/таблицей допусков и уже оттуда тягать значения?

Решение этой проблемы может помочь и с "Часто используемыми" (не обновляются).

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

Всё!!! Разобрался!!!

Накидаю супер-макрос, который всё сделает как надо. Добавлю часто используемые. Выложу :rolleyes:

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

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

Таблица допусков и так в базе лежит: fit.mdb.
Ссылка на сообщение
Поделиться на других сайтах

теперь пристально слежу))

да в принципе макрос то из 5 строчек)) только вот работать, зараза, не хочет

Kelny

Можете помочь?

Option Explicit

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swSelMgr As SldWorks.SelectionMgr

Dim swDisplayDimension As SldWorks.DisplayDimension

Dim swDimension As SldWorks.Dimension

Dim swDimensionTolerance As SldWorks.DimensionTolerance

Dim fontHeight As Double

Dim fontScale As Double

Dim bRet As Boolean



Sub main()

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swSelMgr = swModel.SelectionManager

Set swDisplayDimension = swSelMgr.GetSelectedObject6(1, 0)

If swSelMgr.GetSelectedObjectType3(1, -1) <> swSelDIMENSIONS Then Exit Sub

Set swDimension = swDisplayDimension.GetDimension

Set swDimensionTolerance = swDimension.Tolerance

'Задаём посадку

swDimensionTolerance.Type = swTolType_e.swTolFIT

'Задаём значение

bRet = swDimensionTolerance.SetFitValues("H12", "")

'Теперь, когда SW знает посадку, задаём "только допуск"

swDimensionTolerance.Type = swTolType_e.swTolFITTOLONLY

swModel.GraphicsRedraw2

End Sub
При таком раскладе SW (почему-то) отображает что допуск H12 а числовые значения по нулям. Если жмакнуть на кнопку Отверстия рядом с квалитетом - то всё покажет. Как это заставить сделать систему - ума не приложу.
Ссылка на сообщение
Поделиться на других сайтах

При таком раскладе SW (почему-то) отображает что допуск H12 а числовые значения по нулям. Если жмакнуть на кнопку Отверстия рядом с квалитетом - то всё покажет. Как это заставить сделать систему - ума не приложу.

Я смирился с этим лет этак 8 назад.... Средствами API SW ни в какой из версий не получалось.
Ссылка на сообщение
Поделиться на других сайтах

Была такая прога от SWR, "Tolerance", если на компактах найду выложу, как раз для решения проблем с допусками.

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

Была такая прога от SWR, "Tolerance", если на компактах найду выложу, как раз для решения проблем с допусками.

Так, а в чем проблема-то? Не пойму. Надо и "Н12" ставить и числовые значения? Или как?

PS . Моя самая первая прога - еще для SW99 сделал, тоже называлась "Tolerance" :biggrin:

post-5350-1350582163.jpg

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

Так, а в чем проблема-то?

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

В общем нашел, самое последнее упоминание от 2003 года, скажите на какой обменник выложить ~ 300 70 метров (архив и набор стандартных деталей).

Скажу сразу ни когда не использовал особо, стояло и все... А потом и в самом солиде появилась база, и интерес пропал к проге.

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

kolobok

Вы сейчас про что?

Если про то, что программа вставляла числовые значения в поля допусков, то это плёвое дело: 1 XML-ка и (опять же) пару строк кода...даже одна)))

EditDimensionProperties2

Если нет - то проясните.

чтобы допуска солид сам ставил

на какой обменник выложить

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

Средствами API SW ни в какой из версий не получалось.

Заметил вот что, если до этого на размере применить допуск и нажать кнопку рядом - то потом значения изменяются. Как нажать эту кнопку с пом API не знаю.

Если честно, я вообще не понимаю зачем эта кнопка нужна. Зачем изменять допуск, который жестко прописан?? Сделали бы уж тогда в выпадающем списке отдельно "свои значения". А то получается посадка есть, а допуск свой.

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

Если нет - то проясните.

От SWR была прога с базой данных допусков для солида, на своей заре не было в солиде допусков и посадок.

В проге есть уже база этих самых допусков и посадок, дабы не набирать в рукопашную.

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

Заметил вот что, если до этого на размере применить допуск и нажать кнопку рядом - то потом значения изменяются. Как нажать эту кнопку с пом API не знаю.

С помощью API SW никак. С помощью Win32 API возможно наверное, но овчинка выделки не стоит.

Если честно, я вообще не понимаю зачем эта кнопка нужна. Зачем изменять допуск, который жестко прописан?? Сделали бы уж тогда в выпадающем списке отдельно "свои значения". А то получается посадка есть, а допуск свой.

Я использую эту функцию вместо "часто используемых" и чтобы не листать этот длинный список посадок в комбобоксе. Забил наиболее популярные и все. "Часто используемые" работали раньше не совсем корректно.

post-3876-1350590756.jpg

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

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