Jump to content

Recommended Posts

jtok

Всем привет

 

Начал ваять макрос для создания Сводной спецификации всех компонентов, входящих в сборку.

 

Корректно разбираются сборки, детали, сварные детали со списком вырезов, которые на самом деле сборки, а также листовые детали со списком вырезов, которые тоже на самом деле сборки.

Рекурсивно строится дерево компонентов со всеми нужными свойствами - для сборок и деталей это SldWorks.Component2,  из которого потом достанем все свойства пользователя, для сварных и листовых деталей, которые сборки - SldWorks.Feature, из которого достаем списки вырезов с теми же свойствами.

 

Рекурсивно же бродим по дереву, дергаем листочки и собираем общее количество и нужные нам свойства.

 

Как оно сейчас работает:

 

Главная форма. Пока на ней ничего не работает, кроме "Большой Красной Кнопки" и мелкого переключателя про промежуточные вычисления:

Скрытый текст

MainForm.jpg

 

Если включен переключатель, будет показано это окно (его включать необязательно, это просто визуализация дерева):

Скрытый текст

ServiceForm.jpg

 

Результат в Excel по кнопке "Продолжить":

Скрытый текст

Excel.jpg

 

Свойства пользователя, которые желательно должны быть заполнены в Списках вырезов или Свойствах пользователя:
 - Формат
 - Наименование
 - Обозначение
 - Масса
 - Материал
 - Заготовка
 - Типоразмер

 

Писалось под SW2018, работает также и на SW2024.

Цель выложить сюда - проверить на баги и глюки, ну и вдруг кому интересно, как ходить по дереву и дергать листики.

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

 

v0.01a

Понятно, использован чатГПТ и кибертехнолох.

Обратная связь приветствуется.

CompTree v0.01a.zip

  • Чемпион 2
Link to post
Share on other sites


UnPinned posts
jtok
2 минуты назад, ГЕЛА сказал:

Хотя и не должно наверное

Должно по идее. В SW2018 работало.

Скорее всего, нужно переключить ссылки в меню Tools-Reference на ваши версии (2024->2020)

Скрытый текст

image.png

Убрал лишние Reference. v0.02a.

CompTree v0.02a.zip

  • Чемпион 2
Link to post
Share on other sites
jtok
32 минуты назад, ANT0N1DZE сказал:

А покупное как-то отображается

Если это деталь или сборка с заполненными свойствами, то да. Но в типе будет деталь или сборка соотв. 

Не обрабатываются пока продвинутые сборки. Они заходят как сборки со своими узлами, как будто они не продвинуты. 

Link to post
Share on other sites
clavr
37 минут назад, jtok сказал:

продвинутые сборки

что это?

Link to post
Share on other sites
jtok
1 час назад, clavr сказал:

что это?

Это такая сборка, которая в спецификации прикидывается не сборкой, т.е все входящие в нее компоненты переходят на один уровень вверх, хотя в дереве конструирования выглядит все как обычно. Поиском по справке Продвинуть/Promote. 
Активируется правой кнопкой мыши по развернутой модельке в спецификации. Выключается правой кнопкой по сборке в дереве из чертежа. 

Link to post
Share on other sites
ГЕЛА

Доброго всем дня. Я правильно понимаю что надо менять библиотеки подчеркнутые на библиотеки с вопросом. Если да - то не помогает , макрос не запускается. Наставте кто на путь истинный .

Скрытый текст

Безымянный.jpg

 

Link to post
Share on other sites

Error: Type mismatch - 'и вставим предупреждение, если не сходится кол-во тел!
        If cBody <> CInt(.cells(currRow + 2, 7 + maxLevel).Value) Then
          .cells(currRow + 3, 7 + maxLevel - 1).Value = "Количество тел [" & cBody & "] не равно количеству деталей [" & _
                                                         .cells(currRow + 2, 7 + maxLevel).Value & _
                                                         "]! Проверьте подсвеченные красным позиции и их примечания или спецификацию по чертежам!"

Edited by mme
Link to post
Share on other sites
jtok
1 час назад, mme сказал:

Error: Type mismatch

Ошибка приведения типов. Я повторить не смог.

 

Есть несколько вариантов решения:

1) закомментить весь блок проверки:

Скрытый текст

image.png

2) переменная cBody - long. Переменная .cells - variant. Правильнее было бы привести .cells к Long с помощью функции cLng():

        If cBody <> CLng(.cells(currRow + 2, 7 + maxLevel).Value) Then
          .cells(currRow + 3, 7 + maxLevel - 1).Value = "Количество тел [" & cBody & "] не равно количеству деталей [" & _
                                                         CLng(.cells(currRow + 2, 7 + maxLevel).Value) & _
                                                         "]! Проверьте подсвеченные красным позиции и их примечания!"
          .cells(currRow + 3, 7 + maxLevel - 1).Font.Bold = True
          .cells(currRow + 3, 7 + maxLevel - 1).Font.Color = vbRed
        End If

 

1 час назад, ГЕЛА сказал:

Наставте кто на путь истинный

Вам нужно снять галки с библиотек, помеченных словом "MISSING" и установить их напротив таких же библиотек, только с вашей версией, сохранить.

После этого заработает, точка входа - ComponentTree.Main:

Скрытый текст

image.png

 

Link to post
Share on other sites
jtok

Версия 0.06. Чисто визуал. Начали использовать в продакшн.

CompTree v0.06.zip

  • Нравится 2
  • Чемпион 1
Link to post
Share on other sites
Snake 60
2 часа назад, jtok сказал:

Версия 0.06. Чисто визуал. Начали использовать в продакшн.

Держи 1000й лайк за это =))

  • Нравится 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Сообщения

    • Andrey_kzn
      Не всем так повезло. Точнее повезло очень не многим.   Нет не возьмёшь. Невозможно было взять кредит на покупку квартиры в начале 2000. У меня друг с семьёй жили в общаге.  Как раз год 2003-2004.  На квартиру кредит взять было невозможно. Тогда они решили купить недостроенный дом. Кредит был у них 450 тысяч. Так и его с трудом получилось взять. только с 3-4 поручителями. И проценты конские. Я сам был поручителем, друг попросил. Понимал конечно, чем это мне грозит.  Но всё обошлось.  Больше я в таких экспериментах не участвовал и не буду.  Вот так другие улучшали свои жилищные условия. А почему такие сложности? Мы переселенцы из Средней Азии, из Ташкента. Деды и отцы наши строили там инфраструктуру, работали врачами, инженерами. После развала Советского Союза оказались не нужны здесь, в России.     Да вы олигарх. У меня в 2002 году был модем и диалап.
    • maxx2000
      @Andrey_kzn  ну да, как-то киловатты мощности передавать нужно 
    • BSV1
      На самом деле прилагательное от фейхоа в русском языке не образуется. Но это скучно. 
    • Fedor
      это 275 бакинских рублей...  
    • Andrey_kzn
      Были. И сейчас есть. И циркуляторы и ЖИГ-резонаторы. Только сейчас приёмо-передающий тракт упростился:  малосигнальная часть после преобразования выполняется на скоростных ЦАП-АЦП и DSP. Вот когда скорости ЦАП-АЦП возрастут до СВЧ -  тогда весь тракт будет выполнен в цифре.
    • maxx2000
      Я уже тут как-то писал про покупку жилья на рубеже нулевых. Ты берёшь деньги в банке на покупку квартиры, квартира сразу твоя. Новая, старая, котлован, абсолютно покую. Каждый последний день месяца ты заносишь взнос в банк(сумма любая), можешь не заносить. НО 1 числа твой остаток долга увеличивается на процентную ставку. Как видите всё дело опять в падлах. 25 лет назад не было не Y циркуляторов не X циркуляторов, а нам про них преподавали. Потому что профессор про них всё знает  И он был сильно удивлен наличием у меня комплекта приёма спутникового интернета и телевидения в 2002 году.
    • Andrey_kzn
      И это тоже.  В Вузах устаревшая материальная база и устаревшие методики преподавания. Ну вот зачем современному студенту изучать ассемблер для 580ВМ80?  а они изучают. Или стандарт сотовой связи NMT450? Его уж нет нигде лет 20.  Хотя, опять же, это  не везде. есть островки где всё хорошо и современно.
    • AlexKaz
      Кто все эти люди без госпрограмм? "Мне платят за коликчество, кто мне будет платить за какчество?!" (c) Райкин   Специально выделил болдом. Госы могут себе позволить платить любое количество фиата госслужащим и участникам госпрограмм при любых ценах на рынке, т.к. у госов в руках денежно-кредитная политика и печатный станок. И это называется нерыночная ипотека. Вот по ссылке вашей она и наблюдается. Не, если погружаться в дебри экономики социализма в СССР - люди работали как и сейчас за деньги, продавая труд. Но ставка кредитов была не сопоставимо ниже.
    • maxx2000
      @gudstartup там всё вполне легально, предприятие закрывается, помещения продаются, склады освобождаются. Как правило недалёкие новые владельцы очередного склада или будущего торгового центра отдавали это всё за самовывоз или по цене металлолома. Часть товара уходила в розницу, часть перекупам которые имели выход на заводы за Уралом или какой нить ГОК . Ведро сверл например можно было купить примерно за 5 литровую канистру кондитерского коньяку, а можно и за пару литров водки, продавались по "рублику" оптом, в розницу по 3р. Каждый имел свои 300%. Каждый это имеется ввиду сам, жена, дети. С 2008 всё стало накрываться потихоньку северным зверьком. Новые владельцы складов стали пытаться сами этим торговать в розницу по оптовым ценам. Вот только ребята сами стреляли себе в ногу и были не в курсе что дельного товара от силы процентов 15-20 на складе. Пока сообразили что к чему, что чтобы продавать хлам, надо иметь ходовой товар, а его нет, значит надо закупать, а закупать уже дорого. цены поползли вверх.  Но это не суть. Суть в том что не было ни ипотек ни кредитов. Ты просто успевал собрать деньги на всё что тебе нужно. Все работали и давали заработать другим.
    • gudstartup
      И еще есть трудности с подготовкой новых кадров на хорошем уровне. Может конечно в топ-10 вузов все в порядке но не все вчерашнему студенту 300 тыс. выложат на ЗП за диплом с пятерками.
×
×
  • Create New...