|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Параметрическое черчение в AutolLisp с использованием базы данных чертежа
Строительная диагностика
Барнаул
Регистрация: 23.02.2008
Сообщений: 24
|
||
Просмотров: 7601
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
А вот и ссылочки: блоки, дин.блоки, внешние ссылки, палитры инструментов...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Короче, тема такая: я пишу дипломную работу основной задачей которой является отрисовка стропильной конструкции со всеми схемаи и узлами в автокаде средствами автолиспа. Должно быть реализованно три метода отрмсовки: всё 1:1 масштабируется вся мишура; все чертежи в заданных мастабах, мишура фиксированная; всё в можели 1:1 оформление на листа через вьюпорты, и всё это СРЕДСТВАМИ АВТОЛИСПА!!! Те кто занимался программным черчением прекрасно знают о недостатках классических функций лиспа, таких как бесконечное зумирование нужного участка чертежа, чтоб лисп не накасячил с привязкой, ведь по сути стандартные команды лира эмулируют работу с курсором мыши и так далее, т.е. при достаточно большом наполнении чертежа, щечёк по какому-либо объекту не гарантирует нам что выделится именно ОН!!! От всего этого безобразия могли бы спасти функции написанные и заточенные для работы с базой данных чертежа (опять же средствами лиспа, поэтому велосипед я не изобретаю). Ещё один фактор - это скорость работы... Попробуйте забабахать лиспик со стандартными (command "Line") и т.д. который отресует вам чертёжик в несколько тысяч элементов... да томительное ожидание... работа с базой в разы ускоряет этот процесс...
P.S. Суть в том, что это лишь маленькая часть моей работы м не хотелось бы тратить время на разработку того, что было сделанно до нас... Как говорила одна умная женщина: "Умные люди придумали, а мы воспользуемся..." |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Что ты имеешь ввиду под базой данных? Формат DXF? Ну и используй entmake, чем не нравится? Или тебе надо что-то типа:
Код:
Цитата:
|
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Как раз понятия я не путаю, наверно не хватает проффесионализма объяснить то, что я хотел бы услышать... На счёт велосипеда с квадратными колёсами - воспринимаю только здоровую конструктивную критику (Krieger), так что I'm sorry...
|
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Вот это, наверное, как раз то что мне нужно... Просто при таком методе, если я правильно понимаю, вообще отпадает надобность заботиться о привязках и тому подобное... Если не тяжело, поясните пожалуйста текст кода поподробнее, чтоб про остальное не спрашивать, по анологии разберусь!!! Заранее пасиба!
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Или рисовать не командными методами, как показано?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
В точку
![]() Теперь по существу: 1. Жду совета; 2. С радость посмотрю готовые лиспы; 3. Есть ещё маленькая задача: отрисовать - пол дела, а как решить проблему с компановкой листов, она в идиале тоже должна выполняться атвоматом. (не так важно, сначала надо с этим разобраться) |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Совет первый и главный: внимательно прочитать "Help: Developer Documentation" раздел "ActiveX and VBA Developer's Guide" в части "Methods" главы с "Add3DFace Method" по "AddXLine Method" включительно. Прочитав, прочитанное осознать и усвоить.
Если с бусурманскими языками у вас проблемы, добыть и прочитать Священное Писание от Н.Н. Полищука. Добыв, оное Писание внимательно прочитать, а прочитав, осознать и усвоить содержание раздела "ActiveX" в части "Методы vla-add...", главы с " vla-add3DFace" по "vla-AddXLine". Совет второй: с радостью посмотреть приведенные там же примеры использования соотв. методов. Совет третий: перестать мечтать о Большой Волшебной Кнопке - подобные мечтания вредно сказываются на здоровье мечтателя. Успехов! |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
Код:
В функции Kr=AddPolyline просто используется метод vla-AddLightWeightPolyline, которому нужны точки и пространство, просто в новь созданной функции ити данные задаются в удобной форме. В остальном читай 12 пост. Особенно третий совет. Чувствую завалишь диплом. > Kpblc В библиотеке функций DWGruLispLib подобное есть? Этот проект вообще не сдох еще? |
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Благодарю за советы, а что касаемо волшебной кнопки - вообще к мечтателям не отношусь... Стараюсь до всего даходить своими силами, т.к. хорошо запоминается только то до чего дошёл сам, но... не всегда получается, к сожалению.
P.S. 1) Я думаю что у такого подхода к черечению есть неоспоримые плюсы(были перечисленны выше), поправьте меня если я неправ. 2) Если кто знает как избежать проблем при черчении за пределами экрана, поделитесь знаниями, потому как использовать паранарамирование и зумирование не очень удобно... |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
> Krieger : проект почти сдох. У меня элементарно не хватает а) времени и б) терпения прописать справку и привести lsp в "штатный" вид. Хотя на его основе кое-что пишется...
> Лентяй : Вай-вай, как нехорошо ошибаться-то... Вместе же пили... ПолЕщук все же. Николай Николаевич.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
См.ПМ.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Цитата:
|
|||
![]() |
|
||||
Армспорт Регистрация: 18.07.2006
Ейск
Сообщений: 355
|
Зато человек хоть поймёт разницу между "функциями лиспа" и "командами Автокада"
![]() ![]() Цитата:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
[quote=Кулик Алексей aka kpblc;226781> Лентяй : Вай-вай, как нехорошо ошибаться-то... Вместе же пили... ПолЕщук все же. Николай Николаевич.[/QUOTE]
Я книжку НН - очень ЛЮБЛЮ (гусары, молчать!) ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
> Лентяй: "тады, канешна, да, тады, канешна, ой".
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Спасибо за плддержку... Знаете ребята, если честно, то ответ на свой вопрос я получил!!! И это самое главное!!! Сдам я диплом или не сдам - это уже другой вопрос... Просто хочется сказать, что все вы далеко не сразу стали проффи в своём деле... а некоторые до сих пор таковыми не являются... Странная закономерность: те кто реально могут плмочь, они помогают без лишней трепотни (в крайнем случае, здоровая критика)... а остальные... просто в очередной раз понимаешь простейшие истины жизни...
Всем спасибо. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
Куда сложнее будет выделить виды ферм, а для каждого вида ферм выделить типовые узлы. Законструировать узел, зная только сечения приходящих элементов, сварные швы (это уже усилия надо знать, т.е. расчетчик выполнить), надо будет запихать все конструктивные требования... В общем, там мороки достаточно будет. Для диплома, может быть, даже одного алгоритма всего этого хватит, а запрограммировать это уже дело десятое (можно и на сторону отдать профессионалу). При этом, не знаю где это пригодится, т.к. типовые фермы наверно только в простейших промках встречаются, да на курсовых. Я сколько работаю, все время архи такие вы@$оны придумают, что и вручную сложно что-то сделать. |
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Хотелось бы пояснить немного по теме диплома...
На самом деле, всё намного проще тема диплома звучит так: "Разработка электронной версии альбома ТСК-СК... "Деревянная стропильная конструкция под металлическую кровлю", с подготовкой чертежей повышенной степени готовности". Если конкретно, то в этом альбоме представленно 10 монтажных схем с таблицами типоразмеров. Я накидал базу данных состоящую примерно из 30 таблиц, которые связанны между собой по ключевым полям - ответ на вопрос номер 1. Все диалоги реализованны по средством Делфи. Ошибки ввода/вывода также средствами Делфи. В программеи у пользователя запрашивается файл шаблона, либо предлагается создать свой шаблон... Создание собственного шаблона осуществляется в три этапа: сначала заполняется (средствами пользовательского интерфейса) специальный класс написанный мною, содержащий в себе методы для работы с этим классом (добавление, удаление, редактирование записей), а так же собственно, поля содержащие параметры этого шаблона. Затем данные из этого класса переписывваются в текстовый файл. Потом при помощи макроса на VBA создаём шаблон - всё это уже сделанно, причём без особых проблем. Понимаю, способ не достоин уважения, многие скажут: "Ну работал в Делфи так и делай полностью в нём", но встала проблема... работа с АвтоКадом через билиотеку типов показала ряд недостатков, основным из которых оказалась привязанность к конкретной версии автокада, работа же с объектной моделью завела меня в тупик, конкретных результатов я так и не добился (убила всю надежду низкая скорость работы). Загрузку данных о шаблоне я осуществляю примерно также. Программно создаю текстовые, размерные стили, загружаю типы линий, создаю слои со всеми необходимыми параметрами. Есть небольшая проблемма с загрузкой шрифтов... всё понятно про *.shx и *.ttf, проблемму с этим я решил без напрягов, но не понял фишку с разницей шрифтов TrueType и Open Type, забыл но при загрузке какова-то из них средствами VBA постоянно вылетает ошибка, хотя тот и другой ttf-ые ![]() ![]() Если есть каки-либо предложения, буду рад!!! |
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Пожалуйста гляньте текст, не претендую на оскар, но работает, с удовольствием послушаю предложения по оптимизации кода:
Создание шаблона: читаем из файла, создаём (не понял, можно ли непосредственно прочитать из файла булевское значение?). Код:
Код:
|
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Например, в Делфи применение оператора абсолютного перехода GoTo я вляется правилом плохого тона... :-( Как с этим осбтоят дела в VBA? До этого последний раз работал в Бейсике лет 6 назад(в школе ещё), тогда использование GoTo было нормой и применялось давольно широко. Что-то поменялось?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Ну если работаешь под Delphi, так из-под него и обращайся к объекту AutoCAD.Application, работай сколько вздумается. AutoCAD корректно поддерживает СОМ-модель.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Строительная диагностика Регистрация: 23.02.2008
Барнаул
Сообщений: 24
![]() |
Вы предлагаете всю отрисовку производить через AutoCAD.Application? Просто есть печальный опыт, полторы недели убил на разработку этой задачи и поллучил в результате ровным счётом НИЧЕГО!!! Ясно, что плохому танцору... Сейчас тупо нет времени, а вообще тема очень интересная, как только немного разгружусь, обязательно доведу начатое до ума. Все с чего-то начинали... На данный момент, пытаюсь двигаться по пути наименьшего сопротивления =). Тем паче, что работа носит не комерческий характер и ни к чему не обязывает (разве что работоспособность)!
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Базы данных и AutoCad | tokhot | AutoCAD | 16 | 18.05.2018 13:37 |
Нужен опыт создания базы данных кухонной мебели:) | Таня. | AutoCAD | 19 | 15.02.2008 17:43 |
Загрузка параметров дин. блоков из базы данных | Дима_ | Прочее. Программное обеспечение | 11 | 04.09.2007 17:03 |
Создание базы данных стандартных изделий для Автокад | Владимир В | Прочее. Программное обеспечение | 4 | 23.03.2005 10:36 |