|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Инженер-гидрограф Регистрация: 15.09.2011
г.г. Ленинград
Сообщений: 170
|
Цитата:
Цитата:
ProPeller подскажи, что прописать, чтобы после построения опять появлялся вопрос какое смещение ввести и указать сторону? пока не нажму отмена.
__________________
AutoCAD Civil 3D 2012г. 32-разрядная. Последний раз редактировалось Pavel_GP, 03.11.2015 в 10:37. |
|||
![]() |
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
Здравствуйте! Подскажите, пожалуйста, как добраться до свойств примитивов входящих в описание блока?
До свойств самого блока добраться легко, а вот до примитивов в блоке пока не представляю как. В какую сторону копать, подскажите.
__________________
слесарь САПР |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А не проще найти темы "Нормализация блоков" и "Подготовка подосновы"? Там вариантов "захода внутрь блока" - тьма!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Не совсем правильное определение. То что вы называете блоком, на самом деле является ссылкой на блок или же Reference.
Если знакомы с технологией ActiveX, то рекомендую воспользоваться следующими командами. Код:
__________________
Автоматизация должна быть автоматической. |
|||
![]() |
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
Начал копать в сторону entnext, действительно можно добраться до примитивов.
Код:
ProPeller, спасибо за информацию, попробую использовать active x.
__________________
слесарь САПР |
|||
![]() |
|
||||
Конструктор Регистрация: 04.04.2007
Киев
Сообщений: 536
|
Цитата:
Команда: (setvar "cecolor" (LM:randrange 0 10)) ; ошибка: Настройка переменной AutoCAD отвергнута: "cecolor" 2 |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
Здравствуйте! Пишу в ветку для чайников, так как сам пока не могу сообразить то, каким образом решить свою проблему.
Lisp знаю неважно, а методы АктивХ вообще плохо. Поэтому решил написать сюда, может кто-то поможет советом. Есть задача, используя метод Актив Х, добраться до свойств блока, лучше конечно до атрибутов, но хотя бы просто до блока расположенного на листе. Назрело несколько вариантов Вариант 1. Активный документ-семейство блоков-подсчет количества-переборка всех блоков. Но тут запинка - не знаю как распознать на каком листе лежит тот или иной блок. Блоки нашел с листами связать не знаю как. Вариант 2. Активный документ-семейство листов-подсчет количества-переборка всех листов. Но и тут увы проблема, как на листе искать нужный блок? Искать в пространстве PaperSpace или Layout? Наоборот, листы нашел, как искать блоки на них? Вопросов море, ответов мало. Направьте заблудшего дальше, прошу. ![]()
__________________
слесарь САПР |
|||
![]() |
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Цитата:
Перед тем как давать советы, хотелось бы узнать, по каким свойствам данный блок должен находиться (Имя, Имя листа, цвет, запах и т.д.)? Это значительно уменьшит количество советов и направит в нужное русло. Заодно можете приложить файл с этим блоком, расположенным там где его нужно искать. Там можно уже будет подсказать, как добраться до атрибутов.
__________________
Автоматизация должна быть автоматической. |
|||
![]() |
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
ProPeller, спасибо за проявленный интерес, выкладываю файл.
В файле лситы с блоком основной надписи, блок динамический. Итоговая задача-максимум пройти каждый лист чертежа, найти блок "Осннадпись" и в зависимости от параметра видимости в блоке, считывать информацию из атрибута "НАЗВАНИЕ-ТЕКУЩ-ЛИСТА", запоминая ее. Затем данную инфу размещаем в таблице ведомости листов. Атрибуты считывать я научился, правда пока у простых блоков, инфу запоминать и размещать в таблице тоже. А вот оперируя методами актив Х добраться до блока пока не хватает опыта и знаний. Поэтому, прошу, подскажите каким образом оптимальнее добраться до блока.
__________________
слесарь САПР |
|||
![]() |
|
||||
начинающий инженер-гидротехник Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 910
|
Fedorino, посмотрите эту тему http://forum.dwg.ru/showthread.php?t=14548
|
|||
![]() |
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Цитата:
Код:
__________________
Автоматизация должна быть автоматической. |
|||
![]() |
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
kacugu, спасибо за ссылочку, гляну.
ProPeller, спасибо за код, а вообще возможно полноценно использовать АктивХ, т.е. добраться до блоков через семейства? Например, через семейство листов - найти нужный лист, оттуда выудить инфу о семействе блоков - затем о нужном блоке. Или сразу через семейство блоков получить инфу о нужном блоке, а из него выудить на каком он листе располагается. Таким образом до объектов можно добираться или же все же придеться использовать стандартные lisp функции?
__________________
слесарь САПР |
|||
![]() |
|
|||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Цитата:
Цитата:
Цитата:
Цитата:
Отсюда вывод. В связи с тем что AutoCAD хранит информацию об объектах одним целым, не разделяя её на листы и т.д., приходится искать нужные объекты посредством анализа их свойств.
__________________
Автоматизация должна быть автоматической. |
||||
![]() |
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
ProPeller, информация оказалась полезной, многое встало на свои места, будем работать с вхождениями блока, а не с описаниями, которые хранятся в семействе.
Цитата:
Цитата:
Или я в чем то ошибаюсь?
__________________
слесарь САПР |
|||
![]() |
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Да, это пространство листа. Именно листа, а не листов, к тому же именно последнего активного листа.
__________________
Автоматизация должна быть автоматической. |
|||
![]() |
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
Ясно, последовательное активирование листов и поиск нужного блока, увеличат время работы программы,
по сравнению с алгоритмом поиска сразу всех блоков и анализа их свойств. Пока информации достаточно, спасибо за ликбез, нужно переварить полученное ![]()
__________________
слесарь САПР |
|||
![]() |
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Цитата:
В том варианте который я предложил, как раз и происходит поочередная фильтрация по листам, но на скорость это не сильно влияет. Я бы даже сказал наоборот, что это наиболее быстрый вариантом поиска. Более того, даже несколько тысяч таких блоков, расположенных на разных листах, найдутся в течении 1-2 секунд. П.С. Если бы блок был не динамическим и мы бы точно знали в каком листе искать, то код сократился бы втрое.
__________________
Автоматизация должна быть автоматической. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |