|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
DXF to LISP
Регистрация: 28.01.2004
Сообщений: 2
|
||
Просмотров: 6868
|
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Вы путаете уважаемый. Это совершенно разные вещи. DXF не надо ни во что преобразовывать.
Прямо в АКАДе DXFIN и все. Или даже просто открыть в АКАДе как открываете обычный чертеж. Не нужны никакие дополнительные программы. DXF - это и есть чертеж в форме техтового фaйла, если уж вам так приспичело его можно открыть и просмотреть в NOTEPAD. Другое дело что AutoLISP можно использовать для построения довольно сложных чертежей, к примеру ШВЕЛЕРОВ, БАЛОК и т.д. |
|||
![]() |
|
||||
архитектор Регистрация: 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
![]() |
Сложнейшую задачку Вы решили себе создать, товырищЪ! Для чего оно Вам надо... ладно, это Ваши пряники
![]() Позвольте пожелать Вам удачи! Пока что я настроен несколько скептически в отношении предполагаемого результата. Это, конечно, не значит, что задача нерешаема (а если и решаема, то явно не в одно лицо). |
|||
![]() |
|
||||
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 |
|||
![]() |