|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Delphi, Assembler, PHP, VB, Lisp с 01.02.2019 Регистрация: 10.02.2019
Воронеж
Сообщений: 30
|
Цитата:
|
|||
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
чтобы работать с Dxf файлом нужно хорошо разбираться в Dxf кодах. Иначе твоя программа будет работать не стабильно. Обычно я применяю готовый шаблон Dxf файла, в котором меняю значения некоторых точечных пар. Иногда дополняю его простыми примитивами, при этом изменяю значение системных переменных: $HANDSEED ( содержит имя следующей свободной метки) и др.
http://www.cad.dp.ua/stats/cad2000-2.php - справочник системных переменных.. Последний раз редактировалось CalcProg, 18.02.2019 в 18:51. |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,047
|
Цитата:
Цитата:
|
|||
|
||||
Delphi, Assembler, PHP, VB, Lisp с 01.02.2019 Регистрация: 10.02.2019
Воронеж
Сообщений: 30
|
Цитата:
|
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,047
|
https://github.com/haplokuon/netDxf
Цитата:
|
|||
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
штриховку то же можно включить в шаблон и менять её положение и размер изменяя значения точечных пар.
но самое простое это файл сценария. программа на автолиспе занимает второе место по сложности после файла сценария. про файл сценария и Dxf коды можешь почитать Д. Джамп ' AutoCAD программирование '. Изд. Москва 'РАДИО И СВЯЗЬ', 1992г. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
"Настоящие программисты используют DXF-файлы и только садисты работают с файлами чертежей - DWG-файлами". Это издание уже тогда опоздало лет на десять, т.к. уже в R10 широко применялся Автолисп (он и в книге мельком упоминается). Если бы программировали "по Джампу" путем написания на Си индивидуальных программ для любого "отрезка", у Автокада не было бы такого развития. Тысячи "простых инженеров" не смогли бы написать десятки тысяч прикладных программ. А сейчас - тем более. Несколько систем разработки на выбор - VisualLisp, ObjectArx, .Net, еще и VBA какой-то. А еще и COM можно использовать. Можно и в Delphi работать, но уж точно незачем такую древность, как DXF использовать. |
|||
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
Мне без разницы на чем писать и какую технологию исплоьзовать. Иногда Dxf файл шаблон применить проще всего. Как пользоваться OLE-автоматизацией я вкурсе.
----- добавлено через ~15 мин. ----- http://vbamodel.narod.ru/AutoCAD/idh_mspace.ht - описание объектной модели автокада. Если автор поста захочет воспользоваться OLE-автоматизацией ( она же COM, она же ActiveX). Последний раз редактировалось CalcProg, 18.02.2019 в 20:16. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
ShaggyDoc, я не говорю о том, что это не загружается или не работает. Миллион маленьких файлов - и достаточно коротких, чтобы не дойти до ограничения внутри одного (!) progn / defun. А так - да, я ловил такие шутки. Код не загружался и не форматировался, вываливая ошибки низкого уровня.
Самое главное там не нарваться на ограничения
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Delphi, Assembler, PHP, VB, Lisp с 01.02.2019 Регистрация: 10.02.2019
Воронеж
Сообщений: 30
|
Цитата:
Только ссылка не работает. Вот так правильно. http://vbamodel.narod.ru/AutoCAD/idx_object_model.htm Последний раз редактировалось Massaraksh, 18.02.2019 в 21:44. |
|||
|
||||
Регистрация: 23.04.2009
Сообщений: 637
|
Вместо http://vbamodel.narod.ru/AutoCAD/idx_object_model.htm
имхо, лучше здесь смотреть объектную модель: http://help.autodesk.com/view/OARX/2...4-1FE200B9FE30 без рекламы и примеров на лиспе добавили. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Да уж PHP-style. По моему из дельфей формировать автолисп это чесание левой пяткой правого уха, ладно бы еще параметры в лисп-функции передавались, тоже конечно нафтолином пахло, но на "отстаньте оно работает" еще куда не шло. А кучку entmakex'ов формировать - уж действительно, не далеко от прямого dxf ушло (тогда и без автокада можно). Не изобретайте велосипед - как уже и писали - используйте позднее связывание.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
В общем-то можно и разными способами. Например, напрямую создавая в AutoCAD различные "рисунки". Можно и сгенерировать ЛИСП-файл наподобие как у Massaraksh. Причем с разными методами - через command, entmake или объектными методами. Можно даже и DXF "сочинять". И всё это ошибочные пути. Вот что видим на картинках Massaraksh - длинный Лисп с вызовом множества функций, где для каждого примитива задаются координаты, слои, цвета и прочее. Фактически вслепую. А если завтра понадобится другие объекты рисовать? На других слоях и прочем? Писать и компилировать новый вариант программы? Если автор ещё "жив" будет к тому времени. Так делать не надо! Надо отдать "Delphi-дельфиевое" - например работу с БД и визуальную часть. А "лиспу-лисповское" - т.е. всё "рисование" внутри Автокада. Причем не задавать слои, цвета и прочее - они могут быть разные для разного применения. Мы много экспериментировали и добились оптимального вариант. Есть приложение на Delphi - COM-сервер или даже просто EXE. Оно вызывается из ЛИСП-функции и ему тем или иным способом через аргументы передается "задание". Например для работы с базой данных. После завершения приложения тем или иным способом возвращается результат. Вот здесь надо учитывать и особенности Delphi. Например через COM из Автокада работать со списками LISP невозможно (в отличие от двух дельфийских приложений). Можно только поэлемнтно. На приложенной картинке моя программа 20-летней давности. Это редактор БД, причем с пространственной информацией. В примере БД с координатами и "семантикой" по зданиям. Эта БД вообще создается в посторонней организации. В программе отображаются и контуры пространственных объектов. По ним можно и правильность координат проверить. И любое количество отобранных записей можно экспортировать в Автокад. Экспортируется только список координат через файл и уникальный код. По координатам уже с помощью Лисп отрисовываются контуры объектов - линейных, площадных или точечных. Причем они могут каждый раз по разному рисоваться в зависимости от темы. Здесь "медленных" файловых операций не надо бояться - время уходит не на их запись-чтение, а на само "рисование". Получилась "вечная" программа, которая давным-давно не менялась. Но "рисование" происходит в любой версии Автокада начиная еще с R14 - корректируются только Лиспы. Эта же программа используется и для Mapinfo, только там обработка координат ведется на MapBasic. |
|||
|
||||
Delphi, Assembler, PHP, VB, Lisp с 01.02.2019 Регистрация: 10.02.2019
Воронеж
Сообщений: 30
|
|
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Вызов lisp файла из програмного кода? | iiscienceii | LISP | 5 | 11.09.2014 08:07 |
LISP. Чтение величины выделенного параллельного размера и запись в его текстовую строку (свойства этого размера). | Джаз | LISP | 8 | 20.08.2012 23:42 |
Как извлечь суффикс из размера? (LISP) | Xara | LISP | 9 | 03.02.2012 14:37 |
LISP. Проверьте пожалуйста правильность написания кода | Pavel_GP | LISP | 3 | 03.10.2011 15:54 |