Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Диалог специалистов АВОК _ AutoCAD for HVAC _ Автоматическая расстановка блоков в AutoCAD

Автор: DemaLtd 25.11.2010, 8:38

Для нанесения по координатам большого количества блоков требуется автоматизация данной операции.
Кол-во видов, предварительно созданных, блоков- 3.
Кол-во блоков на листе до 300.
Кординаты и название блока в Excel.
Как автоматизировать?

Автор: glam 27.11.2010, 23:34

Ну ладно пока раз уж никто не решился помочь автору, то дам ответ и на решение текущей задачи.
Решение аналогично решению задачи в http://forum.abok.ru/index.php?showtopic=55186, с одним лишь отличием что строка в скрипте примет вид
_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. Первому зашедшему сюда модератору предлагаю закрыть тему воизбежание флуда местного персонажа (не будем тыкать пальцем), т.к. в моём сообщении содержится исчерпывающий ответ. А благодарность автор темы может мне в личку отправить, как он это сделал в прошлый раз.

 block2coordinates.rar ( 20,82 килобайт ) : 325
 

Автор: kpblc 28.11.2010, 1:01

А как быть с тем, что система координат может быть отличной от текущей? А углы в чем задавать - в градусах или радианах? А как обрабатывать динамические блоки?
Вопросов больше чем ответов...

Автор: glam 28.11.2010, 2:27

Вопросы с одной стороны правильные, с другой стороны в данном случае, насколько я понял автора (вчитайся в условие задачи), ему даже не требуется ни масштабирование, ни поворот блоков, ни тем более пользовательская система координат отличная от текущей, а исключительно вставка блоков, коих у автора всего-то 3 штуки, в чертеж, но непременно с заданными координатами. Так что простой ответ на самом деле один, а усложнять разумеется можно достаточно сильно - тут как говорится все будет ограничено только фантазией автора и дальнейшая автоматизация уже выльется в более сложные формы её реализации, которые в свою очередь приобретут формы более сложные чем какой-то несчастный скрипт.
Твои вопросы, тёзка, от избытка знаний. В хорошем смысле этого слова. Ты на автоматизации собаку съел и я так подозреваю не одну, как никак подпись и специализация обязывает.
Углы в градусах. Вообще то они всегда в автокаде в градусах в шаблонах по умолчанию стоят, для того чтобы радианы использовать надо как минимум другие _units выставить. А вот размерность для масштабирования в базовом шаблоне автокада как раз дюймы, поэтому либо надо блоки создавать безразмерными, как в случае с моим примером, либо учитывать размерность чертежа. Динамические блоки? А что с ними не так? Вставляться они будут так же как и нединамические, здесь ничего не меняется, а если необходимо чтобы вставлялись динамические блоки с выбором всевозможных параметров и может быть до кучи заполнением атрибутов, то тут уж я умываю руки. Кстати, при наличии в блоке атрибутов, которые надо заполнять предложенный мной способ перестает работать, вернее работать то он будет, но тогда помимо указанных параметров вставки в каждой строке должны будут фигурировать и переменные для заполнения атрибутов в количестве соответствующем количеству атрибутов. Поэтому как я уже сказал мой ответ рассчитан только на самый простой случай применения, даже с блоками имеющими в названии пробелы работать не будет. Но ведь я однако простой "сферический инженер-кун в вакууме", а не "CAD developer", так что мне простительно.
Если существуют готовые решения для более сложных параметров поставленной задачи, то пиши, выкладывай, рассказывай, делись. Думаю автор темы только спасибо скажет. Я тоже скажу. Глядишь и мне когда нибудь что-нибудь подобное может быть когда пригодится.

Автор: Сфинкс 28.11.2010, 5:15

Можно ещё усложнить задачу про блоки:
как заменять слова внутри блоков (?), например, с целью перевода:
по типу "door" на "дверь" и так по словарю из 100 слов?

Автор: Ася 82 4.4.2016, 10:50

Здравствуйте! Не получается вставить блок из блокнота. Вставляется только первая строка из файла блокнота. Помогите разобраться в чем моя ошибка.Моя почта asssya82@mail.ru

Автор: Composter 4.4.2016, 11:41

кстати если не нужно с каждым объектом что то делать, то лучше сразу провести все манипуляции а дальше воспользоваться лиспом http://forum.dwg.ru/showthread.php?t=29575

Русская версия Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)