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

Брасол — программа для оформления чертежей и не только


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

Программа Брасол и описание сыроваты.

 

Функционал:

1 Вставка рамок-форматов

2 Редактирование основной надписи

3 Вставка и редактирование технических требований

4 Изменение масштабов видов и листа.

5 Создание файла PDF нажатием на одну кнопку.

 

Тестировал в SW2012 и SW2018.

Windows XP (32bit) и Windows 10 (64bit)

 

Язык программирования - VB6.

Кто заинтересуется, пишите: мало-помалу работаю над программой.

Хотелось бы понять сначала, заработает ли программа на "чужих" компьютерах.

Рассматриваю любые замечания и пожелания, особенно, имеющие общий характер.

 

https://yadi.sk/d/HABoUzhxGIrZPA

По этой ссылке планирую выкладывать и новые версии.

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


UnPinned posts
5 минут назад, semsv сказал:

Еще вылезает досадная ошибка при нажатии в меню команды "Примечание" с последующим вылетом Брасол

Некоторые возможности в спецификации не доработаны.

Для Autodesk Inventor все работало.

Теперь пытаюсь адаптировать к SW.

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

 

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

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

1. МАСШТАБ

Почему то при выборе масштаба 2,5:1 или 1:2,5 в окне программы вычисляется 5:2 или 2:5 и это же значение вносится в настройки листа. Ручной ввод при этом в квадратики не доступен - должны бы быть серыми, если их нельзя менять или добавить возможность изменения. Кстати в справке зафиксировано аналогичное поведение программы: выбран масштаб 1:1, а в квадратиках масштаба 2:2 (в самой программе удвоение только для масштаба с 2,5).

Если бы я увидел сразу настройку пользователем масштаба в SW (в выпадающем списке этот пункт первый и он иногда не виден при выборе масштаба вида), то не стал бы делать это окно.

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

Поэтому задавал целыми числами.

В окне ОН масштаб отображается правильно.

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

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

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

 

Так же возможно этот монстр тянется к неустановленным модулям у пользователя, ведь у вас полный набор макросов и программ, а у пользователя может быть только чистый Solidworks и ваш Брасол.

 

1 час назад, brigval сказал:

И менять его пока не планирую..

Очередная попытка убеждения провалилась.

 

1 час назад, brigval сказал:

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

Возможно помогло бы собрать эту настройку для всех окон в окно НАСТРОЙКИ программы, что бы там зафиксировать настройки для работы программы и наглядно видеть/запрашивать настрйки от туда. Т.к. доступ к этим настройкам не нужен постоянно, то можно было бы убрать эту настройку из общего меню.

 

 

1 час назад, brigval сказал:

Кнопку Вставить хотел убрать, но пока оставил.

У меня изредка новые знаки накладываются на старые.

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

 

40 минут назад, brigval сказал:

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

Поэтому задавал целыми числами.

Дробных масштабор нет в списке программы, но в ручном режиме ввод дробных масштабов возможен.

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

Вроде так (давно это было, масштаб в одной строке и поэтому разбивался на отдельные параметры):

Цитата

      Set swSheet = swDraw.GetCurrentSheet
      bRet = swSheet.SetScale(CDbl(Replace(Mid(comboScale.Value, 1, InStr(comboScale.Value, ":") - 1), ".", ",")), _
            CDbl(Replace(Mid(comboScale.Value, InStr(comboScale.Value, ":") + 1), ".", ",")), False, False)
      ModelDoc2.EditSheet

 

 

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

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

Хорошая идея! :maladets:

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

 

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

При загрузке окна Разное программа ищет знак шероховатости, вставленный программой ранее 

Если находит, записывает его параметры в окно программы.

 

Если выделить знак, вставленный не программой а пользователем, и нажать на одну из кнопок в рамке "Знак шерох. в углу черт." программа заменит выделенный знак пользователя на свой с такими же параметрами шероховатости. Если определит его как знак по ГОСТ для угла чертежа.

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

Так же возможно этот монстр тянется к неустановленным модулям у пользователя, ведь у вас полный набор макросов и программ, а у пользователя может быть только чистый Solidworks и ваш Брасол.

Если программа запустилась и тем более прочитала данные из SW, то с этим все нормально.

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

Возможно помогло бы собрать эту настройку для всех окон в окно НАСТРОЙКИ программы, что бы там зафиксировать настройки для работы программы и наглядно видеть/запрашивать настрйки от туда. Т.к. доступ к этим настройкам не нужен постоянно, то можно было бы убрать эту настройку из общего меню.

Подумаю.

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

находит, записывает его параметры в окно программы.

 

Если выделить знак

Так работает. Но вставялется в координаты 0,0 и не находится при повторном запуске программы - спишем на севместимость с версией ниже SW2012.

 

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

Дробных масштабор нет в списке программы, но в ручном режиме ввод дробных масштабов возможен.

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

Вроде так (давно это было, масштаб в одной строке и поэтому разбивался на отдельные параметры):

У меня после ручного ввода десятичных чисел SW преобразует их всегда в пропорцию из целых чисел.

Я не стал спорить с SW, задаю ему масштабы целым числом. Поскольку масштаб вставляется в основную надпись не по ссылке, а после обработки программой, то с записью в штампе проблем нет.

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

Так работает. Но вставялется в координаты 0,0 и не находится при повторном запуске программы - спишем на севместимость с версией ниже SW2012.

 

Тип знака задается при вставке, поэтому старый всегда удаляется, а новый взамен вставляется.

У меня функция InsertSurfaceFinishSymbol3 вставляет знак всегда в нулевую точку, не зависимо от заданных координат. Потом этот знак программно поднимается в нужное место (SetPosition2) и переименовывается для последующего поиска программой.

Посмотрел, действительно SetPosition2 работает с SW2014 SP3

Заменю SetPosition2 на SetPosition от SW2000.

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

У меня функция InsertSurfaceFinishSymbol3 вставляет знак всегда в нулевую точку, не зависимо от заданных координат.

Справка прямо указывает, что вставка в координаты возможна при любом значении второго параметра, но не равного swNO_LEADER, который равен 0:

Цитата

Remarks

The SolidWorks software uses the location parameters for this method only if the surface finish symbol has a leader leaderType != swNO_LEADER.

 

https://help.solidworks.com/2010/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.imodeldocextension~insertsurfacefinishsymbol3.html

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

Цитата

Part.Extension.InsertSurfaceFinishSymbol3(0, 1, 0.1322869070789, 0.223986658029, 0, 0, 1, "", "", "", "", "", "", "Ra 3,2")

 

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

Справка прямо указывает, что вставка в координаты возможна при любом значении второго параметра, но не равного swNO_LEADER, который равен 0:

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

 

Видимо, тогда выноска будет видна. И ее надо будет гасить

Надо поисследовать, но я сейчас не имею такой возможности. Оставлю как есть.

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

Видимо, тогда выноска будет видна. И ее надо будет гасить

Обычно такие параметры суммируются, ведь они отвечают за общую настройку, например как инфомационном окне:

Цитата

MsgBox ("Yes or No?", vbYesNo + vbQuestion, "Yes No Example")

в данном случае думается должно действовать то же правило, но так как одно из значений нулевое, то выноска не появляется при значении 1:

Цитата

Part.Extension.InsertSurfaceFinishSymbol3(0, swNO_LEADER + swSTRAIGHT, 0.1322869070789, 0.223986658029, 0, 0, 1, "", "", "", "", "", "", "Ra 3,2")

т.к. суммарно всё равно получается swSTRAIGHT = 1, это дополнительные параметры к выноске:

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

image.png

 

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

Обновление Брасол. Версия 1.29

Выложил EXE со следующими изменениями.

1 Добавлена настройка Загружать все окна программы "Поверх всех окон".

2 Если галка по п. 1 снята, то каждое окно загружается в соответствии с его последним значением "Поверх всех окон".

3 Сделана попытка вставлять знак шероховатости в версиях до SW2014.

4 Сделана попытка вставлять ТТ в версиях SW, в которых ТТ не вставлялись.

5 Исправлены другие замеченные ошибки. 

 

Файл с Яндекс.Диска Brasol.exe надо скопировать (перезаписать) в папку с программой.

 

@Kelny , если найдете возможность попробовать по п. п. 3, 4, пожалуйста, отпишитесь.

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

Обновление Брасол. Версия 1.29

Выложил EXE со следующими изменениями.

Не получается запустить - ни чего не появляется. Через макрос так же не запускается. Пробовал скачать ещё раз - не помогло.

Отображается только инфомационное окно, что Solidworks не загружен, когда это действительно так, а когда запущен - программа не появляется.

Предыдущая версия запускается.

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

Не получается запустить - ни чего не появляется. Через макрос так же не запускается. Пробовал скачать ещё раз - не помогло.

Отображается только инфомационное окно, что Solidworks не загружен, когда это действительно так, а когда запущен - программа не появляется.

Предыдущая версия запускается.

 

Было добавлено определение версии SW. Отключил. Перезагрузил заново.

Почему не работает программа у Вас не понятно.

Определение номера версии по справке 

SOLIDWORKS 2011 SP05, Revision Number 19.5

Если попробуете еще раз, спасибо.

Больше не буду Вас мучить )

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

Было добавлено определение версии SW. Отключил. Перезагрузил заново.

Заработало.

 

6 часов назад, brigval сказал:

3 Сделана попытка вставлять знак шероховатости в версиях до SW2014.

Заработало.

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

Не нравиться, что далеко от правого верхнего угла (возможно стоило бы ввести настройку оступа от рамки) - больше нравиться не более 5 мм от линий рамки до верхнего конца полки знака (знак из блока таким образом привязывал) - по ГОСТ (5-10) мм.

И ещё не меняет положения после вставки, если даже размер формата изменился и знак оказался по середине листа.

Когда выбран параметр БЕЗ ОБРАБОТКИ не деёт внести значение, хотя ГОСТ такое позволяет:

Цитата

ГОСТ 2.309

...

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

 

1 час назад, brigval сказал:

Определение номера версии по справке

Там вроде минимум 2 метода определения версии:

https://help.solidworks.com/2023/english/api/swdocmgrapi/solidworks.interop.swdocumentmgr~solidworks.interop.swdocumentmgr.iswdmdocument~getversion.html

или

https://help.solidworks.com/2022/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~revisionnumber.html

 

6 часов назад, brigval сказал:

4 Сделана попытка вставлять ТТ в версиях SW, в которых ТТ не вставлялись.

Продолжает вставляться скрытым (вставляется, но текст скрыт - аналогично на заметке нажать правой кнопкой и выбрать СКРЫТЬ).

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

При нажатии ВВОД или ВВОД+PDF продолжает закрывать программу Брасол.

 

6 часов назад, brigval сказал:

1 Добавлена настройка Загружать все окна программы "Поверх всех окон".

Вроде работает для всех окон.

 

6 часов назад, brigval сказал:

5 Исправлены другие замеченные ошибки. 

Разобрался почему не росло окно РАМКА: надо было сначала выбирать больший/меньший формат, что бы окно меняло размер для выбора следующего большего/меньшего формата.

Дробный МАСШТАБ 2,5 не заработал.

Со списком имён в Осн.Надписи разобрался - он действительно добавляется и пополняется для каждого поля в отдельности, но не понятно сколько полей добавляется и нет возмжности удалить лишнее, а так же наверняка будут перезаписаны некоторые элементы при полном заполнении списка.

 

1 час назад, brigval сказал:

Больше не буду Вас мучить )

Мучайте, не страшно.

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

Заработало.

Спасибо!

 

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

Не нравиться, что далеко от правого верхнего угла (возможно стоило бы ввести настройку оступа от рамки) - больше нравиться не более 5 мм от линий рамки до верхнего конца полки знака (знак из блока таким образом привязывал) - по ГОСТ (5-10) мм.

Знак сейчас вставляется из расчета на формат А4.

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

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

И ещё не меняет положения после вставки, если даже размер формата изменился и знак оказался по середине листа.

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

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

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

Когда выбран параметр БЕЗ ОБРАБОТКИ не деёт внести значение, хотя ГОСТ такое позволяет:

Я понимаю так, что для углового знака не разрешает. Пока не ясно...

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

Первый - версия для документа.

Я применил GetBuildNumbers2

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

Продолжает вставляться скрытым (вставляется, но текст скрыт - аналогично на заметке нажать правой кнопкой и выбрать СКРЫТЬ).

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

При нажатии ВВОД или ВВОД+PDF продолжает закрывать программу Брасол.

Ок.

Продолжает закрывать программу, то есть вставляет  и потом закрывает?

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

Разобрался почему не росло окно РАМКА: надо было сначала выбирать больший формат, что бы окно меняло размер для выбора следующего большего/меньшего формата.

Да. )

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

Дробный масштаб 2,5 не заработал.

Здесь ничего не делал. Задача получить потом в основной надписи 2,5.

Солид самопроизвольно конвертирует дробные значения в целые числа. Если эти десятичные дроби вставлять вручную. Или я чего-то недоуяснил?

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

Мучайте, не страшно.

Спасибо.

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

На неопределенное время.

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

Я понимаю так, что для углового знака не разрешает. Пока не ясно...

Почему нет? Например, резиновые/пластиковые литые изделия формально получаются без обработки (без снятия материалов), но шероховатость должна быть выдержана и обеспечена формой для литья.

 

15 минут назад, brigval сказал:

Я применил GetBuildNumbers2

Доступно с SW2012 (SolidWorks 2011 SP05, Revision Number 19.5)

GetBuildNumbers (SolidWorks 2009 FCS, Revision Number 17.0)

 

15 минут назад, brigval сказал:

Ок.

Продолжает закрывать программу, то есть вставляет  и потом закрывает?

После нажатия ВВОД Брасол закрывается, а вставляет только первую заметку с ТТ (единственную, если нет разделения ТТ), вторую заметку не вставляет (при разделении заметок).

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

Почему нет? Например, резиновые/пластиковые изделия формально получаются без обработки (без снятия материалов), но шероховатость должна быть выдержана и обеспечена формой для литья.

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

Спорить не хочу, но пока оставлю как есть, а то на другое времени не хватит )

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

Доступно с SW2012 (SolidWorks 2011 SP05, Revision Number 19.5)

GetBuildNumbers (SolidWorks 2009 FCS, Revision Number 17.0)

Версию есть смысл определять и учитывать в коде для коммерческого приложения. Слишком хлопотно.

Я просто попробовал. Пока отложу.

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

После нажатия ВВОД Брасол закрывается, а втавляет только первую заметку с ТТ (единственную, если нет разделения ТТ), вторую заметку не вставляет (при разделении заметок).

Понял. "Одностолбцовые" ТТ вставляются и гаснут. Двух- и более столбцовые закрывают программу.

Погляжу.

(У меня такого никогда не проявлялось)

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

Понял. "Одностолбцовые" ТТ вставляются и гаснут. Двух- и более столбцовые закрывают программу.

Сам Брасол закрывается в обоих случаях.

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

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

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

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

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

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

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

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

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

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

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



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