![]() |
Здравствуйте, гость ( Вход | Регистрация )
ИНН: 7714824045 |
|
![]() ![]() |
![]() |
Гость_DemaLtd_* |
![]()
Сообщение
#1
|
Guest Forum ![]() |
Для нанесения по координатам большого количества блоков требуется автоматизация данной операции.
Кол-во видов, предварительно созданных, блоков- 3. Кол-во блоков на листе до 300. Кординаты и название блока в Excel. Как автоматизировать? |
|
|
![]()
Сообщение
#2
|
|
сферический инженер-кун в вакууме Группа: Участники форума Сообщений: 1478 Регистрация: 4.9.2005 Из: прекрасное далёко Пользователь №: 1163 ![]() |
Ну ладно пока раз уж никто не решился помочь автору, то дам ответ и на решение текущей задачи.
Решение аналогично решению задачи в теме про вставку текстов, с одним лишь отличием что строка в скрипте примет вид _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. Первому зашедшему сюда модератору предлагаю закрыть тему воизбежание флуда местного персонажа (не будем тыкать пальцем), т.к. в моём сообщении содержится исчерпывающий ответ. А благодарность автор темы может мне в личку отправить, как он это сделал в прошлый раз. Сообщение отредактировал glam - 27.11.2010, 23:45
Прикрепленные файлы
|
|
|
![]()
Сообщение
#3
|
|
CAD Developer Группа: Участники форума Сообщений: 409 Регистрация: 6.2.2006 Из: C.-Петербург, Россия Пользователь №: 2062 ![]() |
А как быть с тем, что система координат может быть отличной от текущей? А углы в чем задавать - в градусах или радианах? А как обрабатывать динамические блоки?
Вопросов больше чем ответов... |
|
|
![]()
Сообщение
#4
|
|
сферический инженер-кун в вакууме Группа: Участники форума Сообщений: 1478 Регистрация: 4.9.2005 Из: прекрасное далёко Пользователь №: 1163 ![]() |
Вопросы с одной стороны правильные, с другой стороны в данном случае, насколько я понял автора (вчитайся в условие задачи), ему даже не требуется ни масштабирование, ни поворот блоков, ни тем более пользовательская система координат отличная от текущей, а исключительно вставка блоков, коих у автора всего-то 3 штуки, в чертеж, но непременно с заданными координатами. Так что простой ответ на самом деле один, а усложнять разумеется можно достаточно сильно - тут как говорится все будет ограничено только фантазией автора и дальнейшая автоматизация уже выльется в более сложные формы её реализации, которые в свою очередь приобретут формы более сложные чем какой-то несчастный скрипт.
Твои вопросы, тёзка, от избытка знаний. В хорошем смысле этого слова. Ты на автоматизации собаку съел и я так подозреваю не одну, как никак подпись и специализация обязывает. Углы в градусах. Вообще то они всегда в автокаде в градусах в шаблонах по умолчанию стоят, для того чтобы радианы использовать надо как минимум другие _units выставить. А вот размерность для масштабирования в базовом шаблоне автокада как раз дюймы, поэтому либо надо блоки создавать безразмерными, как в случае с моим примером, либо учитывать размерность чертежа. Динамические блоки? А что с ними не так? Вставляться они будут так же как и нединамические, здесь ничего не меняется, а если необходимо чтобы вставлялись динамические блоки с выбором всевозможных параметров и может быть до кучи заполнением атрибутов, то тут уж я умываю руки. Кстати, при наличии в блоке атрибутов, которые надо заполнять предложенный мной способ перестает работать, вернее работать то он будет, но тогда помимо указанных параметров вставки в каждой строке должны будут фигурировать и переменные для заполнения атрибутов в количестве соответствующем количеству атрибутов. Поэтому как я уже сказал мой ответ рассчитан только на самый простой случай применения, даже с блоками имеющими в названии пробелы работать не будет. Но ведь я однако простой "сферический инженер-кун в вакууме", а не "CAD developer", так что мне простительно. Если существуют готовые решения для более сложных параметров поставленной задачи, то пиши, выкладывай, рассказывай, делись. Думаю автор темы только спасибо скажет. Я тоже скажу. Глядишь и мне когда нибудь что-нибудь подобное может быть когда пригодится. Сообщение отредактировал glam - 28.11.2010, 2:44 |
|
|
Гость_Сфинкс_* |
![]()
Сообщение
#5
|
Guest Forum ![]() |
Можно ещё усложнить задачу про блоки:
как заменять слова внутри блоков (?), например, с целью перевода: по типу "door" на "дверь" и так по словарю из 100 слов? |
|
|
![]()
Сообщение
#6
|
|
Группа: New Сообщений: 1 Регистрация: 4.12.2014 Пользователь №: 253016 ![]() |
Здравствуйте! Не получается вставить блок из блокнота. Вставляется только первая строка из файла блокнота. Помогите разобраться в чем моя ошибка.Моя почта asssya82@mail.ru
|
|
|
![]()
Сообщение
#7
|
|
Группа: Участники форума Сообщений: 3512 Регистрация: 5.3.2009 Из: Газ-Ачака Пользователь №: 30120 ![]() |
кстати если не нужно с каждым объектом что то делать, то лучше сразу провести все манипуляции а дальше воспользоваться лиспом http://forum.dwg.ru/showthread.php?t=29575
|
|
|
![]() ![]() |
|
![]() |
![]() |
Текстовая версия | Сейчас: 15.6.2024, 7:48 |