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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Маркировка осей а-ля СПДС

Маркировка осей а-ля СПДС

Ответ
Поиск в этой теме
Непрочитано 13.07.2007, 19:47 #1
Маркировка осей а-ля СПДС
Tonic
 
Воронеж
Регистрация: 26.06.2007
Сообщений: 151

Есть такая задача - сделать программу маркировки осей, как в "Монархе", только под BricsCad.
В "Монархе" это примерно так:

"Укажите точку вставки:" (точка вверху блока)
"Маркировка оси <1> :" (надпись в кружке)
"Число шагов <1>:" (сколько блоков вставлять, как я понимаю)
"Размер шага <6000>:" (расстояние между вставками)

ЕСЛИ шаг один, закончить; ЕСЛИ больше:
"Маркировка оси <тут высвечивается подсказка: значение предыдущей маркировки + 1>:"
ЕСЛИ нажимаем Enter (т.е. одобряем маркировку вида i+1, то строятся все блоки с маркировкой i+1 (каждый следующий больше на 1 предыдущего). ЕСЛИ указываем своё значение, предлагается опять "Маркировка оси: <>" - и так, пока не будут заполнены все маркировки по количеству шагов, либо не будет нажата клавиша Enter - по умолчанию.
Стоит ещё отметить, что размер блока, а также все остальные размеры должны учитывать масштабный коэффициент, заданный в начале программы (MstKoeff = 100). В результате вычерчивается то, что во вложенном файле dwg. Конечно, неплохо было бы ещё установить значение угла вначале (как и масштабный коэффициент).

Картинки прилагаются.

Надеюсь, кто-то уже делал подобную работу или поможет советом. Я пока не могу продумать алгоритм, места циклов и т.п.

Начал писать, пока только ерунду какую-то сделал:

Цитата:
(defun C:mark ()

(setvar "ATTDIA" 0)
(setvar "CECOLOR" "253")
(setvar "CLAYER" "00")

(Setq MstKoeff 100) ; Масштабный коэффициент
(Setq ang 0.0)
(Setq RazmTxt (* 3 MstKoeff))
(Setq pt1 (Getpoint "\nУкажите точку вставки: "))
(Command "_insert" "c:\\Program Files\\BricsCad\\BricsCad\\Pr1-06-04" Pt1 MstKoeff MstKoeff ang "")
(Setq NameVyn (Entget (Entlast))); DXF коды используемого блока
(Setq UgolVyn (+ (cdr (assoc 50 NameVyn)) 4.71239))
(Setq pt2 (Polar pt1 UgolVyn (* 20.5 MstKoeff)))
(Setq Marki (getstring "\n Маркировка оси: "))
(Command Marki)
(Setq nums (getint "\n Число шагов <1>: "))

(if (= nums nil) (princ)
(progn
(Setq shag (getreal "\n Размер шага <6000>: "))
(if (= shag nil) (setq shag 6000))
(repeat nums

(Setq smeX (* MstKoeff shag))

(Setq pti (list (+ (car pt1) smeX) (cadr pt1)))
(Command "_insert" "c:\\Program Files\\BricsCad\\BricsCad\\Pr1-06-04" pti MstKoeff MstKoeff ang "")

(Setq NameVyn (Entget (Entlast))); DXF коды используемого блока
(Setq UgolVyn (+ (cdr (assoc 50 NameVyn)) 4.71239))

(Setq Pt2 (Polar Pt1 UgolVyn (* 20.5 MstKoeff)))
(Setq Markir (getstring "\n Маркировка оси: "))
(if (= nul Markir) (setq Markir (+ 1 Marki)))
(Command Markir)

); end repeat
);end progn
);end if

(princ)

)
[ATTACH]1184341631.dwg[/ATTACH]
Просмотров: 7415
 
Автор темы   Непрочитано 14.07.2007, 21:33
#2
Tonic


 
Регистрация: 26.06.2007
Воронеж
Сообщений: 151


Я понимаю, код выложил паршивенький - это то, что я наспех набросал, пока не призадумался: что же делать? =)
Tonic вне форума  
 
Непрочитано 14.07.2007, 22:34
#3
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833


Попробуй посмотреть решение в "САПР на базе AutoCAD - как это делается". Там была решена эта задача.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 14.07.2007, 23:33
#4
Tonic


 
Регистрация: 26.06.2007
Воронеж
Сообщений: 151


Кулик Алексей aka kpblc, спасибо! Осталось только книгу найти =)
Tonic вне форума  
 
Непрочитано 15.07.2007, 00:34
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833


Я не уверен, что смогу соединить все нужные функции в один лисп (система-то не моя).
Кстати, о твоем коде: у тебя там нет обработчика ошибок. Примерный вариант того, что я использую, можешь посмотреть здесь.
Масштабный коэффициент я б не стал задавать так явно. Его лучше передавать либо как параметр функции, либо вообще хранить в пользовательском словаре файла и извлекать оттуда (пример работы со словарями для Brics'a см. туточки.
Ты указываешь полный путь к файлу блока. ИМХО не гуд по разным причинам. Проще уж изучить DXF-представление блока с атрибутом и создавать его динамически. Либо, если лениво с этим разбираться, то опять же "САПР на базе" и в ней см.главу по вставке блоков.
Потом, значения осей могут быть не только цифровые, но и буквенные, сложные, двухбуквенные, строительные... Я понимаю, что ты просто не успел написать код, но (ИМХО) тут без диалога не обойтись
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.07.2007, 01:13
#6
Tonic


 
Регистрация: 26.06.2007
Воронеж
Сообщений: 151


Кулик Алексей aka kpblc:
1. Обработчик ошибок - хорошая идея, но в моём случае конкретный обработчик не подходит: BricsCad всё ещё не поддерживает visual lisp.
2. Масштабный коэффициент здесь временный. В окончательной версии будет использована системная переменная с (getvar "") в начале кода.
3. Значения осей подразумеваются цифровые. "Монарх" при указании маркировки в виде буквы ведёт себя так: заполняет эту ось буквой, а потом спрашивает следующую маркировку. Вот бы найти способ перекинуть этот "Монарх" в Брикскад.
В bricscadbonustools есть что-то похожее - осевая сетка, но это так, "что-то вроде" - её переделывать нужно с самого начала.
4. А зачем диалог, когда можно командной строкой обойтись? Так, может, даже удобно.
5. Лежат ли в Интернете примеры из этой книги (lsp) или изучить похожий код с осями можно только купив книгу? (вероятно, через Интернет)

Кстати, спрошу тут же. У меня почему-то значение value не схватывается программами. Нужно сначала отжать галочку/ радиокнопку, а потом снова нажать - тогда всё ок. Вот тема, где я описывал проблему: http://dwg.ru/forum/viewtopic.php?t=14482

И что-то в скудной информации по DCL не указано, где располагать (start_dialog) (unload_dialog), где саму программу и т.д. и на что это влияет. Интересно узнать просто типовую структуру лисп-файла для dcl.
Tonic вне форума  
 
Автор темы   Непрочитано 16.07.2007, 19:16 а-ля СПДС!
#7
Tonic


 
Регистрация: 26.06.2007
Воронеж
Сообщений: 151


Вот и в СПДС есть средство рисования координатной сетки. Взять бы её, и переделать под BricsCAD... Хотя там нет возможности одновременно рисовать оси вверху и внизу, а также справа и слева, а это иногда (оказывается) нужно.
Соорудил диалоговое окно, на этом поток идей иссяк. В книге "Сапр и адаптация" 2004 г.в. есть более скудная версия этой программы, но и она без учёта всевозможных включённых функций занимает несколько страниц кода!
Есть ещё программка в BricsCAD Bonus Tools, но она совсем простенькая.
В общем, ищу помощи здесь =)


DCL
Код:
[Выделить все]
 koos : dialog {label = "Координационные оси";
spacer;
:row {label="";

:row {label = "Цифровые";

:column {label = "";

:image {key="sld1"; color=-2; width=30; height=10; fixed_height=true; fixed_width=true; alignment=centered;}

:column {label = "";edit_limit = 8; edit_width = 8;

:column {label = "Нижние";

 :toggle {label = "Включить"; key = "non"; value="1";}

 :column {label="Обозначение осей";
  :edit_box {label = "Обозначение первой оси:"; key = "name11"; value = "1"; edit_limit = 5; edit_width = 5;}
  :toggle {label = "Автонумерация"; key = "auto11"; value="1";}
  :toggle {label = "Нумерация с конца массива"; key = "rev11";}
  :toggle {label = "Добавлять индекс c"; key = "indc11";}
  }

 spacer;
 :edit_box {label = "Количество осей:"; value = "1"; key = "kol11"; edit_limit = 3; edit_width = 3;}
 spacer;

 :column {label="Шаг осей";
  :toggle {label = "Запрашивать для каждой оси"; key = "persh11";}
  :edit_box {label = "Постоянный:"; value = "6000"; key = "possh11"; edit_limit = 6; edit_width = 6;}
 }

  :toggle {label = "Скрыть"; key = "sk11";}

}


:column {label = "Верхние";
 :toggle {label = "Включить"; key = "von";}

 :column {label="Обозначение осей";
  :edit_box {label = "Обозначение первой оси:"; key = "name12"; value = "1"; edit_limit = 5; edit_width = 5;}
  :toggle {label = "Автонумерация"; key = "auto12"; value="1";}
  :toggle {label = "Нумерация с конца массива"; key = "rev12";}
  :toggle {label = "Добавлять индекс c"; key = "indc12";}
  }

 spacer;
 :edit_box {label = "Количество осей:"; value = "1"; key = "kol12"; edit_limit = 3; edit_width = 3;}
 spacer;

 :column {label="Шаг осей";
  :toggle {label = "Запрашивать для каждой оси"; key = "persh12";}
  :edit_box {label = "Постоянный:"; value = "6000"; key = "possh12"; edit_limit = 6; edit_width = 6;}
 }

  :toggle {label = "Скрыть"; key = "sk12";}
}
}
}
}


:row {label = "Буквенные";

:column {label = "";

:image {key="sld2"; color=-2; width=30; height=10; fixed_height=true; fixed_width=true; alignment=centered;}

:column {label = "";

:column {label = "Левые";
 :toggle {label = "Включить"; key = "lon"; value="1";}

 :column {label="Обозначение осей";
  :edit_box {label = "Обозначение первой оси:"; key = "name21"; value = "А"; edit_limit = 5; edit_width = 5;}
  :toggle {label = "Автонумерация"; key = "auto21"; value="1";}
  :toggle {label = "Нумерация с конца массива"; key = "rev21";}
  }
 spacer;

 spacer;
 :edit_box {label = "Количество осей:"; value = "1"; key = "kol21"; edit_limit = 3; edit_width = 3;}
 spacer;

 :column {label="Шаг осей";
  :toggle {label = "Запрашивать для каждой оси"; key = "persh21";}
  :edit_box {label = "Постоянный:"; value = "6000"; key = "possh21"; edit_limit = 6; edit_width = 6;}
 }

  :toggle {label = "Скрыть"; key = "sk21";}
}


:column {label = "Правые";
 :toggle {label = "Включить"; key = "pon";}

 :column {label="Обозначение осей";
  :edit_box {label = "Обозначение первой оси:"; key = "name22"; value = "А"; edit_limit = 5; edit_width = 5;}
  :toggle {label = "Автонумерация"; key = "auto22"; value="1";}
  :toggle {label = "Нумерация с конца массива"; key = "rev22";}
  }
 spacer;

 spacer;
 :edit_box {label = "Количество осей:"; value = "1"; key = "kol22"; edit_limit = 3; edit_width = 3;}
 spacer;

 :column {label="Шаг осей";
  :toggle {label = "Запрашивать для каждой оси"; key = "persh22";}
  :edit_box {label = "Постоянный:"; value = "6000"; key = "possh22"; edit_limit = 6; edit_width = 6;}
 }

  :toggle {label = "Скрыть"; key = "sk22";}
}

}

}
}


}

spacer;
ok_cancel;  
spacer; 
}

LSP (просто вызов)

Код:
[Выделить все]
 (defun C:koos ()


(Setq dcl_id (load_dialog "koos.dcl"))
(if (not (new_dialog "koos" dcl_id)) (exit))



(setq dx (dimx_tile "sld1") dy (dimy_tile "sld1"))
(setq dx2 (dimx_tile "sld1") dy2 (dimy_tile "sld1"))

(start_image "sld1")
(slide_image 0 0 dx dy "Pr1-06-01")
(end_image)

(start_image "sld2")
(slide_image 0 0 dx2 dy2 "Pr1-06-02")
(end_image)


;|(mode_tile "name12" 1)
(mode_tile "auto12" 1)
(mode_tile "rev12" 1)
(mode_tile "kol12" 1)
(mode_tile "persh12" 1)
(mode_tile "possh12" 1)
(mode_tile "sk12" 1)
(mode_tile "indc12" 1)

(mode_tile "name22" 1)
(mode_tile "auto22" 1)
(mode_tile "rev22" 1)
(mode_tile "kol22" 1)
(mode_tile "persh22" 1)
(mode_tile "possh22" 1)
(mode_tile "sk22" 1)
|;


(start_dialog)

(unload_dialog dcl_id)



(princ)
); End defun koos
А, да: ещё промучился вот с чем: нужно, чтобы несколько элементов в row или column становились неактивными, когда отключается галочка "Включить", соответствующая этим элементам. Как это сделать и куда всунуть код - не знаю. Я вообще пока испытываю трудности с пониманием того, что за чем следует и почему: (active_tile) (mode_tile) (start_dialog) (unload_dialog) (программа) - и где организовывать циклы, и как сделать так, чтобы программа "схватывала" значения value элементов открытого окна всё время, т.е. поставил галочку - что-то изменилось (к примеру, значение стало неактивным), отключил - опять что-то поменялось.
Профи и любители, помогите с ответами! =)
Tonic вне форума  
 
Непрочитано 16.07.2007, 20:23
#8
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Цитата:
Есть такая задача - сделать программу маркировки осей, как в "Монархе", только под BricsCad.
Честно сказать не понимаю Вашу цель. Если это упражнение по программированию, заданное Вашим преподавателем, то это одно. Так и надо писать.
Если Вы хотите самостоятельно написать написать программу простановки осей на "чистом" ЛИСП"е, давайте пишите. Удачи!
Если Вы хотите чтобы писать программу, а кто-то по ходу пьесы её правил?
Да нет времени у меня, тем более у меня на "чистом" ЛИСП"е это написано лет десять назад.
В чём Ваша цель?
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 16.07.2007, 21:38
#9
Tonic


 
Регистрация: 26.06.2007
Воронеж
Сообщений: 151


Alan, моя цель - написать программу. Конечно, хотелось бы самостоятельно: я и так пишу, что могу. Но знаний, приобретённых за несколько недель, не хватает, а материалов по DCL мало. Вот я и ищу советов. Не нужно за меня программы писать - может, кто-то делал подобную работу, может что-то подсказать. К тому же, у меня были общие вопросы по DCL.
Цитата:
Если Вы хотите самостоятельно написать написать программу простановки осей на "чистом" ЛИСП"е, давайте пишите. Удачи!
"Чистый лисп" - это я называю autoLISP, т.к. BricsCad только его и поддерживает.
Цитата:
Если Вы хотите чтобы писать программу, а кто-то по ходу пьесы её правил?
Тут есть люди, которые исправляли мои программы, и получалось намного лучше и продуманней, т.к. есть опыт. И я им благодарен. Разве это плохо?
Цитата:
Да нет времени у меня, тем более у меня на "чистом" ЛИСП"е это написано лет десять назад.
Тогда я не понимаю смысл траты Вашего времени на сообщение: это какой-то упрёк что ли?
Tonic вне форума  
 
Непрочитано 16.07.2007, 23:07
#10
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833


Хе, по постам и по пунктам
> #6:
п.1 А обработчик ошибок необязательно должен использовать vl-расширение. См., например, http://www.arcada.com.ua/forum/viewtopic.php?t=445
п.2 (getvar <Кого-то-там>) я бы не стал использовать - если завязываться на dimscale, например (что в общем-то так и просится, да?), то при работе с листом как поступать - там-то она может быть и отрицательно %)
п.3 А на фига, извините? Если запрещенные к использованию символы заранее известны?
Цитата:
В bricscadbonustools есть что-то похожее - осевая сетка, но это так, "что-то вроде" - её переделывать нужно с самого начала.
Возможно, я не смотрел
п.4
Цитата:
4. А зачем диалог, когда можно командной строкой обойтись? Так, может, даже удобно.
Не-а... Попробуй-ка ответить на 10 вопросов в режиме ком.строки или охватить сразу все глазами. 99% гарантии, что предпочтешь диалог.
п.5
Цитата:
Лежат ли в Интернете примеры из этой книги (lsp) или изучить похожий код с осями можно только купив книгу? (вероятно, через Интернет)
Даже если бы лежали, не думаю, что с ними можно с наскоку разобраться. Там всю книгу шерстить надо.
Насчет типовой структуры использования dcl - можно посмотреть у Н.Н.Полещука в любой книге по Auto/Visual LISP'y.
> #7 : УМОЛЯЮ! Используй теги CODE, а не QUOTE!
Цитата:
Как это сделать и куда всунуть код - не знаю.
Может, так:
Код:
[Выделить все]
;; В коде вызова диалога
(action_tile "key_trigger" "(_make-it (read $value))")
И сама функция:
Код:
[Выделить все]
(defun _make-it (value)
(setq value (cond (value (abs (1- value))) (t 1)))
(foreach item '("key1" "key2" "key3")
(mode_tile item value)
)
примерно так. Пишу без запущенного акада, так что могу ошибаться.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.07.2007, 11:57
#11
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Цитата:
Сообщение от Tonic
Тут есть люди, которые исправляли мои программы, и получалось намного лучше и продуманней, т.к. есть опыт. И я им благодарен. Разве это плохо?
Если Вы смотрите форум регулярно, то видели, что и я изредка помогаю в этом.
Но Вы копнули слишком большую ИМХО для Вас программу.
Изучение ЛИСПа на таких сложных формах?
Сами пишете:
Цитата:
Соорудил диалоговое окно, на этом поток идей иссяк. В книге "Сапр и адаптация" 2004 г.в. есть более скудная версия этой программы, но и она без учёта всевозможных включённых функций занимает несколько страниц кода!
Вот и моя программа занимает немало места. И когда Вы выберетесь из первых строк кода, текст станет полностью нечитаемый из-за его размера. Вы можете тогда разместить текст для свободного доступа всех и пусть ВСЕ Вам помогают в свободное от основной работы время.
Цитата:
Тогда я не понимаю смысл траты Вашего времени на сообщение: это какой-то упрёк что ли?
На самом деле, если перейти к серьезной работе, то задача гораздо более сложна, чем кажется на первый взгляд.
Она складывается из двух этапов: ввод (желательно с контролем) исходных данных; вычерчивание сетки осей согласно ГОСТ 21.501-93 ПРАВИЛА ВЫПОЛНЕНИЯ АРХИТЕКТУРНО-СТРОИТЕЛЬНЫХ РАБОЧИХ ЧЕРТЕЖЕЙ. Взгляните на Приложение 2 "Пример выполнения плана одноэтажного производственного здания" Посмотрите, как образмериваются повторяющиеся шаги, а это ГОСТ!. Немногие программы так делают! Прогамма СПДС так не умеет, да и Монарх кажется тоже.
Что касается затраченного мной времени.
Жаль его, потому что многое (не только программа) написано. Поиском посмотрели бы, нашли бы дискуссию 2005 года.
http://dwg.ru/forum/viewtopic.php?t=3897
Извините за м.б. резкий тон. Но я кажется подробно ответил. И Вы меня поняли? Без обид?
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 17.07.2007, 21:04
#12
Tonic


 
Регистрация: 26.06.2007
Воронеж
Сообщений: 151


Alan, да, истина здесь, конечно, есть: не тот уровень. Ну что ж делать, буду пробовать по-тихоньку, малыми шагами. Я не обижаюсь =) Спасибо за ответ.
Tonic вне форума  
 
Непрочитано 17.07.2007, 21:22
#13
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Tonic
То же мучился по началу но птом вроде спрвился с прогой, попробуй по копать код в теме http://dwg.ru/forum/viewtopic.php?t=10555
Там Я применял то о чем ты спрашивешь.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 27.07.2007, 20:52
#14
ES


 
Регистрация: 13.10.2006
Ukraine
Сообщений: 211


Цитата:
Есть ещё программка в BricsCAD Bonus Tools, но она совсем простенькая.
Согласен, моя программка действительно "простенькая", но она делалась "на скорую руку", когда мы только начали работать с BricsCAD, да так и осталась в таком "зачаточном" состоянии, поскоку наши "тети" все равно ее не стали пользовать. Можно там добавить и опции расположения осей вверху и справа, "автонумерацию" не только для числовых, но и для буквенных осей и т.д. Но из-за отсутствия интереса к проге и лишнего времени не стал пока доводить ее до ума. Возможно под вышедшую недавно 8-ку BricsCAD и доработаю. Благо, возможности у новой версии пошире. :wink:
ES вне форума  
 
Автор темы   Непрочитано 29.07.2007, 23:48
#15
Tonic


 
Регистрация: 26.06.2007
Воронеж
Сообщений: 151


Цитата:
Согласен, моя программка действительно "простенькая"
Так Вы разработчик BT? Приятно познакомиться! Надеюсь, не обидел словом "простенькая" =)
Цитата:
Благо, возможности у новой версии пошире.
А руссифицировать когда планируют? Расширились ли возможности в области программирования в 8 версии? [/quote]
Tonic вне форума  
 
Непрочитано 30.07.2007, 00:12
#16
ES


 
Регистрация: 13.10.2006
Ukraine
Сообщений: 211


2 Tonic

Цитата:
Приятно познакомиться! Надеюсь, не обидел словом "простенькая" =)
Тоже приятно, в смысле - познакомиться
А замечания по поводу BT вполне уместны, ибо они, в смысле - замечания, и есть двигатель прогресса.

Что касается BricsCADv.8, то ее руссификация ожидается в ближайшие месяц-полтора. Справка чуть позже.

Что касается новых возможностей программирования, посмотрите выдержку из readme к новой версии:
DRX offers similar functionality to ARX. Interested developers can contact us to obtain a dedicated SDK.
SDS dlls are now loaded as DRX dlls: the entry point code has been modified similarly as in AutoCad ADS dlls. See sdsMigrate sample code.
The threading model has been simplified, and the number of threads have been reduced to a minimum. SDS applications now run in the main thread, which solves the problem of undesired execution of client SDS code while a response from the main application is expected.
COM: the IntelliCad based COM API is replaced by a new, AutoCad compatible COM API. The application part of the API is contained in axbricscadapp1.dll while the database part is contained in axbricscaddb1.dll. The corresponding type libraries are listed as Bricscad App 1.0 Type Library and Bricscad Db 1.0 Type Library. The VB syntax to create the application object (which is of type AcadApplication) becomes: myAppInstance = CreateObject ("BricscadApp.AcadApplication").
Bricscad switched from using the IntelliCad .vbi VBA file format to the AutoCad .dvb format. Unlike .vbi files, which were linked to their parent dwg file, .dvb files are independent and can be used with no matter which drawing. Similar to the former CommonProjects.vbi, a default.dvb project is loaded on application startup, or created if missing. VBANEW, VBALOAD, VBAMAN commands were added to Tools/Vba menu.
Lisp: a new Lisp engine has been built in, offering stunning performance improvement and extended functionality. VL, VLR, VLA and VLAX functions are supported now.
Autoload.rx replaces icad.sds and contains the list of DRX and SDS applications that are auto-loaded when Bricscad starts up.
On_start_default.lsp and on_doc_load_default.lsp replace icad.lsp and are the Lisp files that are autoloaded at application start and document load. These autoloaded files are managed by the Bricscad application. On_start.lsp and on_doc_load.lsp are the autoloaded lisp files to be created/maintained by users.
Menus and toolbars now natively use the acad .cui (xml) file format
New Customize dialog allowing to modify and create personalized menus, toolbars and keyboard shortcuts. This data is stored in .cui files. The Customize dialog also allows to edit Aliases and Shell Commands, stored in the default.pgp file.
New Image Menu implementation. Image Menu definition and usage has been made compatible with acad. Support was added for Image Menu definitions contained in MNU files when converting the latter to CUI files.
ES вне форума  
 
Непрочитано 30.07.2007, 10:00
#17
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Если BricsCAD поддерживает lisp, то можно попробовать существующее бесплатное решение, например здесь:
к а д е т. П р о г р а м м ы д л я к о н с т р у к т о р о в
Там набор из многих программ. Про оси здесь http://cadet.msk.ru/prog2.shtml
VVA вне форума  
 
Непрочитано 30.07.2007, 10:15
#18
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833


Cadet, по-моему, весь компилирован в vlx, в BricsCAD (по крайней мере 7-ка) он не поддерживается. Кроме того, захочешь чего-то поменять - и все, пиши пропало (то есть с самого начала). Не, я на такое несогласный
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.07.2007, 15:48
#19
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Цитата:
Сообщение от VVA
Если BricsCAD поддерживает lisp, то можно попробовать существующее бесплатное решение, например здесь:
к а д е т. П р о г р а м м ы д л я к о н с т р у к т о р о в
Там набор из многих программ. Про оси здесь http://cadet.msk.ru/prog2.shtml
Насколько я понимаю, к а д е т - теперь платен?
Цитата с сайта http://cadet.msk.ru/prog2.shtml
Цитата:
Программы для конструкторов других специальностей строительного проектирования. Для скачивания доступны демо-версии программ.

Интересующиеся приобретением какой-либо программы — пишите.
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 31.07.2007, 23:15
#20
Tonic


 
Регистрация: 26.06.2007
Воронеж
Сообщений: 151


ES,
Цитата:
VL, VLR, VLA and VLAX functions are supported now
Ну наконец-то! Теперь поле для деятельности должно расшириться, а заодно появятся новые трудности в освоении VL =)
VVA,
Цитата:
можно попробовать существующее бесплатное решение
Я это видел. Могу сказать, что поддерживаю в этом вопросе kpblc'а - программа должна быть с возможностью дополнения/доведения до ума под свои нужды. [/quote]
Tonic вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Маркировка осей а-ля СПДС

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

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