|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Ссылки в объектной модели AutoCAD
Проектирование гражданских зданий
Санкт-Петербург
Регистрация: 25.03.2010
Сообщений: 90
|
||
Просмотров: 7076
|
|
||||
можно
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Объектная модель, она разной бывает. Уточни.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Поиск по "внешняя ссылка путь" на форуме пробовали?
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
![]() |
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
AutoCAD 2012 и 2013.
Что значит разные объектные модели. М. б., станет ясно, если пояснить задачу. Надо выявить все файлы, на которые есть ссылки, и скопировать их в одну отдельную папку. Фактически то же, что сформировать комплект. Только надо это сделать не в автокаде, а отдельной внешней программой. Поиски по форуму пробовал, но не нашел. (может плохо искал, есть что-то созвучное, но не то). |
|||
![]() |
|
||||
ObjectARX, ActiveX, .Net API.
В таком случае тебе не подойдёт ничего из указанного выше, и использовать нужно COM модель, создавая объекты на основе записей реестра (позднее связывание). В этом случае ты не будешь завязан на версию AutoCAD.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
И AutoCAD должен быть установлен.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
Пояснили бы, как это сделать.
Я не программист (уровень начальный). Самое большее, чего достиг: uses ..., ActiveX, ComObj; var ......... ModelSpace, Acad: OleVariant; implementation begin try Acad := GetActiveOleObject('AutoCAD.Application'); except Acad := CreateOleObject('AutoCAD.Application'); end; Acad.visible := True; Acad.ActiveDocument.SendCommand('.............'); и т. д. |
|||
![]() |
|
||||
Теги оформления кода на форуме не просто так присутствуют... Отредактируй сообщение соответствующим образом.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Плохо. Тогда мы будем разговаривать на разных языках. Тем более, что на Delphi я не пишу совсем.
В любом случае через Acad.ActiveDocument.SendCommand у тебя ничего не получится Задача по плечу только серьезному программисту и вполне возможно, что средств COM (это то, что ты пытаешься использовать) будет недостаточно. P.S.: Вообще-то если тебя устраивает функциональность команды формкомплект (_ETRANSMIT), то ты можешь запустить через SendCommand её эквивалент в командной строке _.-ETRANSMIT (именно так с подчеркиваниями, минусом и точкой). Ну а с какими опциями запускать - это ты уж подбери сам.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка Последний раз редактировалось Александр Ривилис, 11.10.2012 в 14:02. |
||||
![]() |
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
hwd, ирония уместно среди профессионалов, а я таковым в этом вопросе не являюсь.
Ну, не нашел!!! Александр Ривилис. Спасибо. Конечно не SendCommand. Мне казалось, что-то вроде "Text := ModelSpace.ExternalReference.name;" Однако получаю сообщение, что метод не поддерживается. Во всяком случае, спасибо всем. Последний раз редактировалось sergeev_2005, 11.10.2012 в 14:04. |
|||
![]() |
|
||||
При чём здесь ирония? Над полем, в котором ты набираешь текст, присутствуют кнопки. Не ленись, наведи мышку на них и во всплывающей подсказке получишь информацию какая для чего предназначена. Всё, далее без меня.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
Как раз весь сыр-бор из-за того, что (_ETRANSMIT) не устраивает.
Если подгружаемые файлы не прошли полный аудит (а это не всегда можно сделать из-за прав доступа к папкам), то формирование комплекта через (_ETRANSMIT) часто подвешивает автокад на неопределенно долгое время. Что касается оформления сообщений, то учту на будущее. |
|||
![]() |
|
||||
Xref (ExternalReference) - это блоки (Block) у которых IsXref равно true. Но для твоей задачи этого совершенно недостаточно если сравнивать с командой _ETRANSMIT:
1) Как будешь обрабатывать вложенные внешние ссылки? Открывать рекурсивно все внешние ссылки в AutoCAD чтобы получить все пути? 2) Кроме внешних ссылок есть еще растры, подложки PDF, DWF, DGN и т.д. 3) Нужно найти и сохранить все используемые шрифты и файлы форм. 4) и т.д. и т.п.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Цитата:
2. Причина в том, что:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
Ограничивается.
Шрифты и т.д. сохранять не надо, растры, как правило, тоже. Дело в том, что: 1. Сотрудники фирмы часто берут работу на дом. 2. Файлы построены на ссылках с абсолютными путями нам сервер. 3. Ссылок много. Принцип формирования архитектурных планов: один файл - одна секция здания - один этаж. 4. Все файлы надо записать в одну папку. 5. Шрифты, формы и растры каждый раз таскать не надо. Если они и обновляются, то в исключительных случаях. То есть, хотелось бы формировать комплект с ограниченными возможностями по сравнению с (_ETRANSMIT), но делать это быстро и надёжно. |
|||
![]() |
|
||||
Только этот код не на Delphi и такой код использовать из внешнего приложения нельзя.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Я забыл, что он из внешнего приложения это хочет делать.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Видеоуроки AutoCAD | kosmax | AutoCAD | 173 | 17.02.2017 15:08 |
Создание поверности и 3d модели поверхности в AutoCAD Civil 3d 2009 | Arhistratig | Вертикальные решения на базе AutoCAD | 25 | 07.05.2013 14:53 |
Привязка внешней ссылки (файл civil 2012) к файлу autocad 2007 | koca | AutoCAD | 1 | 26.05.2012 21:07 |
Справка по объектной модели Autocad 2011 | Apelsinov | Программирование | 1 | 01.12.2011 15:42 |