|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
22.02.2004, 01:28 | #1 | |
DXF to LISP
Регистрация: 28.01.2004
Сообщений: 2
|
||
Просмотров: 6381
|
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Вы путаете уважаемый. Это совершенно разные вещи. DXF не надо ни во что преобразовывать.
Прямо в АКАДе DXFIN и все. Или даже просто открыть в АКАДе как открываете обычный чертеж. Не нужны никакие дополнительные программы. DXF - это и есть чертеж в форме техтового фaйла, если уж вам так приспичело его можно открыть и просмотреть в NOTEPAD. Другое дело что AutoLISP можно использовать для построения довольно сложных чертежей, к примеру ШВЕЛЕРОВ, БАЛОК и т.д. |
|||
|
||||
Moderator
архитектор Регистрация: 21.08.2003
Москва
Сообщений: 3,587
|
Startrek ->
Мне кажется, всё-тки Джон спрашивает нет ли такой программы, которая бы писала другую программу для отрисовки примитивов, на основе конечного результата её работы, коим являются уже готовые примитивы из файла .dxf. John -> Цитата:
2. Опираясь на свои немногочисленные знания в программировании могу сказать Вам что это (см. цитату) вряд ли возможно. Лисп - язык программирования высокого уровня - объектно-ориентированный. Для автоматического создания некоей последовательности комманд в Лиспе, необходима программа на другом языке - более низкого уровня. Я не знаю на чём написан сам Лисп, но очевидно, что Вы должны в совершенстве знать этот язык, знать языки машинных кодов (ассемблер и т. п.), понимать принципы создания программных модулей, владеть навыками написания объектно-ориентированных программ. 3. Давайте посмотрим на саму задачу. Перед нами стоит вопрос не просто распознавания готовых графических примитивов /для этого уже созданы программные пакеты, которые однако работают не идеально, по той же самой причине о которой мы говорим/, а дополнительно их тщательный анализ, возможно какое-то предварительное форматирование и выборка, анализ доступных средств Автолиспа для создания последовательности этих фигур, и собственно написание самого кода, который бы автоматически "обводил" эти фигуры, причём без вмешательства человека-оператора. В целом - типичная проблема при создании робототехники: анализ входящих данных, оценка и реагирование на них машиной, плюс возможно обучение машины. И что же? Ведь полноценных роботов с полностью искусственным интеллектом сейчас нет (есть только намёки на Al, которые изначально запрограммированы на совершение неких операций с небольшим самообучением) - проблема не решена до сих пор, несмотря на то, что работают над дней тысячи учёных по всему миру, в течение последних десятилетий. И вот John, тут появляетесь Вы, и говорите что у Вас просто нет времени для создания этой программы. Ну что же?! Сообщите нам сюда обязательно, когда напишите её! [sm1006] |
|||
|
||||
Сообщений: n/a
|
Ну вот, опять .
Такс...давай те еще раз. Вопервых сразу хочу уточнить, что синтаксис и комманды LISP-а я низнаю, но предпологаю что в нем есть комманду рисования линий, (как она выглядит я низнаю), предположим что она выглядит следующим образом: draw_line(x1,y1,z1,x2,y2,z2); так вот задача в следующем: есть dxf файл, в котом "нарисованно" 50 линий, программа должна "взять" все эти линии и "расписать" их через комманды LISP-а: draw_line(10,20,0,100,20,0); //первая линия, из dxf-файла draw_line(15,20,0,100,25,0); //вторая линия, из dxf-файла и т.д. тоже самое и для других примитивов: текст, кружки, штриховки .... Полностью готовую программу на LISP-е мне и не нужно, мне просто нужны "расписанные" примитивы. Startrek: я знаю что DXF файл открываеться в AutoCAD-е, но я поставил конкретную задачу, и прошу прощения за грубость, но если вы не можите ничем помочь не надо постить всякую туфту. Что касаеться высказывания, Perezz!!, я вас прекрасно понимаю, но я же не требую, программу которая, по рисунку самолета в dxf файле, научилась его рисовать с других сторон в lisp-е P.S.Для чего мне все это нужно....ну это как бы мои пряники |
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Вы имеете ввиду, что то типа макрорекордера который переводит готовый чертеж в LISP файл состоящий из построений отдельных примитивов из их DXF кодов? Типа такого:
Код:
Валяется у меня где то такая штука недописанная. Нужно было щелкать по отдельным примитивам и она писала в текстовый файл их построение, убирая "лишние" точечные пары, добавляла также начало и конец файла построения. Потом текстовый файл нужно было просто переименовать в *.lsp. Помню что уже работала, но доводить до нормального состояния не стал, забросил т. к. отпала необходимость. Мне нужно было програмно отрисовать штук 40 блоков с атрибутами, вот я и готовился сделать это одним махом. Примерно об этом идет речь? |
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Оба на тут уже два постинга, пока я свой писал.
>John Уважаемый товарищъ! Не надо тут по поводу Starteka невежливо высказываться. У него целый сайт с огромным количеством прекрасных ЛИСПов им написанных. Если вас не правильно поняли, то в этом только ваша вина, мне тоже пришлось "допирать" чего же вы хотите. |
|||
|
||||
Регистрация: 28.01.2004
Сообщений: 2
|
Цитата:
Ну а если возвращаться к топику: Fantomas, не поделитись ли сырцами или может быть порекомендуете сайт где поискать ? |
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
|
Сложнейшую задачку Вы решили себе создать, товырищЪ! Для чего оно Вам надо... ладно, это Ваши пряники А придется, однако, сочинить нехилый анализатор DXF файла. Подозреваю, что по сложности он получится никак не проще аналогичного акадовского. Другими словами, Вам надо прочитать все DXF коды из файла, определить, что они означают (системная переменная, графический примитив, словарь, и прочее черт-те-что, вроде ACIS-объектов и примитивов, созданных не-акадом, но им поддерживаемых), разобраться с "матрешками" (вхождениями примитивов в состав блоков, групп)... И в заключении - умудриться перевести все это дело в команды Акада и функции Лиспа. И чтоб оно еще и не глючило.
Позвольте пожелать Вам удачи! Пока что я настроен несколько скептически в отношении предполагаемого результата. Это, конечно, не значит, что задача нерешаема (а если и решаема, то явно не в одно лицо). |
|||
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Я как раз Johna понял правильно. Он хочет при помощи AutoLISPa прочитать строчку за строчкой
DXF file (что вполне возможно) и с помощью того же AutoLISPa прорисовать примитивы (что тоже возможно) - только вот к чему все эти нагромождения? Ради спортивного интереса? Ну кто в здравом уме займется таким времяпривождением - когда AutoDesk об этом уже позаботился (DXFIN, или прямо открыть как чертеж)? Когда-то я как и Fantomas эксперементировал с функцией ENTMAKE - в основном для разрисовки параметрически (програмно)обьектов - швелеров там, балок итд., но никак не для того что John желает. На такие дела обычно времени жалко. А по поводу грубости, я не обижаюсь. Когда аргументов не хватает - остается только резкости говорить, не профессионально - да ладно. |
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
|
>Startrek
"Строчка-за-строчкой" - это понятно. Найти начало и окончание описания примитива - это не проблема. Достаточно в совершенстве владеть описанием структуры файла. Сгенерить точечные пары из строк и сэнтмейкить кой-какие примитивы - в общем то тоже. Но, читаем первый постинг, создать из всего этого Цитата:
А вот куда более интересной кажется идея неких параметрических преобразований тех примитивов, что описаны в DXF-файле. Естественно, не банальное масштабирование по осям. Тоесть, имеем некоторую типовую деталь (в идеале - проект) и указав ключевые параметры получаем ту же самую деталь (не представляю, как это сделать с крупным проектом) но уже адаптированную и подогнанную под конкретные новые условия. В принципе, наложив десятки ограничений на содержимое входного файла.... Впрочем, тут уже САПР вырисовывается, или маленький ее кусочек. Хотя есть подозрение, что подход маленько не с той стороны. А что касается грубости - это не более чем отсутствие аргументов. Что прикольно в этой ветке - до сих пор никто кроме автора не знает ответа на один маааленький вопрос "Что должно получиться в результате?". Гадать больше не хочется. |
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
|
Цитата:
Тээкс... ну "давай те" начнем с того, что в Лиспе совершенно отсутствуют "команды". Увы, одни функции, как это ни печально. Одна из фунций - (command) - есть ничто иное, как точное отображение набираемого в командной строке с учетом особенностей Лисп. Например Код:
Код:
|
|||
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
А может начать с изучения русского языка
Цитата:
Шучу, шучу - наверное просто опечаткa |
|||