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

Макрос для сортировки пузырьком дерева построения SolidWorks


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

Доброго всем времени суток .

Прошу помочь с написанием макроса для сортировки дерева построения SolidWorks 2011 х64.

Попытался сам написать макрос но столкнулся с нехваткой знаний.

Идея в следующем: после создания сборки с подсборками и деталями требуется рассортировать дерево по порядку.

Хочу реализовать это на VBA при помощи сортировки пузырьком

 

Замысел такой:

Через цикл FOR

присваиваем первой переменной название первого элемента в сборке

второй переменной присваиваем значение второго элемента в сборке

потом через if их сравниваем если вторая переменная больше первой то меняем их местами и переходим на следующую строчку

если нет то просто переходим на следующую строчку

 

Вопросы:

1 Может у кого уже есть готовый макрос(если он будет весь прокомментирован будет совсем хорошо)

2 Может кому не сложно написать за огромное спасибо (ну а вдруг мир не без добрых людей)

3 Может кто подскажет где можно почитать конкретно по этой теме и какие команды надо использовать(не могу понять как выбрать элемент дерева построения)

4 Что неверно в моем алгоритме (вариант "все" не принимается, прошу описать построчно)

5 Может лучше применить другой вид сортировки или другой язык 

 

Заранее благодарю.

 

PS. прошу сильно не ругаться и не критиковать. В программировании понимаю мало(могу написать простейшие макросы для эксэль) , в интернете информации не нашел, при попытке прикрепить код сюда происходит сбой кодировки(прикрепил фаил с кодом и картинку). За грамотность прошу извинить.

 

 

''''''''''''''''''''''''''''''''''' ''Name: Sort SolidWorks 2011 x64 '' ''Author: Pavel-100 '' ''''''''''''''''''''''''''''''''''' 'Ìàêðîñ äëÿ ñîðòèðîâêè ïóçûðüêîì äåðåâà ïîñòðîåíèÿ SolidWorks 2011 õ64 íà VBA Sub main() Dim name1 As String 'çàäàåì ïåðåìåííóþ ¹1 äëÿ ñðàâíåíèÿ Dim name2 As String 'çàäàåì ïåðåìåííóþ ¹2 äëÿ ñðàâíåíèÿ Dim nameChange As String 'çàäàåì ïåðåìåííóþ äëÿ ñîðòèðîâåè Dim i As String 'çàäàåì ïåðåìåííóþ äëÿ íîìåðà ñòîêè i = 1 'çàäàåì çíà÷åíèå ïåðåìåííîé íîìåðà ñòîêè '* name1 = çíà÷åíèå èç ñòðîêè i For a = 1 To 100 i = i + 1 '* name2 = çíà÷åíèå èç ñòðîêè i If name1 < name2 Then 'Ñðàâíèâàåì çíà÷åíèÿ nameChange = name1 'åñëè èñòèííà ìåíÿåì ìåñòàìè çíà÷åíèÿ name1 = name2 ' *çàïèñàòü çíà÷åíèå 1 name2 = nameChange ' *çàïèñàòü çíà÷åíèå 2 Else: name1 = name2 'åñëè ëîæ ïåðåõîäèì íà ñëåäóþùóþ ñòðî÷êó End If Next End Sub

sort.swp

Код.jpg

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


2 часа назад, PSW сказал:

Прошу помочь с написанием макроса для сортировки дерева построения SolidWorks 2011 х64.

http://cccp3d.ru/topic/6071-сделай-свою-работу-в-solidworks-эффективнее/?do=findComment&comment=897176

http://cccp3d.ru/topic/6071-сделай-свою-работу-в-solidworks-эффективнее/?do=findComment&comment=903384

Ссылка на сообщение
Поделиться на других сайтах
14 часа назад, Kelny сказал:

Огромное спасибо. 

Макрос работает, сейчас буду разбираться и изучать.

Тема закрыта.

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
    • Grundick
×
×
  • Создать...