|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Запись параметров вставки внешней ссылки в саму внешнюю ссылку.
Руководитель фирмы
Москва
Регистрация: 28.03.2007
Сообщений: 1,831
|
||
Просмотров: 18424
|
|
||||
Попробую разжевать:
Параметры вставки внешней ссылки, то есть координаты, масштаб, углы поворота и пр. обычно хранятся в том файле, куда она вставлена. А я хочу эти данные вычленить и скопировать в служебное пространство файла самой внешней ссылки. Что тут не понятного? Хочу сделать макрос, который это туда запихивает, а потом от туда читает и совершает процесс вставки внешней ссылки в файл, но с уже известными параметрами, а не вручную. Открываешь чистый файл, запускаешь макрос, указываешь какой файл вставить и он, если нашел там запись - вставляет этот файл как внешнюю ссылку в текущее пространство модели. Если собрать модель только из внешних ссылок, переписать во все эти файлы их же собственные координаты вставки и повороты, а потом в чистом файле запустить макрос, то мы опять соберем модель в единое целое. Можно не все файлы собирать, а только некоторые. Будем иметь частично собранную модель там, где нам надо. У меня модель 200 с лишним ссылок, мне чтобы скопировать все это в новый файл, надо системный блок в холодильник ставить. А так я потихоньку могу и целый микрорайон смоделировать до винтика. |
||||
![]() |
|
||||
Народ как-то вяло реагирует на это весьма многообещающее действо. А ведь я только вершину пирамиды обрисовал, так сказать основные моменты, а дальше последует привязка модели к квадратам геоподосновы, привязка к осям здания, привязка координат геоподосновы к геодэзической сети города и все это для того, чтобы можно было построить модель до бесконечности, но одновременно не перегружать проектировщика.
Сделал модель теплового пункта - привяжи модель к осям здания. Привязка эта подразумевает положение теплопункта в пространстве модели здания, куда тепловой пункт входит как внешняя ссылка, а само здание привязано к крестам геоподосновы в файле плана участка строительства, а сами кресты имеют конкретное отношение к плану города и т.д. Вот еще поболтаю: Допустим я архитектор. У меня есть модель каркаса дома. У нее (у модели) есть оси и высотные отметки, которые на отметке 0,000 и пересечение оси 1 с А образуют точку в 0,0,0 модели. Это вообще-то должен быть закон такой. Если тот, кто проектирует теплопункт знает этот факт и может с помощью макроса установить в своем файле данные соответствующие положению теплопункта в модели дома, то я, вставляя такой файл автоматом, сразу получу его на том месте, где его спроектировали и со вставкой мучаться не буду. Мне приносят файлы и они самовставляются в общую модель. Ну разве это не круто? |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
ADT и никаких гвоздей
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Ну, с ADT надо подружится однозначно. Все Арх и текторы ее любят и ценят, но это же тоже только навороченный кад и ссылки там вставлять тоже можно.
Речь ведь о самовставлении. Вот очень часто, если работаешь с файлом непрерывно, в нем накапливается какая-то гадость, что никакими аудитами не вычисляется. Стоит только все скопировать в новый файл и усе становится на рельсы. А когда в файле немеряно всего соединили в кучу - скопировать без пяти-шести фатал-егоров не получается, да и к скопированному уже нет доверия. К ссылке ведь идет обращение один раз - при генерации модели. Она лежит и есть не просит и если в ней лежат ее координаты вставки, то и ладушки. Нет сборочного файла вообще, вы это понимаете? Это же прорыв в моделировании. Все кусочками, но каждый кусочек знает свой шесточек. И делов-то найти параметры вставки, проанализировать их и понять, как их можно смоделировать для вставки автоматом. |
||||
![]() |
|
||||
Вот есть у вас файл, который вы вставили как внешнюю ссылку в другой файл, точнее в этот файл поместили параметры вставки в другой файл. В него можно напихать в словари тысячи параметров вставки в разные, даже именованные файлы. Создаете файл, делаете ему заранее выбранное имя и в него ссылки вставляются так, как запланировано.
Имена файлов и условности с привязкой создаются самими пользователями, главное обеспечить для этого инструментарий. |
||||
![]() |
|
||||
Еще раз обращаю внимание форумчан на данный вопрос.
Если знать, как оси здания расположены по отношению к X, Y, Z пространства модели, где это здание собирается, то внешние ссылки, из которых и состоит модель этого здания можно заранее снабжать данными для их автоматической вставки в модель. Надо сделать макрос, генерирующий такие данные и макрос читающий их с последующим вставлением нужного файла в нужное место сборочного файла. Можно сделать макрос переписывающий данные с уже вставленной ссылки и запихивающий ей, эти самые данные. Испортился сборочный файл - не беда. Открыл чистый и собрал всю модель автоматически. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
ADT, Project Manager. По крайней мере для этой задачи.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Вот живой, свежий пример:
У меня модель дома, ну очень подробная. более 200 файлов внешних ссылок. Я естественно все не кручу и даже то, что вижу - подрезаю Xref-ом, а тут один ряд надо было переименовать. Есть у меня такой макрос от Kpblc-a, ну о-очень классный. Я взял и переименовал один ряд не выключая подрезки и ... Все переименовалось, правда ряд стал виден весь, без подреза, но не это самое главное. Когда я выключил подрез, то те ссылки, которые полностью попали в зону затенения включаться отказались. Слава аллаху я перед этим эксперементом сейвился. Файлец я сохранил под другим именем и если кто хочет, могу выложить его и те файлы ссылок, что не хотят высвечиваться. Если бы у меня в ссылках были данные их вставки - заново бы все пересобрал в чистом файле и вся песня. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Лично у меня сейчас шансов нуль принять участие (максимум, на что способен - созерцание). Если хочешь, попробуй сделать все это в ADT. Там сборочный файл создается за 10 секунд. Правда, при условии, что подготовительная работа выполнена верно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Kpblc, ты либо читаешь мои опусы под конец дня, когда голова как переполненная мусорная корзина, либо я думать и писать стал на языке, который только сам и понимаю.
Какой ADT? Какой Project Manager? Как можно собрать модель, если в файлах внешних ссылок нет данных для их вставки, а сборочный файл умер!!! И баки его умерли!!! и sv$ умерли!!! Точнее, что еще хуже - они не умерли, а в основном файле случился кризис, который плавно перескочил в sv$, а бак - старый и в нем нет нужных ссылок, и в него влезла кака. Ссылок на том месте, на котором они должны быть нет. Откат короче обломился. Дня на два. Представляешь, вставил пару ссылок в чистый файл, поковырял их, и файл этот убил. Зачем он нужен? В новом файле новую часть конструкции собрал, сделал все что надо с ней и готово. Я пока загружается модель, где 2\3 ссылок не введены - успеваю кофе налить. Они все равно все грузятся, хотя все Unload. От перечня введенных и не введенных ссылок рябит в глазах. Поверь, я правильную штуку придумал. Делов-то вставить ссылку в файл, да хоть в 0,0,0 и переписать ей координаты вставки, которые прочесть из нее же. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
В сам файл внешней ссылки пытаться записывать такое положение - бессмыслица ИМХО. Надо записывать внутрь ini-подобного файла, откуда потом и читать (кстати, ADT живет по аналогичному принципу, но там наворотов намного больше). Если сырость библиотеки не пугает, то можешь попробовать lsp, что в аттаче
Архив обязательно предварительно загрузить! --- Добавлено: Код особо не гонял. --- Добавлено 2: И тишина... ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 21.12.2007 в 11:55. |
|||
![]() |
|
||||
Ты не надейся, тишины не будет. Спасибо за библиотеку (2-ю по счету) и за лисп. Я как только на каникулы уйду - ими воспользуюсь в полную меру. В смысле покурочу и приспособлю.
А пока я буду крушить твое предложение по поводу ini. Да, ini более защищен от всяких случайностей, но кто его должен создавать? Если на каждую внешнюю ссылку по 1 ini - я согласен, а если один ini на всю модель - никогда! Есть рабочее место, где стоит комп и в нем макрос, собирающий модель. Никаких ini там нет. На это рабочее место из разных источников поступают локальные файлы и файлы ini к ним. Макрос их читает и собирает модель. Можно сделать сборку ini файлов в кучу, а потом уже сборку модели. Но только так и не иначе должна собираться модель. Я еще не смотрел твой ini генератор, поэтому мои высказывания считай как реплика в ответ на твои высказывания. Поскольку в строительстве все взаимосвязано, то положение одного тела в пространстве другого всегда можно точно предопределить не вставляя это тело туда практически. Если при сборке элементы не будут совпадать точно, то это говорит, что что-то не так и это тоже польза. Я скоро подробнее посмотрю твой лисп и отпишусь. |
||||
![]() |
|
||||
Если каждый файл внешних ссылок имеет свой ini файл, то это решает проблему переноса модели с компа на комп. У меня модель (повторюсь в 100-й раз) больше 200 файлов внешних ссылок. Если перенести этот файл на другой комп, я даже не представляю ту работу, которую надо будет проделать для того, чтобы согласовать новые пути. А если модель будет самособирающаяся, то тогда путь к файлу внешней ссылки - временная информация.
Жду не дождусь, когда освобожусь и займусь этим. |
||||
![]() |
|
||||
Kpblc, погонял макрос, который ini создает и по нему вставляет ссылки в новый файл.
Файл создался, только Angle= пустой и наверно поэтому ругается. Цитата:
|
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перенос объектов во внешнюю ссылку | Supermax | AutoCAD | 3 | 09.12.2007 21:44 |
Не явный путь задания внешней ссылки | Елена | AutoCAD | 2 | 05.11.2004 00:21 |