|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
как извлечь информацию о свойствах примитива
машиностроение
Москва
Регистрация: 22.03.2005
Сообщений: 56
|
||
Просмотров: 4946
|
|
||||
Регистрация: 18.10.2004
Odessa
Сообщений: 226
![]() |
Цитата:
Цитата:
![]() Цитата:
Для начала, неплохо бы ознакомиться с AutoCAD DXF Reference (DXF files are text or binary files that contain drawing information that can be read by other CAD programs.) |
|||
![]() |
|
||||
машиностроение Регистрация: 22.03.2005
Москва
Сообщений: 56
|
веселье через край
Ладно, допустим я начертил все это оптической мышкой. Окно пропиртесов меня мало интересует. Поставим вопрос уже: как получить значения координат концов отрезка с помощью программы, написаной на делфях, причем отрезок начерчен НЕ этой программой? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
> Владиммр В:
Прежде чем получать данные о примитиве, до него надо добраться. Если через лисп, то, например, отрезок имеет следующий вид (пояснения насколько я сам понимаю): Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Сугубо ИМХО
Преобразуем это дело в пары ("CIRCLE" выбросим, она на данный момент не нужна): 5 43 330 1F 100 AcDbEntity 8 0 100 AcDbCircle Т.е. 5 <-> 43 - Хендл объекта, он строковый, но может иметь вид в принципе любой. 330 <-> 1F - "Мягкий" указатель на объект. 100 <-> AcDbEntity - Subclass marker (AcDbEntity). Маркер класса общей базы данных 8 <-> 0 - имя слоя, на котором болтается объект 100 <-> AcDbCircle - Subclass marker (AcDbCircle) базы данных окружностей 10 - по-моему, координата х начальной точки, 20 - у и 30 - z, дальше не помню - смотреть надо.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,202
![]() |
>Владимир В
Я Delphi не знаю, но ,ИМХО, вы идете по не правильному пути. Для работы со свойствами объектов, вам, скорее всего , нужно использовать объектную модель акада. DXF коды используются в автолиспе, они, ИМХО, для него и предназначены. Почитайте сдесь, должно помочь: http://www.autocad.ru/cgi-bin/f1/board.cgi?p=42 |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Остается объектная модель. Тут не зависит ничего от того, какой программой был начерчен отрезок или хоть что. Есть объектная модель, описанная в acadauto.chm или, если больше нравится, в AutoCAD_TLB.PAS. Вот то, и только то, что там объявлено, доступно из Delphi-программы. Примеров там тьма, правда на каком-то VBA. Для получения координат отрезка надо найти каким-то образом ("400 сравнительно честных способов") объект этого конкретного отрезка и координаты извлечь из его свойств. Для отрезка эти свойства называются StartPoint и EndPoint. Точно так, как работают с любыми объектами в Delphi. Но все это надо вытаскивать из Help. |
|||
![]() |
|
||||
машиностроение Регистрация: 22.03.2005
Москва
Сообщений: 56
|
Цитата:
|
|||
![]() |