clip1807

Доп. информация

<< Оглавление >>

Навигация:  ГЕНПЛАН (горизонтальная, вертикальная, благоустройство) > Утилиты генплана > Координирование > Режимы и параметры >

clip1807

Доп. информация

Previous pageReturn to chapter overviewNext page

При первом старте программы текущей устанавливается опция «Угол». Текущая опция запоминается и используется при последующих стартах в данном сеансе работы.

При указании объекта определяется ближайшая к точке указания характерная для координирования точка этого объекта. Определение этой точки зависит от типа примитива и способа координирования («Угол» – две координаты, «Горизонтальная» координата, «Вертикальная» координата).

Считываются координаты этой точки и преобразуются в строку надписывания координат.

В зависимости от способа координирования программа запрашивает у пользователя указать дополнительную информацию.

При способе координирования «Угол» у пользователя запрашивается вторая точка выноски. А при способе координирования «Горизонт» или «Вертикал» запрашивается, где размещать надпись соответствующей координаты (Над\ВНутри\Под\Выноска).

 

«Угол» – координирование углов зданий, поворотов инженерных сетей и пересечения осей круглых и квадратных зданий двумя координатами.

«Горизонт» – координирование, при котором координируются горизонтально расположенные объекты, и надпись координаты располагается горизонтально – вдоль координируемого объекта – фактически координирование координаты Y (для стройсетки это координата А).

«Вертикал» – координирование, при котором координируются вертикально расположенные объекты, и надпись координаты располагается вертикально – вдоль координируемого объекта – фактически координирование координаты X (для стройсетки это координата Б).

«ВТекста» – Эта опция позволяет быстро изменить текущую высоту текста надписывания координат без необходимости возвращения в диалоговое окно. Но при этом, сделанные изменения высоты текста должны быть отражены при возвращении в диалоговое окно по окончанию цикла простановки координат. Т.е., если мы по ходу координирования изменили высоту текста на 2.4, то при возвращении в диалоговое окно там должно уже стоять 2.4, а не старые 2.6 мм (изменения высоты текста (ее уменьшение) бывает полезно при координировании в особо «густых» областях чертежа, в которых координаты начинают налазить друг на друга).

«Отмени» – эта опция последовательно отменяет координирования сделанные в сеансе данного цикла. Фактически выполняется стандартная команда «_.U» (Undo). Единственное, что нужно сделать – это завести счетчик отрисовок, по которому и ориентироваться, чтобы не отменить что-нибудь не касающееся данного сеанса координирования.

Итак, опция «Угол» устанавливается текущей по умолчанию при первом старте программы. При повторных стартах – необходимо предусмотреть, чтобы программа запоминала последнюю текущую опцию и делала ее текущей при последующих стартах программы в текущем сеансе редактирования чертежа.

Опция «Угол» позволяет координировать углы зданий и сооружений, а также пересечения центральных осей у круглых или прямоугольных (квадратных) зданий и сооружений. В ответ на запрос пользователь указывает угол здания, пересечение центральных осей или окружность для круглого здания:

06051712

Далее запрашивается вторая точка выноски:

06051713

Если вторая точка выноски указана пользователем, считываем предварительные координаты X и Y у точки координирования.

Кстати, обратите внимание надписи координат всегда выравниваются по «висящему концу» полочки:

clip3314

Еще одним параметром надписывания координат является величина отступа текста надписи от полочки. Ее, аналогично dL, удобнее всего рассчитывать как коэффициент относительно высоты текста надписей. Как и dL, ее (именно коэффициент) можно внести в дополнительные параметры в диалоговое окно.

Итак, рассчитав таким образом длину полочки, выполняем вставку объекта:

06051715

Примеры координирования с помощью опции «Угол»:

06051716

При способе координирования «Горизонт» или «Вертикал» после указания объекта производится окончательное определение точки для координирования в зависимости от типа выбранного объекта:

- "CIRCLE" > (setq Pnt_1 (osnap Pnt_o "_cen")))

- "ARC" > (setq Pnt_1 (osnap Pnt_o "_qui,_end,_cen")))

- T (другие примитивы ) > (setq Pnt_1 (_qui,_int,_ins,_nod,_nea")))

После чего запрашивается, где размещать надпись соответствующей координаты:

"Координата по оси 'А'  /[Над/Внутри/ПОд/Выноска]  <НАД>: "

или:

"Координата по оси 'Б'  /[Над/Внутри/ПОд/Выноска]  <НАД>: "

«Над» – над линией (точкой) координирования;

«Внутри» – по линии (точке) координирования;

«ПОд» – под линией (точкой) координирования;

А при задании опции «Выноска» у пользователя дополнительно запрашивается вторая точка выноски:

"\nВторая точка выноски: "

Только в случае «Вертикал» выноска и текст на ней рисуются вертикально (угол поворота 90 градусов против часовой стрелки). Вот примеры координирования по опциям «Горизонт» и «Вертикал»:

06051717

Смещение координаты относительно соответствующей оси надписывания выполняется на величину «отступа текста от полочки», описанную ранее при рассмотрении опции «Угол». При выноске все точно так же, как и при опции «Угол» только указывается одна соответствующая координата, которая указывается всегда сверху полочки. Только при опции «Вертикал» полочка рисуется вертикально (см. рисунок). Длина полочки рассчитывается с учетом длины только этой одной надписи, плюс соответственно dL, о котором уже упоминалось.

7) Требования к внешнему виду объекта.

Описав, что должно быть, только теперь приступим к описанию самого объекта – т. е. каким он должен быть. Иначе было бы трудно объяснить, что к чему.

Желательно (и это возможно) решить эту задачу с помощью одного объекта, а не двух, а тем более трех. Думаю, что следует предусмотреть в объекте что-то типа трехпозиционного флага (0/1/2 – Угол/Горизонт/Вертикал) задавая (изменяя) который можно было бы мгновенно изменять отображение объекта. Это было бы здорово.

Нечто подобное можно было бы предусмотреть также и для опций Над/Внутри/ПОд/Выноска для однокоординатных инкарнаций объекта. Кстати, для варианта «Угол», возможно, предусмотреть его вариант без выноски.

Возможно, в точке вставки объекта следует предусмотреть окружность довольно малого диаметра (что-то около 1/10 от высоты текста надписи). Это для того, чтобы сделать более наглядной точку вставки объекта для их вариантов без выносок.

Для варианта «Угол» следует предусмотреть две ручки:

– одну в точке вставки объекта (главная точка, по которой происходит считывание координат). Перемещение этой ручки должно приводить к перемещению (MOVE) всего объекта (при этом выноска никоим образом не должна трансформироваться!), а при завершении этого перемещения объект должен автоматически обновить надписи координат с учетом глобального масштабного коэффициента KOEF_LIN. Для корректного изменения в объекте должна храниться текущая высота надписывания и тип отображения координат, которые должны прописываться в свойства объекта при его создании. Вот тут же возникает вопрос как в этом случае быть с ПСК? Возможно ПСК, в которой происходило координирование также следует записывать в свойства объекта и при определении координат надписывания в случае (MOVE, COPY и т.д.) производить TRANS (преобразование) координат в координаты ПСК координирования.

А вот при таскании за ручку «второй точки выноски» должно приводить к перемещению только горизонтальной полочки, естественно совместно с атрибутами (надписями координат).

Вот пример отображения объекта в варианте «Угол», а также точки размещения «ручек»:

06051718

Как в случае варианта «без полочки» предусмотреть «растаскивание» двух совпавших ручек? Очевидно, сначала оттаскивается полочка, а под ней появляется «ручка» точки вставки.

Возможно у объекта в режиме «Угол» вообще запретить отображение без выноски, а также запретить у всех инкарнаций объекта отображение окружности в точке вставки.

«Регулирование» атрибута при однокоординатном варианте объекта, очевидно, следует сделать через свойства объекта (т. е. из выпадающего списка просто выбирать режим отображения координаты: Над/Внутри/ПОд/Выноска). Если выбирается выноска, то отстраивать ее, «отбросив» на стандартное расстояние в стандартную сторону (например, вправо и вверх на расстояние 5 высот текста или что-то вроде этого).

Расположение «ручек» для вариантов объекта «Горизонт» можно посмотреть на рисунке:

06051719

И ручки, соответственно, для варианта объекта «Вертикал»:

06051720

Кстати, следует отменить «выкусывание» части координируемого объекта (линейного) при варианте расположения «Внутри».

Вместо «выкусывания» следует предусмотреть экранирование атрибутов у объекта, как индивидуальное (выборочное по указанию пользователя), так и глобальное. Т.е. предусмотреть у объекта флаг экранирования (On/Off). Экранирование необходимо, чтобы избежать «перечеркивания» значений координат другими элементами чертежа.

8) Типы объекта.

Все типы используемого объекта мы уже рассмотрели выше. Повторим их:

1) Это тип «Угол» (вероятно все же следует отказаться от варианта без выноски);

2) Тип «Горизонт» (подварианты: «Над», «Внутри», «Под», «Выноска»);

3) Тип «Вертикал» (подварианты: «Над», «Внутри», «Под», «Выноска»).

Вот картинка, на которой приведены все типы этих объектов:

0605171

Обращаю внимание на то, что типы «Над» и «Под» формируются с помощью стандартной величины «отскока» атрибута от точки вставки объекта. В случае «Над» – отскок на dL вверх от точки вставки объекта, в случает «Под» – отскок на dL + H_txt вниз от точки вставки объекта

Тип объека выноска при изменении свойств объекта, например при начальном типе «Над», формируется при помощи задания стандартного отскока второй точки выноски в направлении вправо-вверх на расстояние 5-ти высот текста (эту величину нужно будет подобрать пробным путем).

 

Замечания по правильному формированию строк «Б» и «А» при «классическом» типе надписывания:

 

Примеры строк для «пограничных ситуаций (вблизи нуля)»:

Координата x=105.00 должна координироваться, как 1Б+05.00

Координата x=5.00 должна координироваться, как 0Б+05.00

Координата x=0.00 должна координироваться, как 0Б+00.00

Координата x=-5.00 должна координироваться, как 0Б-05.00

Координата x=-105.00 должна координироваться, как –1Б-05.00

Координата y=105.00 должна координироваться, как 1А+05.00

Координата y=5.00 должна координироваться, как 0А+05.00

Координата y=0.00 должна координироваться, как 0А+00.00

Координата y=-5.00 должна координироваться, как 0А-05.00

Координата y=-105.00 должна координироваться, как -1А-05.00

Картинку см. ниже:

0605172

Примеры координирования.

Предлагается одна и та же картинка с образцами координирования типа БА:

0605173

Запись 5А+55.28 означает координату y=555.28

Запись 2Б+61.50 означает координату x=261.50

И так далее по аналогии.

В «западном» варианте вместо «Б» проставляется «x=» и далее идет значение этой координаты безо всяких трансформаций. Для «А» проставляется «y=» и далее значение этой координаты. Кроме того, обратите обязательно внимание, что в этом случае координата X записывается верху полочки, а координата Y внизу. Эта же картинка, но с координированием типа XY:

0605174

Для «перевернутого варианта – для записи «x=» подставляется считанное значение координаты Y, а для записи «y=» подставляется считанное значение координаты X.

Ну и в варианте «User» (4-й по счету) пользователь сам сможет указывать, что именно будет прописываться перед значением каждой координаты:

- «y-1 = »;

- «m »

- «»

- и т.д.

===

- В строительной сетке делаем координирование. Блок с подписями координат не переносится.
На двух машинах установлены абсолютно одинаковые версии: на одной машине блок с координатой можно перенести (подсвечиваются все ручки),
На другом компьютере невозможно перенести подпись. Блок отрывается и сдвигается целиком. С чем связана данная проблема?

 

- Это связано со значением системной переменной Автокада – "GROUPDISPLAYMODE". В первом случае она равна 0, во втором случае – 2.

Установите значение переменной как Вам нужно.