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

Спецификация для SW по ГОСТ


Ваш опыт использования пакета макросов SWPlus  

630 пользователей проголосовало

  1. 1. Вы используете макросы из пакета SWPlus?

    • Да, постоянно на основной работе.
      460
    • Да, но не на основной работе.
      91
    • Нет
      81
  2. 2. Каие макросы из пакета Вы используете?

    • SpecEditor - для создания спецификаций и ВП
      519
    • MProp - для заполнения свойств моделей
      498
    • DProp - для управления листами чертежа
      346
    • SProp - для заполнения свойств моделей из разделов Стандартные изделия, Прочие изделия и Материалы
      328
    • SaveDRW - для "правильного" сохранения чертежа
      144
    • SaveAsPDF - для сохранения чертежа в формате PDF
      220
    • Master - для создания шаблонов основных надписей
      301
  3. 3. Были ли у Вас проблемы с освоением (изучением) макросов?

    • Нет, мне все интуитивно понятно
      164
    • Да, но я разобрался с помощью форума и описания
      313
    • Да, я до сих пор не могу разобраться как с этим работать
      100
    • Я не стал разбираться, глянул и стер все нафиг
      7
    • Я не пользовался этими макросами
      48
  4. 4. Были ли у Вас проблемы (глюки) с установкой и настройкой макросов?

    • Нет, все установилось нормально
      143
    • Да, но они решились
      282
    • Да, и я до сих пор не могу заставить макросы работать, но хочу это сделать
      154
    • Да, поэтому я и не стал с ними связываться
      7
    • Я не пользовался этими макросами
      46
  5. 5. Устраивает ли Вас подход к автоматизации оформления КД, заложенный в данных макросах?

    • Да
      284
    • Да, хотя кое-что я бы изменил
      261
    • Нет
      23
    • Не знаю
      64


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

  • SHARit закрыл это тему
  • SHARit разблокировал тему
  • 5 лет спустя...


UnPinned posts
1 час назад, Kelny сказал:

Можно попробовать отключить линии границ

Да, такое себе.

А можно как-то выгрузить таблицу, где для компонентов будут столбцы свойств (свойства например от тех же макросов)? чтобы в какой-то другой проге по этим свойствам можно было сортировать. 

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

А можно как-то выгрузить таблицу, где для компонентов будут столбцы свойств (свойства например от тех же макросов)? чтобы в какой-то другой проге по этим свойствам можно было сортировать. 

Конечно можно, создаете шаблон спецификации с добавленными всеми нужными Вам свойствами. Вставляете этот шаблон в сборку - сохраняете полученную таблицу как файл Экселя, в нем же сортируете как душе угодно )

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

Пример абстрактной сборки прикладываю в ней конфигурации одной и той же детали в рамках сборки выводятся с разным номером позиции. Хотя должна быть единица. Пока для себя решили ручным редактированием спецификации. Но ранее видел в ваших роликах, что это автоматом подгружается. Поэтому подумал, что возможно - у меня неправильно отрабатывает макрос.

У вас в настройках солида для нулевого количества стоит "-". Поменяйте на пустой.

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

изображение.png

 

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

А если при работе макроса вообще скрыть таблицу быстрее не получится?

Я так и делаю. Плюс к этому еще некоторые штуки, рекомендованные в хелпе по API. Но это помогает очень слабо.

Ссылка на сообщение
Поделиться на других сайтах
24 минуты назад, Snake 60 сказал:

Конечно можно, создаете шаблон спецификации с добавленными всеми нужными Вам свойствами. Вставляете этот шаблон в сборку - сохраняете полученную таблицу как файл Экселя, в нем же сортируете как душе угодно )

Да, сама таблица создается и вставляется солидом почти мгновенно. Это вот потом с ней тяжело.

4 часа назад, Kelny сказал:

возможно первый подход SWR (бывшее представительство Solidworks в РФ) по выведению отчёта в отдельной программе было технически верным, но продукт оказался сырым и не законченным, а формат самого файла спецификации закрытым без возможностей гибкой настройки и не стандартным вроде MS Word, Excel или любой иной относительно доступный и распространённый формат.

Я думал об этом, но все-таки решил пойти по пути максимального использования функционала самого солида. Основная идея была в том, что документы, оформленные в SWPlus могли просматриваться и даже редактироваться без установленного SWPlus, что удобно при передаче куда-то на сторону. Терять связи при сохранении в ворд или эксель тоже не хотелось.

Будем надеяться, что солид поправит эту тормознутость своих таблиц. Так как это больше похоже на баг. Просто где-то не отключено автообновление и перестроение при изменении ячеек.

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

Будем надеяться, что солид поправит эту тормознутость своих таблиц. Так как это больше похоже на баг. Просто где-то не отключено автообновление и перестроение при изменении ячеек.

Подозреваю, что проблема не в этом. Для редактирования ячейки как бы создаётся/открывается новое поле для ввода текста, то есть это больше похоже не на таблицу, а нарисованную эскизами сущность с множеством заметок и линий эскиза. И если обилие заметок Solidworks вроде переваривает, то вот с множеством эскизов справиться не может. Вставлял DXF/DWG файлы в Solidworks, которые легко жили в совсем старом AutoCAD, но вот для Solidworks обиличе сегментов эскиза становилось проблемой и он становился тормозным и не поворотливым.

 

В том же Ecxel для перехода из одной ячейки в другую не надо с десяток перестроний и отображением отдельного поля для редактирования, а в Solidworks даже в маленькой таблице происходит неоднократное о,новление для отображения поля для изменения, так что это не баг, а фича не предназначенная для больших таблиц и для быстрой работы DS должно переработать этот инструмент или при необходимости вовсе отказаться от свого инструмента и перейти на общепризнанный формат Excel или что-то аналогичное основанное именно на таблицах, а не массивах заметок со всплывающем полем для редактирования.

 

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

Конечно можно, создаете шаблон спецификации с добавленными всеми нужными Вам свойствами. Вставляете этот шаблон в сборку - сохраняете полученную таблицу как файл Экселя, в нем же сортируете как душе угодно )

Спасибо, работает

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

Подозреваю, что проблема не в этом.

Думаете, на низком уровне таблица SW это набор линий и заметок? Который начинает тормозить при редактировании? Ну может и так, не знаю. Хотя если принять эту версию, как тогда объяснить почти мгновенное создание огромных таблиц при их вставке?

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

Думаете, на низком уровне таблица SW это набор линий и заметок? Который начинает тормозить при редактировании? Ну может и так, не знаю.

Как именно построено конечно доподлино не знаю, но подозрения именно такие, т.к. нельзя запросить несколько ячеек, а каждая ячейка открывается с задержкой и выводом отдельного поля ввода поверх таблицы. Кстати массив заметок на те же 15 стобцов и 1000 строк намертво вешает программу при создании массива заметок или блока с заметкой.

 

На сколько знаю через АПИ можно к заметке добавить эскизы прямо в заметку, возможно этот массив построен именно по этому принципу с инструментом доступа к этому блоку данных.

 

Если тыкнуть в таблицу и посмотреть контекстное меню, то этот объект обозначен как:

ДЕТАЛЬНЫЙ ЭЛЕМЕНТ## (Detail Item), то есть как некий блок.

 

@Leon А не пробовали разбирать таблицу не средствами SolidWorks, а через WinAPI с поиском дочерних окон? Может такой заход позволит получить более прямой доступ к массиву данных таблицы или объекту и тогда возможно получилось бы разогнать процесс работы с таблицей, данными в ней, в обход функционала Solidworks.

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

На сколько знаю через АПИ можно к заметке добавить эскизы прямо в заметку, возможно этот массив построен именно по этому принципу с инструментом доступа к этому блоку данных.

Да, Compound Note. Может быть это и она, но, как я и написал выше, основная странность, на мой взгляд, это мгновенное создание в первый момент при наличии тормозов после. Обычно, скорость создания ниже скорости редактирования или как-то близка к ней. А тут все наоборот, поэтому я сомневаюсь, что дело здесь только во внутреннем устройстве.

17 часов назад, Kelny сказал:

А не пробовали разбирать таблицу не средствами SolidWorks, а через WinAPI с поиском дочерних окон?

Нет, не пробовал. 

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

Обычно, скорость создания ниже скорости редактирования или как-то близка к ней. А тут все наоборот, поэтому я сомневаюсь, что дело здесь только во внутреннем устройстве.

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

 

Возможно алгоритмы сортировки должны быть применены ещё до создания таблицы и тогда не нужно будет сортировать таблицу уже после создания, но доступ к предварительной сортировке может отстутствовать в API, но ведь какая-то сортировка всё равно происходит, ведь какая-никакая систематизация в списке происходит при создании спецификации, но просто эта сортировка не по форме ЕСКД.

35 минут назад, Leon сказал:

Нет, не пробовал. 

Возможно это поможет разобраться с каким объектом вы работаете и подобрать подходящии инструменты для обработки объекта быстрее.

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

У вас в настройках солида для нулевого количества стоит "-". Поменяйте на пустой.

Заработало, благодарю!

А толстые линии никак не победить? Везде в настройках стоят тонкие, а создаёт всё равно с толстыми линиями, как в файле - примере.

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

Возможно алгоритмы сортировки должны быть применены ещё до создания таблицы и тогда не нужно будет сортировать таблицу уже после создания

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

13 минут назад, Kelny сказал:

Возможно это поможет разобраться с каким объектом вы работаете и подобрать подходящии инструменты для обработки объекта быстрее.

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

3 минуты назад, artistrouble сказал:

А толстые линии никак не победить?

Это какие-то ваши настройки солида и шаблонов. Было про это, кто-то жаловался. 

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

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

Даже простая запись макроса показывает, как бестолково программа обращается к ячейкам, через поиск ячейки по координатам листа, уже это существенно тормозит процесс, потом по этим координатам создаётся объект EditText или что-то подобное и лишь потом возможность вставить текст:

Цитата

boolstatus = Part.Extension.SelectByID2("Детальный элемент58@Лист1", "ANNOTATIONTABLES", 0.139117611449291, 0.220824796681773, 0, False, 0, Nothing, 0)

Тогда как для редактирования ячеек можно лишь выделить таблицу и задавать значения ячеек при обращении через API, но само выделение таблицы происходит с некоторой задержкой (возможно можно просто пробежаться по таблицам и получить объект таблицы без выделения) и даже в этом случае есть какая-то задержка при заполнении текста в таблицу:

Цитата

Dim swApp As Object
Dim Part As Object

Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Dim myTable As Object
Set myTable = Part.SelectionManager.GetSelectedObject5(1)
myTable.Text(0, 0) = "строка1,столбец1"
myTable.Text(4, 0) = "строка5,столбец1"
myTable.Text(999, 14) = "строка1000,столбец15"
End Sub

 

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

SelectByID2

Эта функция все выделяет с указанием координат. Но это только при записи макроса. В жизни достаточно имени и типа, координаты можно нулями задать.

Ссылка на сообщение
Поделиться на других сайтах
01.10.2024 в 12:06, Leon сказал:

Это какие-то ваши настройки солида и шаблонов. Было про это, кто-то жаловался.

Да, по всей видимости толщина границ таблицы спецификации подгружается из настроек указанных в графе Нормальная: там и стоит 0,6 у меня. Если её меняешь, то меняется толщина таблицы и всех основных линий чертежа и само

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

Смотрел сообщения предыдущие, там также остался подвешенным этот вопрос. 

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

@artistrouble  Вот здесь посмотрите часть кода выделено жирным - это, скорее всего, то что Вам нужно.

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

Да, по всей видимости толщина границ таблицы спецификации подгружается из настроек указанных в графе Нормальная

Нет, что-то не то здесь... Менять толщину нормальной линии не нужно, таблица должна создаваться именно тонкими линиями.

Вы бы выложили файл с таблицей, посмотреть на настройки.

Изменено пользователем Leon
Ссылка на сообщение
Поделиться на других сайтах
14 часов назад, Snake 60 сказал:

@artistrouble  Вот здесь посмотрите часть кода выделено жирным - это, скорее всего, то что Вам нужно.

Добавил выделенный код в макрос после каждой функции создания таблицы и создалась с тонкими! Спасибо за помощь и уделенное время!

 

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

Set swBomTable = swView.InsertBomTable4(True, vSheetProps(5) - 0.005, 0.068, swBOMConfigurationAnchor_BottomRight, swBomType_TopLevelOnly, sConfigName, sSource1, False, swNumberingType_e.swIndentedBOMNotSet, False)
            If Not swBomTable Is Nothing Then
       swBomTable.BorderLineWeight = 0
       swBomTable.GridLineWeight = 0
    End If
            Set swBomFeat = swBomTable.BomFeature ' ********
            ReDim sTemp(0)
            sTemp(0) = sConfigName
            vConfVisible = sTemp
            vVisible = Null
            bRetval = swBomFeat.SetConfigurations(True, vVisible, vConfVisible)
            swBomFeat.DisplayAsOneItem = True '***********
            swBomFeat.PartConfigurationGrouping = swDisplay_ConfigurationWithSameName_AsOneItem
        Else
            Set swBomTable = swView.InsertBomTable4(True, 0.02, 0.292, swBOMConfigurationAnchor_TopLeft, swBomType_TopLevelOnly, sConfigName, sSource1, False, swNumberingType_e.swIndentedBOMNotSet, False)
            If Not swBomTable Is Nothing Then
       swBomTable.BorderLineWeight = 0
       swBomTable.GridLineWeight = 0
    End If
            Set swBomFeat = swBomTable.BomFeature ' ********
            ReDim sTemp(0)
            sTemp(0) = sConfigName
            vConfVisible = sTemp
            vVisible = Null
            bRetval = swBomFeat.SetConfigurations(True, vVisible, vConfVisible)
            swBomFeat.DisplayAsOneItem = True '***********
            swBomFeat.PartConfigurationGrouping = swDisplay_ConfigurationWithSameName_AsOneItem
        End If
    ElseIf CboType.ListIndex = 1 Then ' Групповая спецификация
        Set swBomTable = swView.InsertBomTable2(True, 0.005, 0.19, swBOMConfigurationAnchor_TopLeft, swBomType_TopLevelOnly, sConfigName, sSource1)
        If Not swBomTable Is Nothing Then
       swBomTable.BorderLineWeight = 0
       swBomTable.GridLineWeight = 0
    End If
        Set swBomFeat = swBomTable.BomFeature
        swBomFeat.DisplayAsOneItem = True '***********
        swBomFeat.PartConfigurationGrouping = swDisplay_ConfigurationWithSameName_AsOneItem
    Else ' Ведомость покупных
       ' Set swBomTable = swView.InsertBomTable2(True, 0.02, 0.292, swBOMConfigurationAnchor_TopLeft, swBomType_Indented, sConfigName, sSource11)
        Set swBomTable = swView.InsertBomTable4(True, 0.02, 0.292, swBOMConfigurationAnchor_TopLeft, swBomType_PartsOnly, sConfigName, sSource11, False, swNumberingType_e.swIndentedBOMNotSet, False)
        If Not swBomTable Is Nothing Then
       swBomTable.BorderLineWeight = 0
       swBomTable.GridLineWeight = 0
    End If

 

 

 

 

13 часов назад, Leon сказал:

Нет, что-то не то здесь... Менять толщину нормальной линии не нужно, таблица должна создаваться именно тонкими линиями.

Вы бы выложили файл с таблицей, посмотреть на настройки.

Ну я такую только зависимость нашел... Ранее направлял ссылку на пробную сборку в ней групповая спецификация как раз автоматом создана через макрос и с толстыми линиями вышла. Там если меняешь толщину нормальной линии в настройке, то меняется и толщина таблицы.

Ссылку дублирую https://cloud.mail.ru/public/3b4o/eymYHMVcU

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

Ну я такую только зависимость нашел.

Значит в новых версиях солида что-то накосячили. На SW2018 такого не было. Вариант @Snake 60 это решение. Сейчас посмотрел, оно у меня в новом SWPlus тоже применяется, значит другого выхода нет.

52 минуты назад, nahaus сказал:

MProp ругается.

Возможно вы что-то изменили в файле штриховок. Выложите посмотреть.

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

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

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

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

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

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

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

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

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

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

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



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