создание автоматизированногj расчета
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > создание автоматизированногj расчета

создание автоматизированногj расчета

Ответ
Поиск в этой теме
Непрочитано 30.01.2009, 20:14 #1
создание автоматизированногj расчета
ayur
 
Регистрация: 30.01.2009
Сообщений: 3

Вопрос к "зубрам" AutoLisp
Хочу автоматизировать процесс отрисовки чертежей в части составления(генерации) спецификации(т.е. что бы спецификация генерировалась сама по количеству нарисованного в данном чертеже), подскажите , пожалуйста, каким образом "выудить" объект из чертежа для его дальнейшей обработки(определения длины или количества в чертеже)
может быть какие-нибудь советы
Буду благодарен за любую помощь!
Просмотров: 3140
 
Непрочитано 30.01.2009, 21:23
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Прекрасно. Нарисован отрезок. Куда его в спецификации закидывать?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.01.2009, 08:28
#3
ayur


 
Регистрация: 30.01.2009
Сообщений: 3


благодарю тебя , что спросил.
мой чертеж разбит по слоям, отрисовка линий производится полилинией, каждый тип линий в своем слое, поэтому необходимо чтобы длина всех линий в слое плюс 20% суммировалась и записывалась в спецификацию в какую-нибудь ячейку(например: кабель контрольный КВВГ кол-во м) например в ячеку кол-во.
Также и с остальными. Например:
отрисован у меня какой-либо блок 100 раз в данном чертеже, хотелось бы, что бы его суммарное кол-во(100) записывалось в ячеку кол-во строки "дымовой датчик"
т.е. какие-то допуски должны быть приняты сразу при отрисовке чертежа.
Буду благодарен за любую информацию
ayur вне форума  
 
Непрочитано 31.01.2009, 23:59
#4
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


А какая-то информация кроме количества должна в таблице присутствовать? Типа там ссылка на рабочий чертеж/альбом/каталог, масса элемента/позиции и т.д. Если ты хочешь просто слегка упростить работу (т.е., получить таблицу с кол-вом всех блоков и длиной полилиний послойно, а потом создавать спецификацию ручками с использованием этих данных), то не сложно создать элементарную программку (да их уже и есть немало, в т.ч. на этом сайте). Если же хочешь нажатием кнопки получить готовую таблицу-спецификацию, то посложнее; в любом случае - изучай Vlisp или VBA, стандарт вывода данных в каждом случае свой (т.е. что за таблица, вид-количество столбцов, из каких примитивов должна создаваться - может, объект TABLE, или блок, или линии/текст/Мтекст). Дополнительную информацию по полилинии можно забивать при ее создании в виде, например, XData; для блоков - забивать в атрибуты. Альтернативный вариант для блоков - база данных во внешнем файле, и вся дополнительная информация считывается оттуда исходя из марки...
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 01.02.2009, 12:24
#5
ayur


 
Регистрация: 30.01.2009
Сообщений: 3


В принципе спецификация уже создана, там в столбцах все значения уже забиты, типа наименование датчиков или проводов, ед.измерения и др, хотелось бы что бы при использовании программы суммарные данные прорисовывались в столбце количество. На данном этапе меня бы это устроило. Дальше-больше.
Спасибо!
ayur вне форума  
 
Непрочитано 01.02.2009, 14:37
#6
Donhuan

Проектировщик СС
 
Регистрация: 24.06.2008
Минск
Сообщений: 134
<phrase 1=


C 2006 акада появился объект "таблица" - там можно это (в смысле суммирование) делать без программирования.
Donhuan вне форума  
 
Непрочитано 20.02.2009, 13:08
#7
Main Urod


 
Регистрация: 20.01.2009
Сообщений: 1,170


Сорри, если тема уже потеряла актуальность...
Когда у меня встала подобная проблема в свое время из-за лени вручную писать перечень элементов к электрической схеме, я реализовал это следующим образом:
Все элементы схемы (клеммы, автоматы, реле и т.д.) представляли собой блоки с атрибутами. Помимо видимых атрибутов (позиционное обозначение, номера контактов и т.д.) существовали и невидимые. Точнее видимые, но созданные в слое дефпоинтс. т.е. я их видел, при распечатке их не было. В этих атрибутах содержались данные элемента. Например для реле "finder 55.34.9.024.5000". Когда нужно было создать перечень, запускал программку которая перебирала все блоки, проверяла их имя на соответствие списку (мало ли какие блоки есть еще в чертеже помимо элементов) и заносила их данные (идентификатор и позиционное обозначение в виде точесной пары) в список. Затем список сортировался по позиционным обозначениям. Вставлялся блок листа перечня элементов на свободное место чертежа. Точка вставки сохранялась, что позволяло высчитать начало каждой строчки и графы.
Ну а дальше запускался цикл по количеству точечных пар в списке. Каждая позиция бралась, из нее вычленялось название элемента ("finder 55.34.9.024.5000") и с помощью case смотрелось что с ней надо делать. Т.е. для примера в блоке для реле стояло что для этого реле в первой строке писалось "Реле промежуточное finder 55.34.9.024.5000", во второй "Колодка Finder хххх" в третьей "Диодный модуль Finder хххх". После этого вписывалось позиционное обозначение пеле. Затем брался следующий блок и смотрелось что в нем. Если такое же реле, то включался счетчик, в поле позиционного обозначения вписывалось обозначение второго реле. Затем сравнивали следующее обозначение и так далее пока элемент не будет отличаться от взятого первым реле. После этого в графы Кол. вписывались показания счетчика и цикл передвижения по списку корректировался на количество посчитанных реле. Ну и так дальше пока не заканчивался список блоков. Одновременно с этим контролировалось сколько строчек перечня в листе занято (через координаты с которых писались новые строки) и как только лист заканчивался, рядом вставлялся блок нового листа.

Минус в том, что при появлении нового прибора, нужно было создавать соответствующий блок и вручную прописывать его данные для записи в перечень в лисповский файл. Но это был не коммерческий продукт, а так, личная приблуда.

Подсчет проводов в этой программе не учитывался, все таки создавался перечень элементов а не спецификация, но можно его реализовать создав некий блок кабеля чисто из текста с атрибутами типа "марка кабеля (например КВВГ 3х4)" "Длина кабеля (15)" "обозначение кабеля (ПГ13)" и соответственно заносить их в отдельный список который сортировать по марке кабеля суммируя не сколько раз он подрят в чертеже встречается, а значения атрибута "длина кабеля"

Последний раз редактировалось Main Urod, 20.02.2009 в 13:17.
Main Urod вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > создание автоматизированногj расчета



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти РД по расчетам на прочность 1enin Поиск литературы, чертежей, моделей и прочих материалов 13 08.11.2013 11:50
Ищу ГОСТ Р 52857.1-2007 Сосуды и аппараты. Нормы и методы расчета на прочность. Общие требования ruseng Поиск литературы, чертежей, моделей и прочих материалов 11 14.07.2009 16:25
ГОСТы, СНиПы, ПРАВИЛА и т.д. ki Разное 120 19.09.2007 09:05