|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
25.01.2010, 23:28 | #1 | |
Создание и редактирование 3Д объектов с использованием .NET
Регистрация: 06.01.2010
Сообщений: 17
|
||
Просмотров: 9040
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Сугубо ИМХО.
Программировать на VBA сейчас уже по меньшей мере опасно - в 2010 версии AutoCAD соответствующий модуль надо специально загружать с сайта Autodesk. А это позволяет сделать предположение, что в ближайшие пару-тройку лет на VBA можно будет поставить крест. Проекты придется переписывать на .NET / ObjectARX (в некоторых случаях и lisp подойдет). Что значит "сохранять координаты в файл"? Координаты чего? Вхождений блоков? Вершин (кстати, вершин чего - граней? Поверхностей? Твердых тел? Отрезков? Полилиний?)? Я бы не задумываясь послал этого кхм... спеца куда подальше и работал на знакомом языке. Цитата:
Скажем так - это один из вариантов. Точнее - один из как минимум 2 вариантов.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
насчёт блоков: пока что мыслю не по-автокадовски) блоком назвал параллелепипед. в идеале модуль должен разбивать модель на параллелепипеды (пока разговоры про аппроксимации, сглаживании кривых и сплайнов опустим, положим, что вся модель состоит из сочетаний параллелепиподов). модуль определяет количество трёхмерных объектов на чертеже и создаёт файл (со структурой файла пока не определился) вида:
<block id=block1> <point id=p1 x=0 y=10 z=10/> <point id=p2 x=0 y=10 z=20/> ... <point id=pi x=x1 y=y1 z=z1/> </block> <block id=block2> ... </block> ... к синтаксису выходного файла не придираться, это только набросок! хотя, предложения по оптимизации вывода только приветствуются.) почему параллелепипеды? потом файлик, пройдя обработку, поступит в одну полусапровскую программку которая кушает только параллелепипеды. насчёт быстродействия и возможностей: С#, как я понимаю, будет побыстрей и повозможностней? насчёт второго способа кроме netload: а что за способ? |
||||
|
||||
Еще можно через реестр (так называемый demandload).
Цитата:
Определись что такое "трёхмерная модель помещения/этажа/здания" (какими примитивами AutoCAD это сделано) - тогда будет ясно что и как из чертежа можно получить. |
||||
|
||||
интересный вопрос... положим, что параллелепипедами и выдавливаниями/merge'ами (в данный момент нету под рукой автокада, не могу сказать точное название этих инструментов).
что это меняет, для трёхмерных объектов автокад использует принципиально разные объектные модели? |
||||
|
||||
Что такое "параллелепипед"? Такого примитива в AutoCAD нет. Есть 3DSOLID. Кроме того параллелепипед можно нарисовать примитивами 3DFACE, можно POLYLINE и т.д. и т.п. У каждого из этих примитивов свои методы получения граничных точек (вершин).
|
||||
|
||||
А не .Net 3.0 - 3.5? Я на работе в свойствах своих Acad-проектов (версия акада 2009) юзаю версию фрэймворка 3.5 (если мне не изменяет память, причем, скорее всего не изменяет, т.к. в коде я использовал LINQ, а он появился лишь в версии 3.0)... Интерфейс 2009-го акада использует WPF, а данная технология появилась только в версии .Net 3.0.
Или я чего упустил?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Охотно верю. Но проблема в том, что в 2009 я уже очень давно не эскпериментировал (балуюсь на 2008 и 2010). Учитывая, что 2008 и 2009 (по крайней мере в части ObjectARX) - одного поколения, а также то, что в 2008 используется .NET 2.0, я и предположил, что под 2009 используется 2-я версия.
Конечно, это по идее надо проверить и перепроверить...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
Хотелось бы написать что-то универсальное, но изначально ориентироваться буду на объекты, созданные Extrude'ами и Presspool'ами из контуров с прямыми углами. Вся эта совокупность объектов по легенде будет представлять собой трёхмерную схему помещения. |
||||
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813
|
Цитата:
А то звучит навроде как программироание через @$$ Аж мурашки по коже... ~'J'~ |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Олег (jr.), с тебя новое название (можно в личку) Переименовать - не проблема.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Проектирование заборов уже в прошлом Регистрация: 29.10.2009
Рязань
Сообщений: 2,089
|
Я бы смотрел в сторону .NET, что C#, что VB.NET
"Охват" этих языков пошире, соответственно литературы больше (в т.ч. профессиональной для "настоящих" программистов), и проживут они явно дольше. Последний раз редактировалось Meknotek, 01.02.2010 в 19:16. |
|||
|
||||
Цитата:
Если бы еще и ObjectARX был полностью на .Net - вообще бы малина была... )))
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
BREP тебе в руки. Поиск по файлу справки ObjectARX SDK тебе должен помочь. Ну и эта ссылка тоже: http://through-the-interface.typepad...sing-a-3d.html
P.S.: А тему бы я поменял, на "Как получить информацию о 3DSOLID (вершины, грани) с помощь ObjectARX .NET (C#) ?" Последний раз редактировалось Александр Ривилис, 01.02.2010 в 21:19. |
||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
А почему нельзя просто explod'ом разбивать 3DSOLID и последовательно получать грани, и вершины?
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 01.02.2010 в 23:16. |
|||
|
||||
Это ты о Kean Walmsley? Это вообще-то не просто аватар, а его фото.
Цитата:
Последний раз редактировалось Александр Ривилис, 01.02.2010 в 23:18. |
||||
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
А я про чёрта уже удалил. Сам испугался.
Хорошо бы ещё, чтоб он на русском писал, а то непонятно почти ничего.
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 01.02.2010 в 23:28. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа со словарями AutoCAD через .Net API | hwd | .NET | 3 | 02.02.2018 15:55 |
Программирование под вертикальные решения автокада | Mazai | Программирование | 11 | 26.06.2008 14:55 |
Программирование в VBA. Не AutoCAD. | mmax | Программирование | 1 | 14.03.2007 08:30 |
Постановка задачи и программирование под AutoCAD | kos | Программирование | 11 | 20.12.2004 13:44 |