![]() |
|
Модераторы: MetalFan |
![]()
|
|
| EEEEEE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.5.2006 Репутация: нет Всего: нет |
Добрый, Всем!
Подскажите, пожалуйста. Как скопировать блок из файла в файл AutoCAD средствами автоматизации? |
|||
|
||||
| de_Nis |
|
|||
![]() Старательный ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 19.10.2006 Где: Молдова Репутация: нет Всего: 6 |
Немного поконкретнее, пожалуйста.
Из какого файла копировать блок? Что из себя представляет блок, который нужно скопировать? --------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет… |
|||
|
||||
| EEEEEE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.5.2006 Репутация: нет Всего: нет |
Программа собрана на Builder. Открываем 1 файл с готовыми блоками условных значков. Окрываем 2-й чистый файл и активизируем его. С ним что-то делаем. В нужные точки нужно вставить блоки и з 1-го файла. Может кто чего подскажет? InsertBlock работает только на листе где блок раположен изначально.
|
|||
|
||||
| de_Nis |
|
|||
![]() Старательный ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 19.10.2006 Где: Молдова Репутация: нет Всего: 6 |
1) Что значит "Программа собрана на Builder."?
2) Для работы с разными файлами Автокада применяется другие команды. В первом файле выполняем команду "_copyclip" и указываем нужный блок (блоки), во втором файле выполняем команду "_pasteclip" и вставляем выбранный блок (блоки). Правда, нужно в блоке правильно задать точку вставки. По-моему, при такой вставке блока базовой точкой является нижний левый угол блока, а не базовая точка, определенная при создании блока. То есть если блок - окружность, для которой обычно базовой точкой задают ее центр, то при вставке "_pasteclip" точкой вставки будет нижний левый угол квадрата, описанного вокруг окружности. --------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет… |
|||
|
||||
| EEEEEE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.5.2006 Репутация: нет Всего: нет |
Пользовательская программа дейтсвительно собрана на Builder с применением средств автоматизации.
На сколько понимаю приведён код Lisp. Разговор же о том, чтобы сделать тоже самое только с учётом возможностей серверов автоматизации. |
|||
|
||||
| de_Nis |
|
|||
![]() Старательный ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 19.10.2006 Где: Молдова Репутация: нет Всего: 6 |
Возможно, в Лиспе тоже есть такие команды - не знаю, Лисп не изучал.
С Автокадом можно взаимодействовать из внешней программы, используя объектную модель Автокада. Но ее нужно выучить, что довольно сложно. А так как примеры использования объектной модели приведены на встроенном VB - нужно хорошо выучить и этот язык, а потом "переделать" код приведенных примеров на используемый язык программирования. Если нравится этот способ - милости прошу на сайт dwg.ru, где в разделе "Программирование" рассматриваются вопросы по этому способу взаимодействия с Автокадом. Я привел в предыдущем сообщении обычные команды Автокада, их можно найти в выпадающем меню. А можно вручную ввести в командную строку Автокада. Вот к этому я подталкиваю. В Автокаде есть возможность (из того же выпадающего меню) запускать на выполнение файлы с расширением scr. Это обычный текстовый файл, но со специальным расширением, содержание которого попадает построчно в командную строку Автокада. Если в такой файл записать команды Автокада, а потом запустить файл на выполнение - будет выполнено почти все, что может сделать пользователь, работая в Автокаде. Этот scr-файл можно написать в Блокноте, а можно создать с помощью программы, написанной практически на любом языке программирования: с удобным для пользователя интерфейсом, с полями ввода исходных данных, с проверкой этих данных на соответствие каким-либо требованиям и так далее... Я так и поступаю, если мне нужно что-то автоматизировать в Автокаде. Это сообщение отредактировал(а) de_Nis - 24.3.2009, 10:42 --------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет… |
|||
|
||||
| EEEEEE |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.5.2006 Репутация: нет Всего: нет |
Есть слудующий код на VB:
Как его "срастить" с этим:
и реализовать ? |
||||
|
|||||
| de_Nis |
|
|||
![]() Старательный ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 19.10.2006 Где: Молдова Репутация: нет Всего: 6 |
Ну, вот видишь, как я и говорил: в начале придется выучить объектную модель, потом VB, потом "переделать" код на используемый язык программирования (в данном случае С++)...
На форуме : http://www.caduser.ru/forum/ есть подфорум по программированию в Автокаде с помощью Дельфи: http://www.caduser.ru/forum/index.php?PAGE...list&FID=42 На этом подфоруме есть, например, такая тема: http://www.caduser.ru/forum/index.php?PAGE...2&TID=43105 «Добавление объектов в чертеж из внешнего файла» , дальше не "копал". Использование языка С++ - в подфоруме http://www.caduser.ru/forum/index.php?PAGE...list&FID=24 «ObjectARX», но это не С++Builder, на сколько я знаю. --------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет… |
|||
|
||||
| EEEEEE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.5.2006 Репутация: нет Всего: нет |
de_Nis, спасибо!
Бум думать... |
|||
|
||||
![]()
|
| Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |