|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
03.09.2011, 14:15 | #1 | |
.NET C#. как извлекать из BlockTable конкретные примитивы?
Регистрация: 18.08.2011
Сообщений: 7
|
||
Просмотров: 7068
|
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 571
|
Может так: allObjects.ElementAt(<индекс>)
__________________
cadtools |
|||
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 571
|
Йцукенгшщзхъ, я то думал что нужно просто перейти от allObjects к объектам содержащимся в нем. Если надо сформировать набор всех точек чертежа или каких-либо других примитивов, то зачем брать все объекты, я потом из них как-то там вытаскивать конкретные, если можно сразу получить набор каких-то конкретных примитивов(точек, полилиний, отрезков, окружностей и т. д.)
Код:
P. S. есть еще сайт hwd AutoCAD .Net Laboratory на русском, но сейчас туда почему-то не достучаться, это надо у автора узнавать.
__________________
cadtools Последний раз редактировалось TararykovDG, 13.09.2011 в 08:29. Причина: Правил ссылки |
|||
|
||||
Цитата:
Если это терпит 2 недели - подожди (в личку ответил о причинах такого срока). У меня есть готовый код под то, что пишешь. Если будет ещё актуально - вернусь скину.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Регистрация: 18.08.2011
Сообщений: 7
|
Цитата:
Вообще, нужно выбирать примитивы и редактировать их свойства с последующем изменением на чертеже. То есть выбрать, присвоить значения, записать обратно. Интересно, что прочитав мануалы и хелпы по .NET API нигде не увидел примеры выборки и редактирования примитивов - только редактирование свойств слоев. |
|||
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 571
|
Да это просто был пример как выбрать объекты с чертежа. Можно и без запроса у пользователя
Вот пример (именно пример) кода, который перебирает все объекты чертежа (без запроса у пользователя выбора объектов) и некоторым из них меняет свойства (все круги делает зелеными, все полилинии синими, все отрезки красными, остальные объекты не изменяются) Код:
Все это есть в ссылке которую я указал в посте #4
__________________
cadtools |
|||
|
||||
|
||||
|
||||
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
|
Так получаем набор линий, к примеру
Код:
hwd, ждём! TararykovDG, Если твоим методом выделять определённые примитивы, то можно использовать фильтр, который неоднократно помогал и при обычной работе с автокадом.. Код:
Последний раз редактировалось bargool, 16.09.2011 в 18:51. |
|||
|
||||
Я в подобных случаях выполняю группировку результата. На переделанном примере топикстартера это выглядит так:
Код:
Цитата:
Если что будет непонятно по коду - спрашивай. п.с. проект MS VS 2010; AutoCAD 2009 x86
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 21.09.2011 в 11:03. |
||||
|
||||
Обновил содержимое ссылки, обозначенной мною в #12.
Изменения, внесённые в библиотеку: 1. Исправлен ряд ошибок в коде 2. Внесены изменения в сигнатуры некоторых методов 3. Исправлены ошибки, найденные в комментариях 4. Внесены некоторые изменения в код тестовых команд 5. Добавлены новые тесты 6. Некоторые методы переименованы (дабы их назначение было более понятным) 7. Добавлен ряд новых методов расширений (для Database, Transaction, Editor, SymbolTable). п.с. это не окончательная версия библиотеки - она будет продолжать тестироваться и отлаживаться в случае обнаружения ошибок. В ближайшее время в неё будут добавлены менеджеры управления стилями (текстовый/размерный/мультивыносок/таблиц), реализующие единый программный интерфейс (interface). Исходный код подробно комментирован, однако, тем не менее в ближайшее время планирую выполнить генерацию справочной системы под библиотеку. п.с.2 Замечания и пожелания по существу (я о библиотеке) - приветствуются.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 21.09.2011 в 11:12. |
||||