Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > vba.3d-сортамент(vba исходники открыты)

vba.3d-сортамент(vba исходники открыты)

Ответ
Поиск в этой теме
Непрочитано 02.06.2009, 13:17
vba.3d-сортамент(vba исходники открыты)
Mikka
 
Регистрация: 05.08.2008
Сообщений: 155

Доброго времени суток уважаемые, хочу предстваить бето версию своей программы под АВТОКАД на VBA!
- Программа позволяет чертить профеля металлопроката в трехмерке, и легко их изменять!
- Дополнительная утилита позволяет создаваь спецификацию металлопроката по построенному объекту!
- Прога написана целиком на VBA

Для установки скопируйте содержимое архива в папку
D:\work\aCAD_mini_2
и перетащите файл setup.scr на окно акада!
Жду отзывов и предложений!

Выложил открытые файлы!
Очень жду вашей критики и предложений по поводу кода!
З.Ы. я не профессионал, а только любитель

+ исправил некоторые глюки с прорисовкой профиля
+ добавил новый диалог "изменить свойства"
+ добавил справку


Залил новую версию программы
+ исправил некоторые глюки с прорисовкой профиля
+ добавил пластины


Залил новую версию программы
+ исправил некоторые глюки
+ теперь программа при отрисовке пластин учитывает направление обхода полилинии. Т.е. пластина выдавливается независимо от текущей системы координат.
+ включил галочку "зеркальный" для пластин. Т.е. теперь можно изменять направление выдавливания пластины.


+ переписал часть кода
+ теперь 2 клик по объекту работает и в 2008 автокаде
- есть идея хранить данные профиля не в xdata а словаре связанном с объектом(скорее всего предыдущие чертежи будут не изменяемы).
Нужен ли конвертор старых чертежей?


18.10.09
Сортамент версия 502
Возможности
+ добавил команду разнести по слоям и режиме рисования по слоям
+ добавил привязку к пластинам (теперь пластины не только зеркалятся, но еще могут выдавливаться так, чтоб базовая линия была по центру)
+ добавил возможность задать любому твердому телу данные профиля, с последующим учетом в спецификации (может понадобится для фигурных, не стандартных деталей, например гнутого листа)
+ теперь программа пытается автоматически определять ширину и длину описанного вокруг пластины прямоугольника, и выводит эти параметры в обозначении пластины, а также для составления спецификации элементов
Ошибки
+ исправил глюки с 2 кликом (добавил настроку в acadMini2.ini для отключения 2 щелчка мышью)
нуждается в тестировании, т.к это может привести к вылету автокада
+ исправил глюки с кистью (свойство пластины нельзя перенести на свойства профиля)

Модуль спецификации версия 232
Возможности
+ добавлена спецификация элементов (настройки смотри в файле table.ini радздел tab2)
+ добавил возможность выбора объектов для составления спецификаций
Ошибки
+ исправлена ошибка возникающая при попытки составить спецификацию металлопроката в пустом чертеже
+ исправлена ошибка определения ширины записи в столбце таблицы при заполнении спецификации

Модуль слои версия 11
Ошибки
+ исправлена ошибка возникающая при отмене выбора

з.ы. исправил ошибку определения ширины пластины...

Народ, отпишитесь, с какой детальностью рисовать метизы...

Вложения
Тип файла: rar aCAD_mini_2.rar (1.24 Мб, 992 просмотров)


Последний раз редактировалось Mikka, 26.10.2009 в 12:00.
Просмотров: 32508
 
Непрочитано 20.09.2009, 13:58
#61
beholder

Конструктор (МК)
 
Регистрация: 27.11.2007
Львів
Сообщений: 456
<phrase 1=


Цитата:
Сообщение от Mikka Посмотреть сообщение
метизы будут строится как профиля, т.е. солидами вокруг базовой линии.
В принципе философия понятна. Вот только расположение этой базовой линии относительно самого сечения, мне кажется, не везде сделано правильным. Если для двутавров, труб и гнуто-сварных профилей все ОК, то для швеллеров и уголков, она у Вас расположена посредине габаритов сечения, а в работе будет удобнее, если она будет проходить у швеллера по внешней грани стенки по ее средине, а у уголка либо по оси инерции, либо по обушку. А лучше всего сделать возможным выбор привязки этой линии к сечению, так как в разных случаях при построении удобной будет разная привязка элемента. Это, конечно, если существует в принципе возможность этот параметр изменить. P.S. А насчет отверстий и, то наверное, их необходимость не такая большая если программа будет использоваться для разработки чертежей КМ, потому сильно заморачиваться с ними не стоит. По метизах идея вполне приемлема (имхо).
beholder вне форума  
 
Автор темы   Непрочитано 20.09.2009, 19:05
#62
Mikka


 
Регистрация: 05.08.2008
Сообщений: 155


beholder спасибо, по поводу базовой линии смотри Раздел 3.1 пункт 6 файла 3SrtHelp.doc.
Mikka вне форума  
 
Непрочитано 20.09.2009, 22:49
#63
beholder

Конструктор (МК)
 
Регистрация: 27.11.2007
Львів
Сообщений: 456
<phrase 1=


Это тебе спасибо, Mikka, это я не разобрался с программой, а уже замечания пишу Там все неплохо сделано в этом плане...
beholder вне форума  
 
Непрочитано 24.09.2009, 22:29
#64
beholder

Конструктор (МК)
 
Регистрация: 27.11.2007
Львів
Сообщений: 456
<phrase 1=


Пришла в голову одна идея. Mikka, думаю, было бы намного лучше, если бы в Вашей программке элементы выделялись цветом не по виду профиля, а по типу конструкций, который учитывается в спецификации, то есть, если бы для колонн был свой слой, для балок свой, для связей свой и т. д. Так будет намного удобнее при деталировке сложных узлов, так как иногда нужно будет отключать отображение некоторых конструкций для удобства и хорошей видимости, а делать это если они будут все на одном слое не будет возможным. Кроме того назначение слоя дает свободу пользователю в том, каким цветом у него будут отображаться те, или иные элементы, это очень практично. Думаю, и "гуру" меня в этом поддержат. Удачи в вашем непростом деле
beholder вне форума  
 
Непрочитано 24.09.2009, 23:38
#65
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от beholder Посмотреть сообщение
... Так будет намного удобнее при деталировке сложных узлов, так как иногда нужно будет отключать отображение некоторых конструкций для удобства и хорошей видимости, а делать это если они будут все на одном слое не будет возможным....
На самом деле, вполне можно реализовать программно отключение видимости объектов не зависимо от слоя.. Выделил какие-либо объекты, и все остальные "выключились" (или наоборот, выбранные выключились); ну и соответственно команда/кнопка для включения видимости всех. Вообще, может даже возможно реализовать нечто вроде "инспектора объектов", - немодальную форму , в которой будут отображаться отсортированные сведения о свойствах объектов-профилей, с помощью которой можно будет их выбирать/изменять .. (выбрал, к примеру, все двутавры из состава колонн, и можешь изменить N профиля..)
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 27.09.2009, 19:08
#66
beholder

Конструктор (МК)
 
Регистрация: 27.11.2007
Львів
Сообщений: 456
<phrase 1=


Цитата:
Сообщение от AlexV Посмотреть сообщение
На самом деле, вполне можно реализовать программно отключение видимости объектов не зависимо от слоя..
Вообще то программно можно реализовать много чего, все зависит от средств, которые использует наш автор. Я к сожалению не могу оценить, возможно ли такое используя VBA, да и вообще я не программист, а автору темы совет может быть полезным.
beholder вне форума  
 
Автор темы   Непрочитано 28.09.2009, 11:30
#67
Mikka


 
Регистрация: 05.08.2008
Сообщений: 155


Цитата:
Сообщение от beholder Посмотреть сообщение
Пришла в голову одна идея. Mikka, думаю, было бы намного лучше, если бы в Вашей программке элементы выделялись цветом не по виду профиля, а по типу конструкций, который учитывается в спецификации, то есть, если бы для колонн был свой слой, для балок свой, для связей свой и т. д.
- хорошая идея, мне она тоже приходила в голову, но на работе поддержку не нашла.
- будет режим черчения по слоям (все настройки как всегда смотри в acadMini2.ini)
- и команда раскидать по слоям.

Вопрос такой нужна ли команда для обратного действия или нет? (я думаю что нет, потому как прим помощи команды _filter это легко делается вручную )
Mikka вне форума  
 
Непрочитано 13.10.2009, 13:25
#68
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Если кроме этой программы загружены и включены другие макросы, то имеют место быть глюки.. Иногда. То базы не находятся, то ошибки вылетают.. Наверное, это связано с использованием ThisDrawing.Application.VBE.ActiveVBProject.FileName; т.к. активным может быть и другой проект..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 15.10.2009, 09:17
#69
Mikka


 
Регистрация: 05.08.2008
Сообщений: 155


Спасибо, подправлю в новой ревизии
--
Проверил свой код(писал давно, не помню), нынешняя версия программы способна отличать относительный путь от абсолютного!
Т.е. если путь начинатеся с "..\" он задан относительно пути запуска макроса...
Достаточно заменить все пути на абсолютные:

BasesDir= D:\work\aCAD_mini_2\bases\acadMini2
BaseImgDir= D:\work\aCAD_mini_2\bases\acadMini2\Images
--
Добавил новую версию программы...

Последний раз редактировалось Mikka, 18.10.2009 в 12:24.
Mikka вне форума  
 
Непрочитано 26.10.2009, 12:21
#70
Mak


 
Регистрация: 18.06.2009
Сообщений: 117


Если я правильно понял Mikkа вы пишите прогу метизы:
Цитата:
Народ, отпишитесь, с какой детальностью рисовать метизы...
Я думаю детальность метизов нужно делать по минимому
Mak вне форума  
 
Непрочитано 26.10.2009, 14:12
#71
REDS

Конструктор (Железяки)
 
Регистрация: 12.04.2007
Russia
Сообщений: 252


Согласен... детальность метизов - по минимуму... главное габариты показать... главное, чтобы можно было их потом в спецификацию посчитать с указанием длины диаметра и кол-ва... так же шайбы и гайки.
А если бы подбиралась длина автоматом по толщине пакета и кол-ву гаек - так это была бы совсем красота
__________________
<<Самое сложное - ДОЙТИ ДО ПРОСТОГО...>>
REDS вне форума  
 
Непрочитано 03.12.2009, 13:29
#72
LSN


 
Регистрация: 19.04.2007
Сообщений: 191


На 2010 Acad'е не загружает базу профилей. Само меню загружается, загружается форма, но список пуст. При загрузке через ярлык в Acad'е выводит следующее:

Command: _filedia
Enter new value for FILEDIA <1>: 0
Enter BACKSPACE to interrupt script.

Command: (gc)
nil

Command: (gc)
nil

Command: (gc)
nil

Command: (setq d_support
";D:\\work\\aCAD_mini_2\\interfase\\menu\\images\\;D:\\work\\aCAD_mini_2\\interf
ase\\menu\\;D:\\work\\aCAD_mini_2\\bin\\")
";D:\\work\\aCAD_mini_2\\interfase\\menu\\images\\;D:\\work\\aCAD_mini_2\\interf
ase\\menu\\;D:\\work\\aCAD_mini_2\\bin\\"

Command: _delay Enter delay time (in milliseconds): 50

Command: (vl-load-com)

Command: (setq pref_obj (vla-get-Files (vla-get-Preferences
(vlax-get-acad-object))))
#<VLA-OBJECT IAcadPreferencesFiles 119d6178>

Command: (setq old_support (vla-get-SupportPath pref_obj))
"C:\\Users\\Сергей\\AppData\\Roaming\\Autodesk\\AutoCAD
2010\\R18.0\\enu\\support;C:\\Program Files\\AutoCAD 2010\\support;C:\\Program
Files\\AutoCAD 2010\\fonts;C:\\Program Files\\AutoCAD 2010\\help;C:\\Program
Files\\AutoCAD 2010\\express;C:\\Program Files\\AutoCAD
2010\\support\\color;D:\\acad\\lisp\\pltools;D:\\acad\\lisp\\spec;D:\\acad\\lisp
\\прокат;C:\\Program Files\\AutoCAD
2010\\g_tools;D:\\acad\\lisp\\blts;D:\\Acad\\LISP\\math;D:\\work\\aCAD_mini_2\\i
nterfase\\menu\\images\\;D:\\work\\aCAD_mini_2\\interfase\\menu\\;D:\\work\\aCAD
_mini_2\\bin\\"

Command: (setq new_support (strcat old_support d_support))
"C:\\Users\\Сергей\\AppData\\Roaming\\Autodesk\\AutoCAD
2010\\R18.0\\enu\\support;C:\\Program Files\\AutoCAD 2010\\support;C:\\Program
Files\\AutoCAD 2010\\fonts;C:\\Program Files\\AutoCAD 2010\\help;C:\\Program
Files\\AutoCAD 2010\\express;C:\\Program Files\\AutoCAD
2010\\support\\color;D:\\acad\\lisp\\pltools;D:\\acad\\lisp\\spec;D:\\acad\\lisp
\\прокат;C:\\Program Files\\AutoCAD
2010\\g_tools;D:\\acad\\lisp\\blts;D:\\Acad\\LISP\\math;D:\\work\\aCAD_mini_2\\i
nterfase\\menu\\images\\;D:\\work\\aCAD_mini_2\\interfase\\menu\\;D:\\work\\aCAD
_mini_2\\bin\\;D:\\work\\aCAD_mini_2\\interfase\\menu\\images\\;D:\\work\\aCAD_m
ini_2\\interfase\\menu\\;D:\\work\\aCAD_mini_2\\bin\\"

Command: _delay Enter delay time (in milliseconds): 50

Command: (vla-put-SupportPath pref_obj new_support)
nil

Command: _delay Enter delay time (in milliseconds): 50

Command: (if (menugroup "ACM") (command "_menuunload" "ACM"))
_menuunload
Enter the name of a Customization Group to unload:ACM
Customization file unloaded successfully. Customization Group: ACM

Command: nil

Command: _menuload
Enter name of customization file to load: acmMnu.cui

Customization file loaded successfully. Customization Group: ACM

Command: (if (menugroup "ACM")
(_> (progn
((_> (setq menu_pos (- (vla-get-Count (vla-get-MenuBar (vlax-get-acad-object)))
1))
((_> (vlax-for menu_bar (vla-get-Menus (vla-item (vla-get-MenuGroups
(vlax-get-acad-object)) "ACM"))
(((_> (vla-InsertInMenuBar menu_bar menu_pos)))))
; error: extra right paren on input

Command: (gc)
nil

Command: (gc)
nil

Command: (gc)
nil

Command: _filedia
Enter new value for FILEDIA <0>: 1

Command: _attdia
Enter new value for ATTDIA <1>: 1

Command: (setvar "fullplotpath" 0)
0


Может знает кто как это можно исправить?
LSN вне форума  
 
Автор темы   Непрочитано 04.12.2009, 11:09
#73
Mikka


 
Регистрация: 05.08.2008
Сообщений: 155


Ты пробовал в файле acadMini2.ini в секции [bases] поменять относительные пути на абсолютные?
Под рукой нет 2010 автокада, проверить не могу....
з.ы если прога грузится не с сетевого диска, то в ярлык ничего пропсывать не нужно, а достаточно однократно запустить файл setup.scr
з.з.ы с команой строкой на первый взгляд все нормально, это отрабатывает setup.scr
Mikka вне форума  
 
Непрочитано 07.12.2009, 14:28
#74
LSN


 
Регистрация: 19.04.2007
Сообщений: 191


Там уже стояли абсолютные пути. (они совпадают с реальным расположением)
LSN вне форума  
 
Непрочитано 08.12.2009, 06:21
#75
aloha1978


 
Регистрация: 08.12.2009
Сообщений: 1


Я так понимаю, что программа ориентирована на строительные специальности. А вот я, по роду своей деятельности, занимаюсь черчением технологических трубопроводов в 3D. В связи с этим вопрос: планируется ли добавление в программу отводов труб, переходов с одного сечения на другое, фланцев? Если нет, то может кто-нибудь подскажет, на простом языке (для не очень опытного программиста LISP) как это можно реализовать и подключить к этой программе?
aloha1978 вне форума  
 
Автор темы   Непрочитано 15.12.2009, 18:33
#76
Mikka


 
Регистрация: 05.08.2008
Сообщений: 155


Уважаемый LSN к сожалению у меня нет возможности в ближайшее время протестировать прогу под 2010 акадом! Возможно только после нового года...
По поводу технологической части, мы только планируем ... работы начноутся опять же после нового года... Что это будет пока не ясно, либо какие то прибомбасы под КадВоркс, либо самостоятельная прога на движке 3d сортамета...
З.ы. следующая версия самого сортамента выйдет не раньше конца января...
Mikka вне форума  
 
Непрочитано 28.07.2011, 12:57
#77
angel-fear

инженер-электрик
 
Регистрация: 21.10.2010
Краснодар
Сообщений: 134


Проект умер? Автор жив?
Глюк с исчезновением баз можно вылечить?
angel-fear вне форума  
 
Непрочитано 29.07.2011, 22:18
#78
_mikka


 
Регистрация: 29.12.2010
Сообщений: 111


Проект умер!, автор жив!
Опишите пожалуйста глюк, и версию автокада, постараюсь помочь!
_mikka вне форума  
 
Непрочитано 01.08.2011, 09:22
#79
_mikka


 
Регистрация: 29.12.2010
Сообщений: 111


Вот последняя версия программы (ей около года)

Теперь на счет установки:
1. в ini пропиши полный путь к сортаментам
2. и еще , глянь в СЕРВИС -> НАСТРОЙКА (закладка файлы, на ней "Пути доступа к вспомогательным файлам), там должны быть абсолютные пути к программе !

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

На всякий пожарный привожу список путей, которые должны быть прописаны (есть в setup.scr)
...\aCAD_mini_2\interfase\menu\images\
...\aCAD_mini_2\interfase\menu\
...\aCAD_mini_2\bin\

соответственно вместо '...' нужно подставить полный путь...

з.ы. Желаю всем удачи!
З.З.Ы Разработка проекта с моей стороны прекращена! Буду рад если кто нибудь займется моей програмулиной
з.з.з.ы если возникнут вопросы по установке, или будут досаждать какие нибудь глюки, пишите, постараюсь помочь!

Исправил глюк с ошибкой при старте, см. приложение
Вложения
Тип файла: rar Копия aCAD_mini_2.rar (1.50 Мб, 120 просмотров)
Тип файла: rar aCadMini3d.rar (266.0 Кб, 108 просмотров)

Последний раз редактировалось _mikka, 01.08.2011 в 12:32.
_mikka вне форума  
 
Непрочитано 01.08.2011, 13:30 Спецификация
#80
angel-fear

инженер-электрик
 
Регистрация: 21.10.2010
Краснодар
Сообщений: 134


Вот пример файла. Насколько я понимаю, проблема связана с тем, что я удалил базовые линии солидов. Но даже если создать в этом файле новые солиды, спецификация их не обрабатывает. Имеем пустые таблицы и окошко с надписью "Ключ не найден".
Вложения
Тип файла: rar 1.rar (1.15 Мб, 95 просмотров)
angel-fear вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > vba.3d-сортамент(vba исходники открыты)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструирование в 3D Serz AutoCAD 87 28.10.2014 10:40
Преобразование 3D Solid'а в 3D линии Tatarin AutoCAD 3 19.02.2009 17:37
Использование в AutoCad 3d модели созданной в AutoCad Архитектор faust23 AutoCAD 25 16.10.2008 00:53
Как тело построенное 3D Face превратить в 3D Solid? Bdod AutoCAD 37 03.08.2006 11:36
ГОСТ на ванты и оттяжки ??? зщцук? Поиск литературы, чертежей, моделей и прочих материалов 1 17.05.2005 06:53