Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Автоматическая расстановка блоков в AutoCAD
Диалог специалистов АВОК > ФАЙЛОТЕКА СПЕЦИАЛИСТА > Программы, расчеты > AutoCAD for HVAC
DemaLtd
Для нанесения по координатам большого количества блоков требуется автоматизация данной операции.
Кол-во видов, предварительно созданных, блоков- 3.
Кол-во блоков на листе до 300.
Кординаты и название блока в Excel.
Как автоматизировать?
glam
Ну ладно пока раз уж никто не решился помочь автору, то дам ответ и на решение текущей задачи.
Решение аналогично решению задачи в теме про вставку текстов, с одним лишь отличием что строка в скрипте примет вид
_insert blockname X,Y,Z M N
где _insert - команда вставки блока
blockname - имя вставляемого блока
X,Y,Z - координаты вставки блока (здесь указываются цифры, для десятичных координат разделителем является точка)
M - фактор масштаба вставляемого блока
N - угол поворота вставляемого блока.
В примере во вложении пустой файл Primer.dwg в котором имеется 3 блока с именами block1, block2, block3. В файле excel заполненная таблица с указанием имен вставляемых блоков, координатами вставки и опциями масштабирования и поворота. В файле Primer.scr итоговый результат из экселевского файла. Запускаем команду _script, указываем в появившемся диалоговом окне файл Primer.scr и на выходе имеем готовый результат.

Всем спасибо за внимание. Я сегодня снова пусенька!

P.S. Первому зашедшему сюда модератору предлагаю закрыть тему воизбежание флуда местного персонажа (не будем тыкать пальцем), т.к. в моём сообщении содержится исчерпывающий ответ. А благодарность автор темы может мне в личку отправить, как он это сделал в прошлый раз.
kpblc
А как быть с тем, что система координат может быть отличной от текущей? А углы в чем задавать - в градусах или радианах? А как обрабатывать динамические блоки?
Вопросов больше чем ответов...
glam
Вопросы с одной стороны правильные, с другой стороны в данном случае, насколько я понял автора (вчитайся в условие задачи), ему даже не требуется ни масштабирование, ни поворот блоков, ни тем более пользовательская система координат отличная от текущей, а исключительно вставка блоков, коих у автора всего-то 3 штуки, в чертеж, но непременно с заданными координатами. Так что простой ответ на самом деле один, а усложнять разумеется можно достаточно сильно - тут как говорится все будет ограничено только фантазией автора и дальнейшая автоматизация уже выльется в более сложные формы её реализации, которые в свою очередь приобретут формы более сложные чем какой-то несчастный скрипт.
Твои вопросы, тёзка, от избытка знаний. В хорошем смысле этого слова. Ты на автоматизации собаку съел и я так подозреваю не одну, как никак подпись и специализация обязывает.
Углы в градусах. Вообще то они всегда в автокаде в градусах в шаблонах по умолчанию стоят, для того чтобы радианы использовать надо как минимум другие _units выставить. А вот размерность для масштабирования в базовом шаблоне автокада как раз дюймы, поэтому либо надо блоки создавать безразмерными, как в случае с моим примером, либо учитывать размерность чертежа. Динамические блоки? А что с ними не так? Вставляться они будут так же как и нединамические, здесь ничего не меняется, а если необходимо чтобы вставлялись динамические блоки с выбором всевозможных параметров и может быть до кучи заполнением атрибутов, то тут уж я умываю руки. Кстати, при наличии в блоке атрибутов, которые надо заполнять предложенный мной способ перестает работать, вернее работать то он будет, но тогда помимо указанных параметров вставки в каждой строке должны будут фигурировать и переменные для заполнения атрибутов в количестве соответствующем количеству атрибутов. Поэтому как я уже сказал мой ответ рассчитан только на самый простой случай применения, даже с блоками имеющими в названии пробелы работать не будет. Но ведь я однако простой "сферический инженер-кун в вакууме", а не "CAD developer", так что мне простительно.
Если существуют готовые решения для более сложных параметров поставленной задачи, то пиши, выкладывай, рассказывай, делись. Думаю автор темы только спасибо скажет. Я тоже скажу. Глядишь и мне когда нибудь что-нибудь подобное может быть когда пригодится.
Сфинкс
Можно ещё усложнить задачу про блоки:
как заменять слова внутри блоков (?), например, с целью перевода:
по типу "door" на "дверь" и так по словарю из 100 слов?
Ася 82
Здравствуйте! Не получается вставить блок из блокнота. Вставляется только первая строка из файла блокнота. Помогите разобраться в чем моя ошибка.Моя почта asssya82@mail.ru
Composter
кстати если не нужно с каждым объектом что то делать, то лучше сразу провести все манипуляции а дальше воспользоваться лиспом http://forum.dwg.ru/showthread.php?t=29575
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.