| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
17.01.2012, 23:13 | #1 | |
Получение текстовой строки чертежа AutoCad по конкретным координатам
Регистрация: 17.01.2012
Сообщений: 8
|
||
Просмотров: 5501
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Гарантированно работающий вариант - пройтись по всем примитивам ModelSpace и отфильтровать тексты с нужными координатами.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.01.2012
Сообщений: 8
|
все мои познания работы с AutoCad через delphi заключаются в вычерчивании различных фигур, добавлении текста, изменение цветов, штриховка. Не могли бы вы привести пример Вашего метода или скинуть ссылку, где это можно почитать. Спасибо.
|
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
берете ActiveDocument.ModelSpace (то куда вы через delphi добавляете примитивы) просмативаете все item'ы и у тех из них которые text, mtext проверяете координаты.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 17.01.2012
Сообщений: 8
|
|
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Ну если совсем на лиспе то все это "чирикаеться" в одну строчку (реально в одну) - т.к. там есть готовые функции выборки, но толку от нее Вам никакого, т.к. Вы из дельфи можете использовать ТОЛЬКО объектную модель (ну из дельфи. Net еще и соответствующие API - но это, как я понимаю не "наш" случай). Вот попытался "максимально просто" изложить аналогичную фильтрацию на лиспе (единственно что Вам потрбуеться реализовать самостоятельно это аналог функции distance - (строка 16 - получение расстояния между двумя координатами точек)):
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 17.01.2012
Сообщений: 8
|
Дима_ спасибо! код это очень не просто перевести на дельфи.
спасибо! объект я получу, полагаю в моем случае код будет выглядить так: Var_OleVarian.SelectAtPoint(P)); но как из переменной Var_OleVarian прочитать текст, если он есть там? Или в случае нахождения в этой переменной только текста, то переменная и будет этим текстом? |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
То gomer через SelectAtPoint с учетом точек по моему будут выбранны только видимые в текущем масштабе. Ну и потом все равно из набора "вытягивать" (я не знаю есть-ли в дельфи автоматические преобразования "слаботипизированных" коллекций).
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 18.01.2012 в 13:48. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
serega82, почувствуй разницу между тэгами quote (цитата) и code (код).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Это иллюзия. Иллюзия, что этот код будет стабильно работать. Тебе уже писали, что метод SelectAtPoint работает только тогда, когда точка видна на экране. И это не единственное ограничение.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Регистрация: 17.01.2012
Сообщений: 8
|
не спорю, этот код был собран из кусков из интернета. я не программист, и все что описывается на многих форумах для меня по большому счету не понятно. по этой причине я подгонял этот код под результат, тупо меняя типы переменных, переставляю все местами по 10 раз. в течении вечера добился работоспособности, хоть и не универсальной, не оптимальной, но в моем случае рабочий. К сожалению код на дельфи я не нашел, а подсказки и советы были на языке программистов, для меня не особо понятном :-)
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вылетает AutoCAD при открытии чертежа | aydarka | AutoCAD | 20 | 16.05.2023 21:23 |
1. AutoCAD | Кулик Алексей aka kpblc | FAQ: Часто задаваемые вопросы | 25 | 27.09.2016 13:29 |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |
Не работает Copy/Paste с конкретным файлом чертежа и Wblock | Nai | AutoCAD | 7 | 17.05.2012 12:55 |
Вставка AutoCAD чертежа в Word | Youdgin | AutoCAD | 36 | 02.09.2011 17:14 |