|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
перенос данных из МТекст в таблицу автокада
Регистрация: 27.07.2010
Сообщений: 13
|
||
Просмотров: 10216
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Для начала - в сторону предоставления образца
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А вот теперь еще надо понять:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Передайте привет тому кто это рисовал, что бы то что делаете в ручную делалось само "на счет раз". Надо сильно поработать над форматом чертежа (одно только рисование на листе, вне области листа - чего стоит) а именно - перенести все кабели на отдельный слой, обрисовать их полилиниями, оборудование сделать в виде блоков с атрибутами, тогда да. А в Вашем варианте извините - предварительной работы (то что описанна выше) больше чем основной - компьютер не умеет догадываться где тут рамка, а где кабель, что там с пересечением кабелей? какие допуски? где искать описание кабеля или оборудования (слева? справа? сверху). Если Вам чертежи дают в таком виде - а Вы за это платите деньги - намекните чтоб они давали их в "нормальном" виде - а не "взорванном". Я не поверю, что их так изначально рисовали.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
ИМХО, Написать лисп, который бы автоматически создавал бы таблицу по указанному образцу если и возможно, то “ОООчень” не просто, во всяком случае, при таких исходных данных. Как, например программно, при большой насыщенности разобрать, что надпись над линией относиться именно к этой линии, а не к соседней. Даже если для этого примера и можно будет написать алгоритм, то с высокой долей вероятности на следующей же схеме алгоритм перестанет работать, или еще хуже отработает с ошибками, которые трудно будут выявить. Вам придется перепроверять результаты каждой работы алгоритма, что займет еще больше времени, чем заполнение таблицы вручную.
Как вариант возможен такой подход работы лиспа: 1. Указываете мышкой текст с данными Порт A 2. Указываете мышкой текст с данными Порт B 3. Указываете мышкой линию соединения и надпись над линией 4. Нажимает Enter сформированные данные занеслись в строку таблицы после каждого указания текст и линия подсвечивается каким-то цветом, что бы было видно обработанные данные поправка в п.4 : линии соединяющие порты указывать не надо, указываем лишь текст надписи над линией Последний раз редактировалось TararykovDG, 27.07.2010 в 16:19. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Нажмите на кнопочку вставить блок и посмотрите - там среди "мусора" есть и "рабоиче" блоки - но в чертеже их нет (есть но в взорваном виде). Это классика кто-то не хочет чтоб воспользовались "его великими наработками" (не понимаю того, что они кроме как ему, как правило, никому нахрен не нужны) и скорее всего рисует нормально - а Вам отает взорванную копию (при том не умело очистив чертеж). Я этого бреда не понимаю и сталкивался с ним не однократно. А пытаться делать по "этому" какую-либо автоматизацию, из-за тараконов "того" парня - считаю принципиально неправильной позицией, да и даю практически 100% гарантию, что лисп написанный по этому образцу обязательно запнется\ошибется\руганется на первом-же 10-ке "аналогичных".
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 27.07.2010
Сообщений: 13
|
Да нет парни, как говориться - "это долгая дорога в ДЮНЫ" Я полностью согласен с ДИМА_, что надо раисовать изначально правильно. Единственное, что меня удручает, когда я обо все об этом скажу боссу он в свою очередь скажет - "Так покажи им как надо рисовать..." Для начала про блоки с атрибутами а можно поподробней? Или где почитать?
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
на этом форуме тем по данной тематике тьма-тмущая - поиск.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
Задача не такая и сложная, при элементарных правилах оформления (разнесение по слоям и кабель единая полилиния, а не набор сегментов). просто найти ближайший мтекст к началу, концу и всей полилинии. (однозначность ближайшего мтекста тоже можно записать в правила оформления, тексты разъемов, кабелей, оборудования разнести по слоям). единственная сложность - кабели состоящие из нескольких частей
зы. лисп не знаю и реализовать не смогу)) |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
Цитата:
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
напишите мне на любом языке программирования как определить "ближайщий" объект "ко всей полилинии" - задайте ее как угодно, вершинами, векторами и т.д.
р.с. представте себе железную дорогу Москва-Владивосток, к чему она ближе к Москве, Владивостоку, Воронежу, Белгороду? А главное на сколько?
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
Цитата:
зы. если Вас нужда заставит идти пешком из Воронежа, а затем из Белгорода до путей трассы Москва-Владивосток, чтобы сесть на поезд, думаю вы пойдете по кратчайшему пути и заранье будете знать сколько вам нужно пройти. ![]() |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
У Вас "квадратики" с надписями соединены набором из отрезков и дуг, надобы, чтоб все квадратики стали блоками (а надписи - их аттрибутами - только останеться решить какими блоками - простыми или динамическими) - и строго (ну с небольшой погрешностью) от точки вставки (или специально отмеченного ориентира (разъема?)) блока шла целиковая полилиния до другого блока. Причем кабель должен лежать в отдельном слое. Тогда в награду Вы и получите "абсолютное лентяйство".
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 27.07.2010
Сообщений: 13
|
Как раз сейчас на этом небольшая заминка пытаемся сделать кабель в виде динамического блока что бы проектировщики могли растягивать ее (линию) между оборудованием так как расстояние между квадратами разное в качестве атрибутов взяли номер соединеия и марку кабеля. Не получается пока сделать так что бы линия (кабель) растягивалась... Не подскажите?
|
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
В данном случае блоки - лишнее усложнение. Будут через чур сложные правила для оформления схемы подключения - это оправдает себя если сделать единую програмку для получения всех отчетов из из одного чертежа - например из плана - схемы подключения, кабельного журнала и т.д.
А заморачиваться с хитрым оформлением одного чертежа для одного отчета (блоки... атрибуты... недай бог разъемы ![]() |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Я бы тоже не заморачивался с дин. блоком - с кабелем, хотя возможно.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Файл сейчас проверить не могу, но "навскидку" - с анализа геометрии.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
В таком ключе - но я бы еще четко обозначил место(а) куда подводить кабель(я) - разъем(ы) тем более может статься, что к одной стойке подходит несколько разных кабелей - сигнальный, силовой, земля - то-же кстати лучше разбить по "своим" слоям, но не обязательно программа и по разъемам поймет - это больше для "наглядности" проектировщика (разные цвета?).
Второй аспект - надо как-то обозначить где вход а где выход (то есть как определять порядок в таблице откуда и куда). Возможные варианты - добавить соответствующий атрибут на каждый порт, смотреть по направлению полилинии (но здесь возможны ошибки т.к. человек ее не видит), добавить блок (кружочек?) - начало(или конец) кабеля.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Да. Просто любое обозначение (кружочек?) внутри блока. Программа будет смотреть начинаеться (заканчиваеться) ли полилиния(и) (со слоя кабель) в 0.5 мм от этого кружочка у каждого блока - если да - то куда она идет (в разьем какого блока) - и все это в таблицу.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
>>в 0.5 мм от этого кружочка у каждого блока
ну раз уж так всё пошло - правильно и по уму, то пусть и начинается с этого кружочка, зачем лишние неточности. Вообще разъем внутри блока - плохо. часто нужно их двигать туда-сюда. разъем лучше делать отдельным блоком - и проверсять вхождение в габарит "оболочки" - устройства. Както вперед паровоза получается, правила придумываются, а программы нет. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
То zamtmn:
Цитата:
Цитата:
Цитата:
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 04.08.2010 в 10:36. |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
>>да и в принципе сравнение координат в автокаде всегда надо проводить с допуском
Сравнение координат с точностью Е-5 (а по идее меньше, погрешность привязки больше E-8 я не встречал) я еще понимаю, но никак не 0.5. при радиусе "кружочка" - розъема 0.5-0.75 на плотной схеме вполне может оказаться между соседними разъемами расстояние 0.5-1 и будет путаница. >>По сути так и должно быть. Вначале исходные данные, далее алгоритм - потом программа. По сути да, но тут olegans как я понимаю уже напрягает когото переделывать чертежи по советам случайных товарищей типа меня, без готовой программы. Советы еще поменяются 100 раз, такчто лучше подождать пока появится какой либо код. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Код который делает что? Я более чем уверен, что тем товарищам чертежи придеться не переделывать, а просто не портить (взрывать) перед сдачей, ну и максимум - немного подправить - т.к. ничего сверхъестественного не советуется.
п.с. по поводу допусков - это больше не для проектировщика, а для объяснения алгоритма программы - когда человек понимает как программа работает у него и по формату меньше вопросов - браться будет естественно самая ближайшая с определенным допуском. п.п.с я не на этом форуме видел (да и сам "попадался") - когда программа раз 5-10 периписывается, да и первая версия совсем не похожа на последнию и все из-за торопления создать "какой-либо код". Вначале четкая задача, исходные и конечные данные, а код - "на десерт", так сказать, в награду за проделанную работу.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 04.08.2010 в 22:47. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Блоками - анализ геометрии - это то что у тебя в примере - и там предварительной возни на порядок больше нежили "основной". С блоками - все "дешево, надежно и пракично".
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
имеется в виду перебор описаний блоков или вхождений блоков?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
самый простой - штатный экспорт данных в автокаде - узкозаточенный - надо искать по форуму, примеры точно были, вроде я и сам кому-то что-то подсчитывающие блоки выкладывал (по моему там был экпорт в .csv формат, но по сути это не важно). Для начала-бы неплохо понять "чего хочеться".
п.с. http://forum.dwg.ru/showthread.php?t=55324 пример обработки блоков (вспомнил последний), там "экспортирует" в список, автор сам из списка получает нужныю информацию - но точно также - полученную информацию можно "загнать" в таблицы нужного формата, excell, mysql и.т.д
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перенос данных и автокада в эксель | evg76 | Программирование | 31 | 29.10.2013 14:55 |
перенос трехмерки АвтоКАДа в ANSYS | Yurez | ANSYS | 8 | 05.06.2011 20:17 |
Перенос данных из таблицы Автокада в Excel - дубль2 | Таня. | AutoCAD | 1 | 02.03.2009 16:08 |
Вставка фрагментов таблицы из Excel в таблицу Автокада 2006 через буфер обмена - возможно ли? | kp+ | AutoCAD | 3 | 21.03.2008 10:32 |