Ведомость дефектов автомобильной дороги

При необходимости подсчёта стоимости ремонта и определения видов дорожно-строительных работ, выполняется ведомость дефектов автомобильной дороги.
В ведомости, в обязательном порядке должны быть отображены следующие моменты:
1. Попикетная привязка.
2. Промеры ширины проезжей части и обочин. Как правило выполняются через кратные промежутки и в местах явного изменения геометрических параметров.
3. Попикетная привязка существующих дорожных знаков.
4. Описание состояния и геометрических параметров искусственных сооружений. Необходима привязка начала и конца или оси сооружения.
5. Попикетная привязка основных дефектов. Следует отметить, что если на покрытии имеется частая сетка трещин или ямочность на большой площади, достаточно указать только начало и конец участка, указав шаг трещин и процент разрушения покрытия. То же относится к обочинам и тротуарам.

Читать далее «Ведомость дефектов автомобильной дороги»

Добавление столбцов и строк в таблице Word

Для добавления новых строк и столбцов необходимо навести указатель мыши на линию между строками или столбцами сбоку таблицы. Появиться значок “+”. После нажатия на него будет создана строка ниже значки или столбец справа от значка.

Есть ещё один способ.

Читать далее «Добавление столбцов и строк в таблице Word»

Оценка прогнозируемой безопасности движения на пересечении автомобильных дорог в одном уровне

Рассмотрим на примере, каким образом определяется безопасность пересечения, согласно методике, изложенной в ОДМ 218.4.005-2010 “Рекомендации по обеспечению безопасности движения на автомобильных дорогах”.

Для определения возможного уровня аварийности конфликтной точки (пересечения), существует специальная формула.

Читать далее «Оценка прогнозируемой безопасности движения на пересечении автомобильных дорог в одном уровне»

Динамический блок “барьерное ограждение”.

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

Читать далее «Динамический блок “барьерное ограждение”.»

Добавление таблицы в Word

В этой статье освещены вопросы добавления таблиц в документы Word.
Чтобы добавить таблицу, в ленте перейдите во вкладку “Вставка” и нажмите “Таблица”. Откроется выпадающее меню.

В верхнем поле нужно мышкой показать, сколько столбцов и строк должно быть в таблице. При этом, таблица сразу же будет показана в документе. Затем нажмите левой кнопкой мыши и таблица будет добавлена в документ.
Если же поля из 10 строки и 10 столбцов недостаточно, нужно нажать “Вставить таблицу”. Откроется диалоговое окно.

В данном окне можно указать необходимое количество строк и столбцов, а так же указать, должны ли столбцы быть выравнены по ширине листа или иметь заданную ширину.
Так же возможно запомнить этот шаблон для таблиц, которые будут создаваться в последствии, поставив галочку у пункта “По умолчанию для новых таблиц”.

Работа с документами PDF в Word

Если у Вас возникла необходимость отредактировать документ в формате PDF, но нет специальных программ, не отчаивайтесь, у Вас есть Word.
Для перевода документа из PDF в docx достаточно кликнуть правой кнопкой мыши по файлу и выбрать “Открыть с помощью” – “Word 20хх”.

Во время запуска программы появиться сообщение о том, что преобразование документа займёт некоторое время. Нужно нажать “Ок”.

После завершения операции преобразования документ откроется и будет доступен для редактирования.
Следует отметить, что если исходный документ имеет высокое качество, то и в Word он будет преобразован с наименьшими погрешностями. Текст будет распознан с применением соответствующих шрифтов и размеров, картинки будут вставлены картинками. Если на страницах имеются повторяющиеся элементы вверху и внизу – они будут распознаны как колонтитул.
Вот пример. Слева документ в формате pdf, справа в docx.

Видно что при форматировании к тексту было применено некоторое форматирование в плане межстрочных интервалов и разметки страницы. Так же верхняя часть документа – это колонтитул.

Межремонтные сроки автомобильных дорог и городских улиц

Данных о межремонтных сроках для городских улиц нет. Но есть возможность привязки категорий городских улиц и дорог к категориям дорог общего пользования.
Согласно Примечанию 1 к Таблице А.1 ГОСТ 9128-2013:
– Скоростные и магистральные улицы и дороги соответствуют категориям I и II.
– Дороги промышленно-складских районов сосуществуют III категории.
– Остальные улицы и дороги – IV категория.
Теперь обратимся к межремонтным срокам дорог общего пользования.
– Дороги федерального значения.
В Приложении №4 к Правилам расчета размера бюджетных ассигнований федерального бюджета на капитальный ремонт, ремонт и содержание автомобильных дорог федерального значения в Постановлении Правительства РФ от 30 мая 2017 г. № 658, находится вот такая таблица. В ней всё понятно.

– Обычные дороги общего пользования.
Рекомендуемый расчётный срок службы конструкции дорожной одежды для дорог различных категорий, отражён в таблице П.6.2 ОДН 218.046-01.

В таблице фактически отражены сроки жизни дорожной одежды до проведения капитального ремонта.

Скачать Постановление Правительства РФ от 30 мая 2017 г. № 658 “О нормативах финансовых затрат и Правилах расчета размера бюджетных ассигнований федерального бюджета на капитальный ремонт, ремонт и содержание автомобильных дорог федерального значения”.pdf

Скачать ОДН 218.046-01 Проектирование не жёстких дорожных одежд.pdf

Урок четвёртый: отладка кода (перевод)

Из этого урока вы узнаете как использовать отладчик Visual Studio для пошагового выполнения кода, чтобы следить за выполнением программы; а также отслеживать значения переменных по мере выполнения кода.
Редко с первого раза можно написать отлично работающую программу. Даже если вы не допустили ошибок, которые не позволят Visual Studio создать ваш плагин, вполне вероятно, что вы допустили ошибку в программной логике, которая заставляет выводить неожиданные результаты. Ошибки в вашем коде называются багами, а процесс анализа вашего кода, изучающий ход выполнения программы и значения переменных, называется отладкой (дебагинг).
Чтобы отладить код вашего плагин, вам придётся запустить AutoCAD из вашего отладчика Visual Studio и запустить ваш плагин в AutoCAD*.
* Если вы используете примеры готовых проектов, а не начинаете с нуля и шагов, описанных здесь, предполагается, что вы установили AutoCAD в папку C: \ Program Files \ Autodesk \ AutoCAD 20xx. Если место папки установки AutoCAD отличается, то для отладки завершённых примеров проектов вы должны выполнить следующие шаги.
Это легко сделать в профессиональных версиях Visual Studio – параметр My Project позволяет вам установить исполняемый файл для запуска при запуске отладчика:
Однако этот функционал не отображается через среду IDE Visual Studio. Именно поэтому вы создали свой проект в уроке 1 с помощью мастеров AutoCAD c помощью AutoCAD.NET Wizard, вместо того, чтобы создавать его используя библиотеки классов. Если вы установите правильное расположение AutoCAD в диалоговом окне конфигурации, этот параметр будет создан, даже если вы не можете изменить его через пользовательский интерфейс Visual Studio.
Если по какой-то причине Wizard не установил это корректно или вы решили использовать проект Class Library, вы можете вручную настроить AutoCAD 20xx на запуск отладчиком, выполнив следующие инструкции.
Запуск отладчика
Если вы закрыли Visual Basic .NET IDE, запустите её снова и откройте проект, который вы сохранили в уроке 1.
Чтобы начать процесс отладки, просто откройте меню Debug и выберите Start debugging или нажмите F5. Это запустит AutoCAD 20хх из вашего отладчика.

Вы должны запустить AutoCAD таким образом, чтобы ваш отладчик мог подключиться к процессу AutoCAD, чтобы отслеживать выполнение кода, который вы скомпилировали в свой подключаемый DLL.
Если во время этого у вас открыто окно Visual Studio Community Immediate, вы увидите много текста, пролистывающего это окно. Некоторые части этого текста выглядят страшно, так как содержат в себе слово «error». Не беспокойтесь об этом. Этот текст носит информационный характер – он не означает что есть проблемы с AutoCAD или вашим плагином.
Как только AutoCAD будет готов, загрузите плагин с помощью команды NETLOAD, как в 1 уроке. Однако, поскольку сейчас вы проводите отладку, Visual Studio Community создал «отлаженую» версию вашего .NET плагина DLL. Если вы сохранили свой проект в C:\test, то путь для загрузки бует:
C:\test\KeepAttributesHorizontal\KeepAttributesHorizontal\bin\Debug\KeepAttributesHorizontal.dll
Помните, что DLL, загруженный в 1-ом уроке, находилась в папке bin\Release. Когда вы создадите окончательную версию вашего DLL-плагина, который вы хотите предоставить своим пользователям и клиентам Visual Studio создаст версию для релиза. Visual Studio оптимизирует скомпилированный код с сборке для релиза, чтобы он работал быстрее и занимал меньше памяти. Когда вы хотите отладить свой код, Visual Studio создаёт отладочную версию вашего DLL плагина. Версия для отладки не оптимизирована в плане скорости/памяти, а также содержит дополнительную информацию, которую использует отладчик, чтобы рассказать вам о том, что происходит при запуске кода.
Теперь откройте тестовый файл BlocksWithAttributes.dwg
Контрольные точки.
Теперь ваш DLL плагин готов к отладке. Но прежде чем вы запустите команду KEEPSTRAIGHT, вы должны сообщить отладчику, где вы хотите, чтобы он остановился во время выполнения кода. Для того используются контрольные точки.
В Visual Studio дважды щёлкните мышью по MyCommands.vb в обозревателе решений, чтобы отобразить код и щёлкнуть в любом месте строки:
Public Shared Sub ImplementOverrule()
Далее выберите Toggle Breakpoint в меню Debug (или нажмите F9).

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

Установите контрольную точку для функции TransformBy таким же образом:
Public Overrides Sub TransformBy(ByVal entity As Entity,
ByVal transform As Matrix3d)
Когда AutoCAD обращается к этим методам в вашем коде, отладчик останавливается на этих строках и ждёт, пока вы скажете, что делать дальше.
Выполнение кода.
Теперь пришло время вызвать вашу команду. Введите KEEPSTRAIGHT в командной строке AutoCAD, а затем нажмите Enter. Далее запускается Visual Studio (если этого не произошло, запустите его при помощи иконки на рабочем столе Windows). Отладчик остановлен в ожидании, выделив жёлтым цветом и стрелкой в поле ниже сроки, которая будет выполнена далее. Атрибут CommandMethod сообщает AutoCAD, что он должен запустить ваш метод KEEPSTRAIGHT, поэтому отладчик остановился на контрольной точке, которую вы установили в начале этого метода.

Теперь вы готовы выполнить свой код. В меню отладки Visual Studio есть три способа выполнить свой код: Step Into; Step Over и Step Out. В основном вы будете использовать Step Over – он выполняет строку кода (выделенную жёлтым цветом) в отладчике, а затем переходит к следующей строке. Если строка кода, которая должна быть выполнена, вызывает метод, то Step Over выполняет весь метод. Если вы хотите выполнить вызываемый метод по одной строке за шаг, вы можете использовать Step Into; и вы можете использовать Step Out для перемещения назад (из метода) к коду, который вы первоначально отлаживали.

Так же, как и в меню Debug, вы можете найти значки Step Into, Step Over и Step Out на панели инструментов, а ещё каждая из них имеет сочетание горячих клавиш (F8, Shift + F8 и Ctrl + Shift + F8).

А сейчас нажмите на значок Step Over на панели инструментов. Отладчик перейдёт к следующей строке кода (игнорируя комментарии).

Эта строка является началом условного оператора. Код между If… Then и End If выполняется только в том случае, если логическое условие между If и Then определяется как True. Наведите указатель мыши на текст myOverrule. Появилась всплывающая подсказка с указанием значения переменной.

Чтобы отображать значения переменных, вы также можете щёлкнуть правой кнопкой мыши на переменной в вашем коде и выбрать Add Watch. Теперь переменная и её значение будет отображаться в окне Watch в нижней части экрана.

Отладчик сообщает вам, что значение myOverrule в данный момент отсутствует. Это и не удивительно, так как вы первый раз запустили функцию. На основе информации, сообщённой вам отладчиком, будет ли выполнятся код внутри оператора If?
Правильно – будет – так как myOverrule имеет значение Nothing и это True (истинно).
Просмотрите код шаг за шагом, останавливаясь на значениях и свойствах переменных, чтобы посмотреть, как они меняются по мере выполнения кода. Если вы захотите отключить построчную отладку, просто нажмите F5, чтобы перейти к следующей контрольной точке, – это нужно сделать, когда вы дойдёте до конца метода ImplementOverrule ().
Теперь вы закончили выполнение своей пользовательской команды, теперь пришло время отладить запуск программы. Если AutoCAD не запустился автоматически, запустите его с иконки на рабочем столе. Введите ROTATE, в командной строке и нажмите Enter, выберите блок и назначьте точку вращения.
Как только вы выберете точку вращения, отладчик должен дойти до контрольной точки переопределённого метода TransformBy. Просмотрите этот код, проверяя значения переменных по мере прохождения по коду:
– Обратите внимание на значение переменной, которое передаётся функции. Отладчик сообщает что тип AttributeReference – переменная типа Entity содержащая объект типа AttributeReference. Помните о том, что вы узнали о наследовании в третьем уроке.
– Наведите курсор мыши на переменную. Нажмите на значок «+» слева от значения переменной во всплывающей подсказке, чтобы развернуть её окно. Так можно запрашивать общедоступные свойства этого экземпляра класса Matrix3d, который сообщает вам значения для каждого элемента матрицы, а также систему координат, представляемую матрицей. (Не переживайте, если вы не понимаете матричную геометрию – здесь вы можете просматривать свойства переменных в отладчике).
– Проверьте значение свойства attRef.Rotation непосредственно перед и после выполнения этой строки кода.
Если вы нажмёте F5, то обнаружите что AutoCAD вызывает TransformBy (). Это связано с тем, что AutoCAD закрепляет объект – он преобразует вставленный блок каждый раз, когда вы перемещаете мышь. Нажмите на строку, в которой вы добавили контрольную точку для функции TransformBy (), и нажмите F9, чтобы отключить её. Нажмите F5 ещё раз, и отладчик отладчик отменит остановку AutoCAD. Завершите команду ROTATE, щёлкнув в окне чертежа, для выбора угла поворота.
Наконец, снова вызовите команду KEEPSTRAIGHT. Проверьте значение myOverrule в начале инструкции If и посмотрите, как отладчик идёт по другому пути через ваш код во второй раз, когда вы запускаете этот метод.
Когда закончите экспериментировать, выберите Stop Debugging в меню Debug, чтобы закрыть AutoCAD и завершить сеанс отладки.

Поздравляю! Теперь вы знаете как совершать отладку проекта в Visual Studio.
Дополнительное упражнение.
Чтобы потренироваться с процессом отладки, создайте новый проект плагина и вставьте нижеприведённый код в MyCommands.vb. Код основан на примерах, рассмотренных в уроке 3, для демонстрации концепций объектно-ориентированного программирования. Запустите новый проект ObjectOrientedSample.
– установите контрольную точку в начале метода Test ();
– запустите AutoCAD из отладчика;
– загрузите при помощи команды NETLOAD ObjectOrientedSample.dll из подпапки проекта bin\debug.
– Запустите команду RUNTEST в командной строке AutoCAD, а затем используйте операции отладки, которые вы изучили в этом уроке, для изучения исполнения кода и просмотра значения переменных.
Вот код:
Imports Autodesk.AutoCAD.Runtime

Namespace ObjectOrientedSample

Public Class MyCommands

<CommandMethod(“RunTest”)>
Public Sub Test()

Dim pt1 As Point = New Point
USe Step Into on the next line to step into SetLocation
pt1.SetLocation(10, 10)
Dim xVal1 As Integer = pt1.X
pt1.X = 9
Dim xVal2 As Integer = pt1.X

Dim pt2 As NewPoint = New NewPoint
SetLocation, X and Y are inherited from Point class
pt2.SetLocation(20, 20)
Dim xVal3 As Integer = pt2.X
pt2.X = 9
Z is new to the NewPoint class
pt2.Z = 12
Dim pt3 As Point = pt2
pt3 is variable of type Point, but holds an object of type NewPoint
End Sub

End Class

Public Class Point

Private mXCoord As Integer
Private mYCoord As Integer

Public Sub SetLocation(ByVal x As Integer, ByVal y As Integer)
Me.mXCoord = x
Me.mYCoord = y
End Sub

Public Property X() As Integer
Get
Return Me.mXCoord
End Get
Set(ByVal value As Integer)
Me.mXCoord = value
End Set
End Property

Public Property Y() As Integer
Get
Return Me.mYCoord
End Get
Set(ByVal value As Integer)
Me.mYCoord = value
End Set
End Property

End Class

Public Class NewPoint
Inherits Point

Private mZCoord As Integer

Public Property Z() As Integer
Get
Return Me.mZCoord
End Get
Set(ByVal value As Integer)
Don’t accept negative Z values
If value >= 0 Then
Me.mZCoord = value
End If
End Set
End Property

End Class

End Namespace

Создание блоков AutoCAD

Здравствуйте. Сегодня поговорим о блоках AutoCAD и как их использовать для автоматизации создания чертежей.
Блок – совокупность любых элементов и их зависимостей. Так же блоки могут содержать в себе другие блоки.
Рассмотри принцип создания блока на конкретном примере.
Создадим блок ж/б кольца в разрезе.
koltso
Чертить следует в масштабе 1:1, чтобы в последствии не было путаницы с масштабированием.
После того, как все необходимые элементы показаны, нажмём на кнопку “Создать” (Команда: БЛОК).
sozdanie-blokov
Откроется окно “Определение блока”, в нём нужно выполнить следующие действия.
1. Ввести имя блока.
2. Поставить галочку напротив параметра “указать на экране” базовую точку, либо ввести координаты базовой точки.
3. Поставить галочку напротив параметра “указать на экране” объекты. Убедиться что включен параметр “Преобразовать в блок”.
4. В блоке параметров “Поведение” рекомендую включить (поставить галочку) только параметр “Разрешить расчленение”, так как вопросы аннотативности и масштабирования решаются для каждого чертежа индивидуально.
5. Единицы блока стоит настраивать в соответствии с единицами конкретного чертежа (или не трогать).
6. При необходимости можно добавить ссылку с описанием блока, нажав кнопку “Гиперссылка…”.
7. Настоятельно рекомендуется дать “Описание” блока, на случай если с ним будет работать кто-то кроме Вас.
8. Нажать “ОК”.
opredelenie-bloka
Появиться окно “Блок – объекты не выбраны” (Это окно появиться, если Вы предварительно не выбрали элементы, которые должны войти в блок, перед нажатием кнопки “Создать”). Нужно нажать на кнопку “Выбрать объекты” и выделить нужные объекты. Далее нажать Enter.
Снова откроется окно “Определение блока”. После нажатия клавиши “Ок”, программа попросит указать базовую точку на экране. После этого действия блок будет создан.

Создание горячих клавиш в AutoCAD

В AutoCAD уже настроены несколько горячих клавиш, но их количество слишком мало для продуктивной работы. К счастью, в AutoCAD есть возможность быстро добавить необходимые горячие клавиши часто используемых программ.

Зададимся целью создать сочетание быстрых клавиш для команды “Полилиния”
Для этого нужно в Ленте выбрать вкладку “Управление” и нажать кнопку “Пользовательский интерфейс”.
polzovatelskij-interfejs
В открывшемся окне “Адаптация пользовательского интерфейса” во вкладке “Адаптация” находится дерево функций. В нём находим пункт “Горячие клавиши” и раскрываем его. Затем раскрываем пункт “Клавиши быстрого вызова”.
adaptatsiya
Далее в окне поиска списка команд вводим название команды “полилиния” (1). Зажимаем левую кнопку мыши и перетаскиваем объект в перечень клавиш быстрого вызова (2-3). В блоке “Свойства” напротив надписи “Клавиши” нужно нажать на кнопку с изображением 3-х точек (4).
dobavlenie-kalvishi
После открытия окна “Клавиши быстрого вызова” достаточно нажать удобную Вам комбинацию клавиш и она будет вписана автоматически.
klavishi-bystrogo-vyzova
Теперь нужно сохранить все изменения.
Вот и всё, теперь можно использовать в работе новую комбинацию горячих клавиш.