|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
BricsCAD 8.2.8
Moderator
LISP, C# (ACAD 200[9,12,13,14])
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 40,406
|
||
Просмотров: 4724
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Вот чего не знаю, того не знаю. Дома выкачивать буду.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
На уровне исходного кода BRX идентичен ARX. Один проект годится как для Брикса так и для Акада, только нужно для Брикса свои lib и inc и директиву препроцессора в свойствах проекта изменить с акадовских. Но пока BRX реализован неполностью. На DRX не совсем охото писать, т.к. разработчики рекомендуют использовать BRX. За год Брикс продвинулся далеко вперед, но в спину ему дышит китайский Автокад.
|
|||
![]() |
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
->Tonic
Свяжись с разработчиками, подпишешь соглашение о неразглашении, получишь доступ к BRX. По твоей просьбе вышлют простенькие примерчики в т.ч. с диалоговым окном. С Bricsys надо общаться на english. Я связался с Bricsys через украинский SABIT. Также тебе помогут книга Полещука "AutoCAD разработка приложений настройка и адаптация" и help с примерами по ObjectARX. Чтобы заработал SDS в версии 8.2 нужны библиотеки DRX. А если хочешь ограничиться только окошками, то их можно оформить как внешнюю программу с передачей данных например через ini, и вызывать ее через LISP такой функцией: ; intWindowStyle — целое число — вид появляющегося окна. Допустимые значения: ; 0 — Скрывает окно и активизирует другое окно; ; 1 — Активизирует и отображает окно. Если окно свернуто или развернуто, ; система восстанавливает его в исходных размерах и позиции. Этот ; флаг нужно указывать, когда окно отображается вперые; ; 2 — Активизирует окно и отображает его в свернутом виде; ; 3 — Активизирует окно и отображает его на весь экран; ; 4 — Отображает окно в его последних размерах и позиции. Активное окно ; остается активным; ; 5 — Активизирует окно и отображает его в текущих размерах и позиции; ; 6 — Свертывает указанное окно и активизирует следующее окно в Z-порядке; ; 7 — Отображает окно в свернутом виде. Активное окно остается активным; ; 8 — Отображает окно в его текущем состоянии. Активное окно остается активным; ; 9 — Активизирует и отображает окно. Если окно свернуто или развернуто, ; система восстанавливает его в исходных размерах и позиции. Этот ; флаг нужно указывать при восстановлении свернутого окна; ; 10 — Наследует состояние окна от программы, запустившей приложение (defun run_and_wait (strCommand / WScript_obj) ; strCommand — строка с командой, которую надо выполнить, включая аргументы; ; например: "notepad.exe \"c:\\My Folder\\tmp.txt\"" ; Возвращает либо 0, либо <%catch-all-apply-error%>, либо nil. (vl-load-com) (if (setq WScript_obj (vlax-get-or-create-object "WScript.Shell")) (vl-catch-all-apply 'vlax-invoke-method (list WScript_obj "Run" strCommand 4 :vlax-true)) );if );defun ;(run_and_wait "notepad.exe \"c:\\1.txt\"") |
|||
![]() |
|
||||
Регистрация: 26.06.2007
Воронеж
Сообщений: 151
|
nikе, BRX пока не очень нужен - я хочу начать с более простого, с SDS (ведь BRX тоже требует привязки к конкретной версии?)
Про окошко и ini: а как форму окошка скомпилировать в ini и как, например, из поля edit передать данные в лисп? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Стоп. Ты же вызываешь стороннее приложение! Как в нем будет описано получение и обработка параметров, так оно и будет существовать.
Честно говоря, я бы думал насчет СОМ-объектов...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
->Tonic
Я делал так. Создал в VC++2005 проект MFC dialog based. Обычная программа .exe, которая запускается при двойном щелчке по ее файлу. Эта прога считывает из edit_box своего окна строку. С помощью Win API записывает ее в ini-файл. Все, больше эта прога С++ ничего не делает. Как все работает? Запускается LISP программа, с помощью функции run_and_wait она запускает внешнее приложение на С++. Функция run_and_wait очень хитрая и очень мне нравится.Она передает управление LISP программе только после окончания работы вызванного внешнего приложения.Итак, запустилась внешняя прога С++.В ее диалоге мы вводим строку, нажимаем ОК.Диалог закрывается, записывает строку в ini-файл.Далее управление передается в LISP программу.LISP считывает содержимое из ini-файла, получая таким образом данное из "ужасного" С++. |
|||
![]() |
|
||||
Регистрация: 26.06.2007
Воронеж
Сообщений: 151
|
Кулик Алексей aka kpblc, насчёт СОМ вообще запутался - нужен какой-то СОМ-сервер, как это связать с окошками до меня будет доходить по крайней мере пока не увижу парочку простых faq с примерами и пока до меня по почте не дойдёт книга Полещука по этой теме =)
nikе, интересная реализация, даже проще, чем всё остальное на первый взгляд. Можно увидеть примерчик такой программы на C++ (с окошком)? И ещё: для AutoCAD 2008 и Bricscad 8.2 всё, что связано с С++, нужно делать в VS 2008 или пользоваться VS 2005? (или нет разницы?) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Tonic, см., например, http://www.arcada.com.ua/forum/viewtopic.php?t=460
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
Крууутооо! Хороший повод изучить наконец ObjectARX.
__________________
Reshaping the STEM field |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ATable под BricsCAD | v_alex | Другие CAD системы | 8 | 25.09.2009 18:13 |
Нужен совет по BricsCAD | VVITTALIK | Другие CAD системы | 9 | 21.01.2008 13:31 |
Как создать массив для группы примитивов в Bricscad? | Tonic | Программирование | 8 | 19.12.2007 09:22 |
настройки BricsCad | Natashechka | Прочее. Программное обеспечение | 11 | 17.04.2006 07:44 |
BricsCad Architecturals | Прочее. Программное обеспечение | 9 | 08.02.2006 11:59 |