Цитата(R.A.S. @ May 13 2005, 16:56 )
Я вот тоже книжку почитал, и понял, что придеться все свои программы переделывать. Всем программистам самоучкам рекомендую. К сожалению, второя половина книги для разработчиков собственных программ бесполезная, и тем кто не умеет читать сходу коды еще и непонятная.
Дочитать до конца пытался, потому как в оглавлении было обещано рассмотрение программ по вентиляции. Но обманули, там только чертежик камеры оказался, и написано что он создан методами ruСаdа.
Понял я также, что подход у уважаемого ShaggyDoc такой же как у уважаемого Алекс_Глoz. Только используются не Dcl-окна, а XML-меню. Т.е. имеется набор элементов, из которого мы выбираем, что в данный момент нужно вставить (шумоглушитель, дроссель-клапан, отвод, тройник и т.д.)
Но, уважаемый ShaggyDoc, Вы же сами в книге так замечательно пишете о разумном подходе к использованию диалогов и окон. Мне кажется что Вы зря так увлеклись автоматизацией всего процесса. Это, по моему, болезнь всех больших приложений. Много ли нужно времени, чтобы изобразить дроссель-клапан? - нарисовать 3 линии и один кружочек. Или шумоглушитель. Тем более, если догодался уже сделать блок единичного размера. Зачем же просить пользователя, например, нарисовать стояк в плане, а не точку, или радиатор в схеме, а не прямоугольник, или дроссель-клапан, а не три линии и кружочек. Да еще при этом заносить все в большие висячие XML-меню, в которых только на поиск нужного элемента потребуется секунд 20. Зачем так избегать стандартных средств Автокада?
На мой взгляд, автоматизировать нужно только до тех пор, пока это сокращает затрачиваемое время. Создавать программы только если нет аналогичных стандартных автокадовских (например, не нужно писать спец. программы вставить шумоглушитель, вставить дроссель-клапан, и т.д. если есть вставить блок).
Кстати, уважаемый ShaggyDoc, может вы и по моей проге пройдетесь, а самое главное по подходу. Выкладывал ее, по моему, на второй странице.
Вы очень точно обнаружили место, в котором все время приходится идти на компромиссы - наличие многих разветвлений в XML-меню или нескольких быстродоступных "кнопок".
Здесь приходится экспериментировать. XML-меню технически позволяет весь Автокад со всеми "довесками" спрятать за одной кнопкой. Мы разбиваем на разумные разделы. Например сейчас деталировочные чертежи трубопроводов разрослись настолько, что меню загружется до 3 секунд. Это уже многовато, поэтому выделяем из них отдельно арматуру, пластмассовые трубы и т.п.
А что и как разделять - только по мнению пользователей. Они это сами научились делать и уже естественным отбором складывается условно-оптимальная компоновка. Которая наверняка еще будет не раз изменяться. И не забывайте, что у каждого есть свое меню, а любое меню всегда раскрывается в нужном месте, так что 20 секунд выбирать придется только если вдруг резко перейдете от рисования труб к КИП.
По поводу простоты "кружочков", шумоглушителей и прочего.
Конечно, это очень просто сделать и стандартными способами. И блоками. Тем более единичными. Кое-что (более сложное) приходится делать программным путем - например фасонные части для аспирационных воздуховодов, сочетаний которых очень много. Но основной упор - именно на блоки, но не просто их вставка, а формирование программным путем из отдельных элементов трубопроводов и воздуховодов. С возможностью создавать на уровне XML "программы" из собственных блоков - даже на уровне подготовки "смышленая тетка".
Возьмем самое простое - точка-стояк. Проблема не в том, что ее не могут нарисовать кольцом или блоком, а в том, чтобы все они были единообразны и пропорциональны (диаметр в зависимости от масштаба печати). Вот единообразие и поддерживается программно. При этом единичный блок "черной точки" используется множество раз в разных разделах.
Да, времени нарисовать кружок кольцом нужно немного. Но когда это делается сотни раз за день, то удобнее выбрать в меню "стояк", а не задумываться о команде, диаметрах кольца. Кстати, стояк настолько популярен, что он теперь сидит на кнопке. На стандартном средстве. Но в системе уже более 15000 "пунктов" во всех разделах и никакого места на экране для стандартных кнопок не хватит. Только за последнюю неделю добавилось несколько сотен фитингов, например.
По поводу того, что не попало в книгу. Да просто места в издательстве не дали. И так получилось 1300 страниц. Предполагали выпустить вторую часть с более подробным разбором именно специальных программ, но издательство на это не пошло.