![]() |
||
![]() |
![]() |
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 177
|
Цитата:
![]() Цитата:
![]() |
|||
![]() |
|
||||
В принципе, есть, минимум, два варианта:
1) участок до разветвления дать одной полилинией, к которой привязать столько соответствующих записей расширенных данных, сколько она отображает "кабелей", 2) участок до разветвления дублировать графически столькими полилиниями кабелей, сколько их есть. Я сторонник первого варианта. Ничто не мешает к одному графическому элементу привязывать несколько записей расширенных данных. В данном контексте - определять элементы как типы объектов. Т.е. как кабели, стены и пр. В том числе одну линию можно таким способом определить не только как несколько однородных объектов, но и как разнородные объекты. Допустим, в каких-то случаях те же кабели и каналы для них можно отобразить одной линией, определив ее и как кабели, и как канал. И т.п. Цитата:
Цитата:
Если же встроить в сам CAD процесс определения элементов, сделать неразрывным графику и семантику, то не нужно отдельного процесса определения - выбрал черчение круга с обычной кнопки/команды CIRCLE, в меню появится объект "окружность_N", изменил это название на "бочка", и черти круги==бочки пока мышь не сдохнет. В другом файле подгрузил этот файл описания объектов, раздал сотрудникам, субподрядчикам и пр. этот файл описания - и бочки чертятся у всех одним примитивом, в одном слое, цвете и т.п.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 24.06.2016 в 03:35. |
||||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,378
|
Цитата:
![]() А вообще на работе последние лет 5 так и работаем, базовая линия стен имеет некоторое описание (армирование, выпуска, диаметр труб) и по этим линиям и описаниям создается спецификации. Все в базовом автокаде. Я внимательно слежу за дискуссией, но последнее время перестал понимать суть... |
|||
![]() |
|
||||
Цитата:
Одно из полей во всех таких записях можно специально отвести под идентификаторы типов объектов. Где будет записано название типов объектов - "кабель", "стена", "бочка" или т.п. Т.е., если в CAD сразу соединить графические элементы с их описательными данными, то чертеж из модели графической превращается в модель "информационную". Причем, без особых дополнительных усилий пользователя.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 177
|
Цитата:
![]() ![]() Цитата:
Но мне кажется что АлексЮстасу хочет, что бы в свойствах любого объекта можно было добавлять свойства, типа кнопку нажал добавилось поля, присвоил имя полю, дал значение и потом этот объект копируешь вместе со свойствами. Потом фильтр запустил поиск по свойствам и нашел что нужно. Это конечно было бы удобно, только для поиска, создания спецификаций, но все что так добавить не будет взаимодействовать с другими объектами, взаимодействие надо описывать от источника до потребителя - серьезный расчет не возможно поместить в таблицу (пример Эксел 2007 циклов нет, в новых не знаю), потому что много циклов, промежуточных величин, анализа. Обязательно попозже прочитаю статью. |
|||
![]() |
|
|||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,453
![]() |
АлексЮстасу
Цитата:
Причем привязывать не просто текстовые значения а типизированые данные: целые, вещественные, ссылки, и главное перечислимые типы Цитата:
Boxa Цитата:
Цитата:
|
||||
![]() |
|
|||||
Цитата:
И не оч. понимаю, а каким элементам чертежа не нужно определять, что они отображают? Цитата:
Цитата:
Или Вы как-то иначе определяете, что вот эта полилиния - стена, а эта - кабель? Как вообще без этого? Как это - все равно? В каких случаях это может быть все равно - кабель начерчен или стена? Цитата:
У меня суть такая - пытаюсь поделиться идеей с автором CAD, как можно было бы построить или модернизировать CAD за счет черчения сразу и всегда "объектами", а не графическими элементами. Под "объектами" я понимаю здесь графические элементы, идентифицированные с помощью расширенных данных как типы объектов (кабель, стена, бочка и т.п.), и с возможностью определять в расширенных данных значения их характеристик (толщина стенок, материал, производитель и пр.). Уже вроде бы установили, что автор-zamtmn сам давно использует подобный подход, но ограниченно. А так - в основном пытаемся продираться сквозь различия в терминологии, в опыте, в оценках, в задачах и т.п.
__________________
количество моих сообщений не говорит о знании Автокада |
|||||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,453
![]() |
АлексЮстасу
Цитата:
Цитата:
ИМХО то что Вы описываете в статьях имеет смысл в виде "меню стилей" или чертежных стандартов. "Расширенные" данные в него тянуть не надо, т.к. сами по себе эти данные смысла никакого не имеют - нужна программа их обрабатывающая. Логично в эту программу запихнуть и функционал манипуляции данными. Судя по картинкам в статьях - функционал отображения "данных" в окне свойств у вас есть, не "глобализируйте\универсализируйте", решайте свои конкретные задачи |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 8,968
|
Давно пытаюсь подвести Александра к этой мысли - что без обработки данных это все полузаготовка. Т.е., как минимум, должно еще что-то вроде открытого API для упрощенного взаимодействия с массивом данных, занесенных в расширенные данные примитивов. А когда пойдет разговор об обработке данных - то неизбежно всплывет вопрос - зачем хранить все данные в расширенных данных примитивов, когда для групповой обработки их все равно придется извлекать в какую то программную структуру/БД. Так как каждый раз обращаться к примитиву и читать расширенные данные - при большем количество элементов станет слишком накладно.
|
|||
![]() |
|
||||
Цитата:
Во-вторых, если я правильно понял (про компиляцию), созданием примитивов-объектов и их поведением управляет программист, а не пользователь. Соответственно - не гибко, долго, неудобно для пользователей, непредсказуемо. Цитата:
Цитата:
Предлагаю расширить возможности в первую очередь именно черчения, сбора данных за счет идентификации графических элементов как объекты и описания их характеристик. И тем самым превратить чертежи из чисто графических моделей в "информационные", сразу при черчении, задать в унифицированной форме основную нужную информацию об объектах. Благодаря чему будет удобнее, проще решать остальные задачи - то, что вы подразумеваете под манипулированием, обработкой. Исхожу из того, что черчение==создание моделей - это первая задача CAD. Просто технически, хронологически. Очень часто - и главная, и единственная. Последнее - про тех самых примерно 70-80% пользователей, предпочитающих базовый Автокад. Для многих из них (неизвестно для скольких) использование CAD ограничивается процессом вычерчивания и визуального анализа. Да, многие из них (пусть даже большинство) используют самые разнообразные вспомогательные программы для анализа этих моделей, расчетов, подсчетов и отчетов. И разнообразные способы идентификации графических элементов как объекты и описания их характеристик. Так почему бы сразу не обеспечить всех пользователей достаточным способом описания этих данных? Что заметно ускорит, упростит подготовку данных. И в унифицированной форме, что облегчит создание программ обработки и подсчетов. Тем более, что сделать это технически несложно, и ускоряет, улучшает уже само черчение. Да, это меньше, чем все, но это же немало. Вот о том, как решить эту задачу оптимальнее, удобнее для анализа, манипулирования данными и т.п. - это, конечно, вопрос. Например, ваши мнения уже противоречат друг другу - Вы, zamtmn, считаете расширенные данные подходящим средством, а Вы, Сергей812, считаете их неудобными. ![]()
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 8,968
|
уже писал выше - чтобы как то обработать расширенные данные, их сначала надо извлечь. Чтобы изменить одно значение - надо переписывать весь блок расширенных данных примитива. Поэтому идея хранить всю информацию именно в расширенных данных примитива подкупает своей простотой программной реализации, но с точки зрения обработки, формирования взаимосвязей и т.д. требует постоянных обращений к БД чертежа.
|
|||
![]() |
|
||||
Цитата:
А, заодно, есть удобная альтернатива расширенным данным для описания характеристик?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 8,968
|
Цитата:
Цитата:
p.s. может все таки не будем в чужой ветке писать опять про вашу программу?) |
|||
![]() |
|
||||
Цитата:
Если zamtmn не захочет обсуждать перспективность использования расширенных данных, альтернативы им - испарюсь немедленно. Но может же быть и наоборот - вдруг zamtmn идея понравится? ![]() Цитата:
А, вот, что "от расширенных данных все равно не уйдете" вдохновляет ![]() По-моему, пока что они - самое удобное. Начертил что-то - оно уже идентифицировано, уже есть поля для характеристик, уже описаны ограничения для значений в полях. Сразу доступны для выбора по идентификаторам, по значениям характеристик, сразу можно как-то манипулировать. И все предельно компактно, просто - практически не сложнее, чем обычный графический чертеж.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 177
|
Цитата:
задача десятилетия: "описание программы АлексЮстасу" ![]() 1. вам надо создать меню которое хорошо будет общаться с БД, возможно даже показывать картинки(на памяти у меня только tangentools https://yandex.ru/images/search?text...oreask=1&lr=49, но она работала с блоками, а вам лучше БД xml было бы здорово) 2. внутри этого меню сделать кнопки (линия, полилиния, вставить, копировать, создать), выделил элемент из меню (бетонный забор) нажал кнопку "полилиния" определенную, и ей чертишь, со свойствами которые заранее заложены в меню. Выбрал элемент лиственное дерево, вставил или копировал что бы вставка зацикленная была. 3. после всего этого можно уже анализировать весь полученный массив лини с расширениями и ими манипулировать. 4. думаю основные линии трогать не надо(пускай полилиния останется полилинией), а Ваша полилиния будет называться как то по особенному. (Это вопрос для обсуждения вообще не ясно, как лучше нужно по работать что бы понять в любом случаи объединить потом полилинии будет не сложно) Что нужно что бы это сделать, Вам нужны адепты которые будут программировать, не знаю уж на базе чего вы захотите это видеть, но ZCAD не плохая платформа, тем более открытая. Ищите программистов, договоритесь zamtmn что бы разграничить узкие места или как то их решить сообща и проблема решена... Сразу скажу я падаван в программировании, мне такое не под силу и возможности такие не очень нужны, я в первую очередь все равно решаю свои задачи, свои проблемы... Последний раз редактировалось veb86, 27.06.2016 в 10:48. |
|||
![]() |
|
||||
Да, здесь тема zamtmn, и обсуждать здесь не его идеи стоит только в той мере, в какой он заинтересован.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,453
![]() |
Всем здравия.
Давно не появлялся, но проект живет потихоньку. Обдумываю одно небольшое, но очень перспективное нововведение. На данный момент различные дополнительные свойства устройств хранятся отдельно в этих самых устройствах. Например "представление" устройства на схеме автоматизации и "представление" устройства на плане - при изменении например свойства эл.мощности в одном, в другом она останется неизменной, а при изменении например имени одного устройства, они вообще "разъедутся" - станут разными. Надо эти параметры централизовано хранить гдето в одном месте. Варианты: 1 - Централизовано хранить гдето вне чертежа все устройства имеют ссылки на место хранения 2 - Централизовано хранить в одном из устройств на чертежа все остальные устройства имеют ссылки на "главное" устройство, при удалении "главного" устройства "главным" станет другое представление 3 - Ввести новую сущность - определение устройства - невидимый блок, не удаляемый обычными средствами, остальные устройства имеют на него ссылку. 1 - вроде как самый правильный, но затратный, т.к. эту внешнюю сущность надо реализовать. 2 - попроще, на данном этапе не приведет к тотальной переделке существующего кода, в дальнейшем позволит менее болезненно свалить на первый вариант при необходимости. 3 - самый простой в реализации, но кроме "централизации" плюсов не несет никаких. С удовольствием выслушаю, если кому есть что сказать по теме. Да и без темы тоже)) |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,453
![]() |
На пути централизации нарисовались подводные камни. Оказалось что полностью весь набор свойств хранить централизовано не получается, некоторые вещи всеравно нужно хранить "локально" в "устройстве". Изза этого путаница одно и тоже может быть там и тут.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 8,968
|
так для этого и писал
поменяли в чертеже - обновили информацию в центральном хранилище. Поменяли информацию в центральном хранилище - сразу по ссылках обновили информацию в чертежах (открывая в фоновом режиме при необходимости). |
|||
![]() |